P17728 [HackerEarth] Micro has just learned about permutations. So he went to Ravi's room to boast about it. But Ravi is very smart, he instead gave him a problem to solve. He gave him an array A of integers
普及-
题目描述

Micro has just learned about permutations. So he went to Ravi's room to boast about it. But Ravi is very smart, he instead gave him a problem to solve. He gave him an array A of integers of size N. Now Micro has to find a permutation of the numbers such that the number formed by concatenating the numbers of array from left to right is maximized ( see sample explanation for more clarity).

Input:
First line consists of N the size of array. Second line consists of N space separated denoting the array.

Output:
Print the maximum number that is formed by concatenating the numbers of array. (See sample output).

Constraints:
1 ≤ N ≤ 10^5
1 ≤ A[i] ≤ 10^9

SAMPLE INPUT
3
4 32 9

SAMPLE OUTPUT
9432

Explanation

There are six permutations possible:
4, 32, 9. Number formed = 4329
4, 9, 32. Number formed = 4932
9, 4, 32. Number formed = 9432
9, 32, 4. Number formed = 9324
32, 9, 4. Number formed = 3294
32, 4, 9. Number formed = 3249
Clearly the maximum number is 9432

输入格式

见题面

输出格式

见题面

样例输入
100000 373586872 620978519 183898757 930806600 328030063 540208517 693870132 609974813 846758558 854975864 802860422 491579023 481107514 207331561 274309494 948892321 872578714 766783921 390274249 356163426 393606342 42025358 565525177 410241996 380919306 757537513 984932783 444739233 206549356 697615058 329749065 432652579 171109928 513647821 215975530 351656342 906372689 909845662 961631155 753131247 617337877 764491576 97226621 98445390 971823136 371536114 899854063 696918201 138320035 142644663 53081626 384442728 184670020 471123154 794684723 565589325 81177018 632133857 10328558 140242726 182265267 192593974 572895304 353375194 706241794 788870834 705031536 465130834 551232847 519179042 70778432 168570723 136186969 168005053 119532465 108010104 539541166 19386527 657444657 530377552 14547541 563042634 767336631 199217560 886682140 414537706 764806884 967859157 46671562 627651793 108101882 228936828 820245766 533513538 434828374 379003911 322384371 139859909 844134745 873617217 511555302 914913176 894704291 647742270 82918228 14236755 608268725 474975746 886139633 118229733 5353297 900687173 681272367 625206280 99904732 420470858 39743985 717227968 240846366 86415546 344879760 201464600 167868726 17641878 734978137 602697099 396645788 57362507 595073359 240780532 783496075 106628660 8210060 530716717 606887281 91128287 397469824 215156005 566104032 136125808 333385738 423973681 36812981 867174456 49179960 989234064 287645313 941440296 558978383 528491678 880372193 903858143 729956277 48240918 921500020 317450765 503454368 170662159 227329623 951044078 411442691 10825697 910189089 419652750 394058766 517076369 363297388 791528589 584748726 929401420 927654396 918134463 205891452 816983728 637825270 107587763 658734144 925470582 49028058 217712526 306478611 781916602 974087020 888951240 682673872 748103391 206402004 38644591 918765550 433731627 989688669 182724592 297073675 899877757 602377341 691132440 269470478 965674728 335177380 854219203 747592499 262831776 624870017 806000302 79815503 115211638 913588064 591065998 40682219 815132473 808778524 199677181 449565427 635381895 88628420 132239298 383485286 147546776 170883888 154767187 433794754 13088908 337491778 730868428 912966665 939869118 274517220 34953494 758060197 609694599 741689048 358169048 725042726 219075416 16685701 657374581 334287053 930273765 248440578 227485623 597922589 909735453 427162803 47488015 545117348 368307575 32243664 781118985 368370702 55643904 935886171 802165455 68732811 273377948 385550234 981699475 65763417 660067453 869169320 676339965 122278404 610858367 34509012 847321129 829933782 51194713 357212061 16737186 833984829 605652639 244222808 284423769 367904443 671385611 184428136 913021790 892209537 69188151 546657126 260580238 124832054 482543296 62745692 193564865 608437595 300812277 27780691 674201011 960879730 896950011 203057328 935674485 360324729 90082691 635511965 42774863 141277403 992724026 59512048 827778583 450893016 303734856 964718704 818797458 975120466 1663191 584335600 719846354 70851341 130992725 980426591 195683395 466052373 895688634 389248259 74489967 49017262 417028949 601207330 9896991 313978959 804264657 798087827 674303688 894347347 433599792 717078550 888141102 278840169 776590597 568436036 729733184 80325452 533154739 548530641 907962269 534817929 132866240 480324974 605669270 116375317 313267916 801352664 582427689 61472901 43117274 509434007 110490163 460146222 110641336 120387153 774125181 914905992 770991332 300945220 661769691 57107475 870540121 549910792 335947643 499647069 118346827 65680826 432488873 504017918 466727818 192967493 891352198 452110410 673292467 349537819 568485726 986560382 3406834 3429766 48033283 46524107 512863772 158523445 506670329 476021460 131426949 133311861 243443803 902418280 434257080 905213493 959525754 157313552 307640636 147989748 656960620 278503815 213670573 89449492 782521732 680398391 282416985 526390281 132508800 955709451 875928100 553510877 794786184 879334933 409456994 842819466 925859040 922320765 853859262 432529368 250858576 985286211 565841228 494302379 740220842 852614659 399515871 552262948 9928210 707156507 700252695 666888829 985660321 766439620 608854673 620698404 299354362 891271657 147088684 284379513 699497459 875533135 837890389 346799994 754868068 99863734 42135812 533243459 22184498 895995073 965772826 125559426 733797635 384130405 619861804 326534829 89261415 19377674 878797776 99189624 579050532 431566822 618594804 417227204 50522793 227449476 890441959 349877154 971237484 890046995 634256666 523251294 765580129 324663406 870051288 372964548 424527139 912187099 906208006 299227989 808182171 724497183 424787414 394496158 961143939 44649217 721030986 50405353 916543242 452345113 2111328 348110126 883911934 620706132 765337329 934434727 848155607 508295640 136828232 671909443 398342634 771084898 195160736 16439114 95748303 65212023 241920014 520275442 829915473 644371 819503430 490613996 725141554 96807195 885110153 538801844 141456411 606141138 589207197 57999652 58486250 591318524 258626129 794914535 64541007 23963458 581865613 912696614 384775449 718693845 437122408 783118082 342295094 632283143 652073547 438043396 550011518 893993560 810835189 232443342 894637931 482854970 723057337 472295836 579662164 608167489 11097679 721118574 66824978 452821227 631634578 977827579 44139751 890260706 625258466 108680757 766740515 59640430 873893722 4032315 778334274 163532481 787150396 120629367 795815624 291740295 411189115 198343493 185733854 74540655 430786834 80371784 557395625 6360523 405183971 137057788 614528011 416281650 710692714 533869341 869102876 194843643 511696919 765758978 85104348 136955384 726956087 704361215 49112166 453366160 708393529 827446439 616898641 348060277 800592158 265230616 639800571 64297624 316090460 678050776 138838278 746877293 610938912 696233902 753237815 16122882 685808042 220282178 284920883 396500755 754151518 6540111 591344397 118364788 772299088 528965096 107836524 351771526 85842662 156948689 657654038 646752543 836911479 127069030 994812819 490019988 392299645 487129741 554317611 708390104 17696868 545672241 307783748 628635779 94422494 913537915 644758661 780230535 133820092 929679543 29247641 740487961 936219653 620592037 711369100 561035093 2073485 819205623 765322970 87916146 828670663 422977007 587185040 665582142 550046036 434514210 8118481 794862032 921643950 562436092 355768487 939340818 108108332 663552235 420492948 55047177 429606501 65251608 835277712 415942944 847447503 864525352 8947256 636183507 337633741 720316355 49734951 339707225 392038330 815057921 280139722 220708992 90551279 867324762 738807485 493113667 154355323 746925966 287975698 75999273 161878409 643744185 867856442 122503092 159812771 140865741 177550268 589419271 58633701 12827979 5362214 906081203 877353331 14309469 394781061 67503423 587142175 297032364 407210647 979180504 112090284 539866720 52405848 55157914 259707833 791213332 548271580 414063156 538139297 688763630 342578780 700017705 185024166 62951573 822520796 344836936 203817313 71064 786772558 262451013 865415394 644651123 21048567 595285076 511476943 415829628 662788498 98619117 712861991 69999144 77799621 677468626 462382216 130205468 585142891 722090048 773935151 133414471 136153203 164590800 674694452 478731982 864608504 859718617 541683554 539645652 57071904 745500867 392233067 843844461 7951879 110164812 488495583 29000446 705449888 999972525 297346425 368238385 951107993 862724767 290753881 881423965 392709744 753136096 864145784 977852634 327742495 638080935 963783456 463895698 802671734 638477907 795144031 519796589 350712875 189343937 911958592 407784778 934844803 156708010 251629238 795313033 266872822 592641172 676829830 972322709 445130048 826692606 193077445 396238041 689417372 483831325 130178357 82127115 89483772 994324141 912496101 417226267 484921427 876279556 733638316 140109512 367273815 528782346 659906100 717986689 718126282 424381044 125771467 505487436 581089053 229917056 153316821 847961874 822558228 682663002 820284582 120204627 509355608 13362027 516442667 51289331 349709703 646621024 985932798 291709827 493461516 898428898 708936093 978382942 627224805 295090760 118492453 847014971 823873105 630914904 417518012 394515739 55295947 395805830 752519526 636385000 625722885 905836346 336863225 300797464 441015700 9664159 421002091 950371307 23026185 789961109 854176989 225252239 289098484 840109786 516962065 782559999 591055035 78414509 760942940 70796192 373505268 731951744 917811162 49894725 362866648 187845525 296926815 270678946 583651354 49446340 907063945 61890591 807799038 96443522 362688054 248814737 106107680 636206496 51702395 129133864 426167605 905879383 206902454 715266088 598505521 576380871 350342439 42076907 654795379 111285378 112873098 880816999 695753474 883200612 930711723 58620121 71046136 80154889 181815418 507213842 129601228 88879363 569104432 937400265 37839236 931792485 38731353 143946915 420515333 90433747 125597130 846682937 848829482 332499583 414465376 299851354 908880453 764807814 194444612 416192184 728609544 159834062 149525534 276879369 43034673 80237256 188015841 966597160 12908496 369831258 326327353 142509723 311226972 895431784 932426340 349066207 679740621 971157692 493013121 100255953 914107791 618610250 799455241 615453624 951109833 66436968 767821329 712506637 831244782 962265940 981215172 412370677 122100001 130740705 689250045 17651025 63494312 877265885 836764537 76402807 99613494 163091889 71428882 410840466 58523673 3855221 759906672 590780645 827529264 252919793 691036597 594153406 871530042 343008189 62123381 675156226 409445156 829944709 240179215 93206289 792210649 73910738 505576965 766827001 204651443 47343361 784478026 120662106 777125597 473758914 197064913 876739091 636850802 268493794 287579556 547890826 124865366 47486227 138671470 952394629 152922371 682224418 546548035 876968765 25232606 608671415 404641342 287194114 291132476 644820556 380400402 83343124 718731294 885977367 702686476 775899088 785837079 339680853 896561193 562962676 813439766 93626105 292218118 302806920 214636250 579797673 850697745 339501615 479800251 841885567 144412596 485238974 376626336 690960630 362207738 254375294 152148396 766849079 541569407 443280871 264185987 921969808 379140346 835433632 660463526 81826822 611332719 298816957 274024026 360410263 861779632 87463792 306552720 6514101 390270711 521188969 586311773 93484807 713206936 918628375 787886725 857619531 403867348 17029413 401096512 618591437 271404706 553244907 237956868 665490464 849042130 502142854 439976623 80698827 190092837 100440149 15042000 801425555 251773457 289066026 14352169 113553088 376529817 320904888 120067188 619316879 842093857 558895312 712801685 407817144 330040038 353204762 265436674 733907386 370234174 666533185 205015174 641638879 72294443 442972041 159645694 921336572 945114894 599622316 2035399 135207730 552578816 17077398 789149636 804352272 158659775 803501805 770421711 535189591 124406692 743005250 7022821 819016900 154416913 719824506 79350395 484456951 73029267 344787068 70880688 295779792 863836604 275895861 937418670 936131047 718867902 97064363 709983970 516499147 549203030 564535720 504223229 101781846 434129470 145889216 906134117 592789244 949391020 529072180 980495187 926314064 272077429 987518007 597847315 426494342 559858864 677197710 910951292 485404482 874501129 981831979 781184273 738337733 110244191 571119294 526985131 829112092 520700008 89485452 345611239 69903038 506537524 849834467 24201235 940666993 995723682 930335351 385972588 797631054 311923882 218984126 576461469 584001311 206502133 26825135 863012004 766360996 556539196 626479647 104281830 431040325 460827977 885466102 21894409 571072167 456585396 401395891 400184259 977285403 490881342 598311849 899704792 997418865 300662667 923906026 790602209 148902700 706757729 29091149 946533753 18681610 248075274 375511573 455199272 307093758 254853060 318211275 73454754 811392255 944690921 30252935 94948931 258035249 915719036 116843339 829107416 224820783 518239229 81808026 54622538 861636923 680119874 954327329 711572139 980782540 878233355 354690700 129685239 437507435 383781848 928735344 456189044 484373473 156763268 911388316 791467231 411616327 82115942 717438336 223008582 879323215 747691270 317957512 137358463 663410305 287317203 966465878 888231088 805556431 48273903 942853625 519709705 580910128 749697305 231281844 561692667 480447011 585972543 543894258 917954445 822270742 472629601 226659841 306644214 629392868 138048156 98111444 41009195 72680449 668066131 116534128 952003663 415757400 287007991 941878478 931684057 574325193 760860707 672431496 232397976 661650962 467801472 752107680 242561089 217498776 983389523 656770108 697945787 421878417 200664365 468416583 96665510 525810317 695076423 403309724 7719536 685640930 353937519 48728730 758321379 22003650 17779209 562841393 290277401 304787200 357236222 74477809 879112392 118096929 746909304 111510367 779747890 214710775 716134399 874825330 284725903 552040273 531595437 982671689 973918690 584776153 303604623 70584199 110586469 998681046 326410274 118306005 684321975 532864145 19551086 295159705 407384146 37330295 710517450 697661546 194633846 67753671 772139355 926262589 38366951 371565010 890289308 818114840 586275785 606423706 545456522 871001687 10980330 77051958 706189727 984899019 514344463 9794349 907999570 624930931 860991746 86926195 595753287 397830073 619790339 615304373 692989777 27174484 505151019 256023578 577352382 552301216 323777249 202008088 478563804 362144199 573573097 221369463 32775391 12365233 827793168 578231912 735883271 838773498 507800221 294589349 676188868 22144683 156900050 436704789 499591966 17891795 376147336 95345252 415721867 995937674 563165976 961227996 875628510 920833346 217251573 305497243 473134561 393545173 360021682 804214717 755689372 933594778 25584179 640981114 798476363 705893699 71729377 534359633 397183548 579529597 828948982 73372415 454190632 985849031 362593556 806298949 856257177 738740891 754160552 124495396 587194916 169842880 85723391 315339777 90676225 155491315 473353371 416327138 549036488 833375052 220541854 157242211 619486182 98642384 798223324 417962544 804536082 869952700 804838528 201719629 301998648 486303861 127608396 756189279 324669243 342718303 415004579 180926420 81459193 169165131 305421815 521170460 339008010 243661557 689026589 282200586 399152871 162379959 698527723 948189358 995755011 919069576 105431568 467757544 17711960 903654891 885720087 674764393 626123942 543074966 876484022 928122590 29378827 856608769 536828220 354048069 199327071 951832799 387490840 133302615 120997929 692912654 506989426 312522290 936574210 196016014 594722875 188243433 210912325 145766950 136432790 59183687 64836525 94380710 526941230 935064836 998035600 265177668 462345581 476675894 808252633 191345954 404798483 837631459 47954722 941626702 44195880 99798144 745975852 431686719 233100758 719490132 977115725 740090183 32012421 766206286 788622549 479251648 954449718 999534873 625018597 90882508 58718559 542371473 37779569 585659788 329952661 35815168 850837455 792298241 365007413 511606439 983644194 769805895 201754250 884115267 563948949 245950129 983913410 162441152 530153199 69530519 881931284 507268923 809620701 766460056 125991561 450759601 98228055 80441278 450294473 723246651 23840137 361529383 118134476 61619705 947189170 300603488 949951225 650542976 92901728 314958637 14665767 929062273 937280884 216420016 665693891 353746184 462370144 649607300 516187335 992523342 719137818 398118618 352308617 381274870 17095026 478300177 832034471 115323080 411257806 134845295 838569731 435097943 496374678 809220558 349233999 296080199 109824045 299185223 799139527 55242124 466660212 813805293 836820748 403941095 30225308 502514638 757687278 345111803 4638289 126390964 190151496 576292458 524509582 542460112 957567327 541604607 873276640 642118149 656927686 284534446 629479796 348013768 572148740 125854473 9750677 921382738 274451023 119574721 73084313 73590549 27333196 539744524 739912193 864153943 943685618 770137500 219184932 553889247 115249302 223823220 680280210 157917150 800115677 57306143 700377261 610199356 451427101 426170253 104833856 108354787 710704698 734313651 308884906 135369789 712684475 318635583 56752526 839651850 290726655 129836838 765758750 318059851 669581361 505670943 182213793 465783330 128324794 401398725 872188928 96090448 477738296 404985490 254007597 130370325 462291632 806901209 740569680 913718733 233071461 697919887 874589871 796292510 284749890 35991128 931662298 997434364 207143062 988414824 689602565 497869717 970768013 455361315 815929567 492865726 813548609 998143359 958649055 941873402 252058435 683354335 890480201 729796731 88339824 144487797 860167055 403147807 803905358 453253086 169382891 36976818 3689324 43972761 685785680 288439213 932480241 617447977 138389929 139623302 458379152 827992493 637493018 281663517 135870159 305938936 774529242 949418767 156598647 585694648 743808521 408657081 269048982 634288721 990970163 209905157 631292870 703653569 613052964 287714579 9423006 782435854 177207748 13112330 678924967 862993427 301551542 611405207 332957756 439941470 603544860 791336907 267933963 93554230 73000423 403804121 399493165 700046016 205739240 556091811 285740664 949547760 964748892 407305997 436352832 808235406 617211154 67645701 511888975 230264117 207876631 521311980 12699970 385084379 534424309 544141288 248077805 835975851 8062846 581035560 128433672 611607706 224888819 396367634 705161935 150405593 652688107 104655099 850451609 858427346 660746910 988708624 807975105 478012153 396014620 96844288 138763910 13225773 17006341 650652884 96006241 224882971 24481216 961222563 609967349 411421876 505363850 858045154 99914078 513426696 291597065 228347750 125034401 369002235 624715383 682712687 519407828 129919841 787367785 222375788 988347186 300631046 63600763 648838642 631159550 459615382 745682930 769923460 325357507 762689270 273092695 273880099 987572240 297573910 235102661 597539589 708995786 592982863 308101094 808909863 106409558 452214510 37257612 83960310 821216745 514489347 619189348 193140924 644409187 259073484 415516711 485272725 559704530 479117473 134111366 43380431 791249206 879794295 813303890 116606712 494999916 86396585 243003163 482572156 236486846 478105823 932628096 945482631 71088685 93245541 606908846 30014594 545460050 496682809 966491255 366676794 863688507 438196954 559817717 360614046 697270438 827850779 845886770 109491319 159484603 979998135 152871749 950733809 712308782 966175639 919856872 59825049 52572223 162860034 542397204 141575420 493482209 327541651 87058051 417087245 420787191 546483248 299618191 966247241 895682408 118625797 185440386 759370915 556822751 745258103 119984960 254093188 425625233 818388081 363584506 585109836 650902567 516456254 535843644 215727700 335148244 308216867 275552749 240236818 471076901 817949952 381812238 964559109 145491603 321386640 234162705 418795145 867869887 533780895 385042385 616068646 652406692 570482771 227955912 209229442 168257225 200457223 315838981 593882457 18845303 679423486 31508644 669747870 48396091 567352287 885475569 383544335 875569154 13544669 623781152 199162406 831494621 5593389 16237866 829502575 179496380 250400570 100814071 47366266 784181465 485856456 515951264 289104508 908855578 743907175 498333949 77112802 944364398 814172929 523511610 963209700 346112766 555020254 485473921 247025208 974888892 223465842 630569542 702974397 237010510 106867046 902136802 921021482 964976786 770891019 603040408 144473166 21291589 703854479 44355783 657989405 42227286 560307046 947093912 951082863 156730573 297944212 880712016 101094970 964633492 256739977 916821021 163262609 811760230 254811294 410287816 639165474 478277135 40857358 342139870 567803996 240755 96793024 488825478 965217540 867684042 91865885 962207057 741491982 648236715 6562840 251997738 690464000 419386237 51608001 641546862 576116809 202068564 374775229 529728130 166702055 631515206 446549151 329964663 295791787 701360444 740252479 934957260 32153930 633626188 129613482 599957925 486383294 226406505 941299754 304117185 946606898 885681991 266324242 540615232 533918705 125403433 792612969 76899057 397306021 696737322 718445918 973422830 898805885 93221147 355667311 65507940 577252704 802216461 247988954 873044490 356093256 840757784 808001750 240763537 326900323 937615231 840721462 813283616 16538087 634537567 117400801 963144984 520219557 236241394 356276567 906654614 361644826 1405888 983553670 758950846 698143209 554515939 584890027 596949093 500253437 940557338 514973384 77506140 595290150 615478690 950550630 803899758 456236473 611068731 44663294 783136796 401200313 737901107 448936763 270254751 372438674 566337563 85916086 745174582 802578956 442192653 651829195 16740133 443598540 487899216 628207331 141741748 42415155 65613709 591207192 542668591 6171046 106180576 472691083 453977548 574175617 275758064 110393657 30412089 886826794 155056950 666065236 140543458 892958057 115001999 410798208 117913082 533855913 496714293 863087663 188951221 938906945 367433210 58207705 235021836 855332425 686415035 376763583 750263931 752028744 967970775 145448874 610716141 926667702 618139956 64693688 353359670 893898019 27603696 236288110 633241164 182660646 902353346 773784621 928135054 869871696 37099180 46048135 256243960 386329824 761652149 297711532 177753121 981601710 355919237 412774956 689450487 42334271 789538539 439714417 794363014 610025665 585163290 257595507 389209718 55819597 174805546 742569387 949717615 202409242 978857496 582958778 385069887 733727193 209259750 165721292 456115240 98875281 64285778 564875552 485205105 825937926 862587083 662958225 660055988 218506319 75733180 349506474 113356942 717788070 641737242 907719955 180330086 79416884 17831813 569539803 135236480 192637359 164625541 84954095 395046600 995999389 520429224 780116486 582242933 729688974 945837777 38358173 828564254 10123554 455750076 166285710 688577831 318337158 829243934 201150170 389359829 904977114 550656643 502716770 475281535 44910237 262953076 655611621 124327120 280784889 77667775 259563599 473422247 242293316 344517693 868468846 90809056 864946917 501101683 673051988 447152242 299455811 563926512 128232847 162095716 19676587 294518557 850673546 190530097 123762490 51823716 579889925 881255955 454996710 82606694 209053842 499906946 345559769 864665462 624234065 626344657 942333236 883797664 99766903 37142903 80831708 820752100 127951958 798294976 321853782 801003946 97963569 621309592 364930457 226196416 783405307 237123396 373231324 486595205 427653492 349510165 390935272 7543416 83282472 698448333 90150109 292336313 50871631 288226229 157001774 675105695 767087238 99335009 411419710 719370492 136477912 344767770 540122592 116946221 143062745 714492725 917950166 241026314 188318669 135396975 319739081 971723975 372520370 692970404 310835531 800173861 42480568 554287154 807717276 125763039 252735487 750383736 418099351 303607117 891126316 427617476 831229163 658213553 379468837 95165225 230100397 368463100 439932994 770222988 485409320 582995738 337232064 403359486 676538403 525550732 538756460 996277483 349791059 911276829 689247886 660626589 563967041 584244806 67430095 224200668 710007844 320165581 974584403 980623547 476289049 718227070 408241022 307518211 228956975 787709858 402683435 459057371 8689309 842616428 81796710 494098629 278128518 419028773 897458114 954666920 944579505 288730925 803460755 294370563 52524105 345224992 807513503 616491145 929469797 874943597 840691812 491993993 47625529 667792566 472617539 523914577 238535987 733374912 831432788 467492961 373601122 86632574 926550331 382290430 781765354 8347040 876389058 59893871 427375813 626363523 867077142 224471669 915094447 523054248 518842231 820134903 868279240 178872085 289142399 797749036 53815682 129834210 142259380 101441210 650143127 614876918 625355787 888679114 200768182 309304926 208688426 574369303 248453851 135238757 956659732 30219204 143585796 833048790 942629426 423477960 311928664 662222920 647949628 79539463 185277167 19308210 899674365 53556406 198180295 188816764 703821794 104512328 171167325 846081173 205953537 673826804 313474443 683825675 415022269 514242624 993130600 623710694 88611926 94100803 758949450 897788009 124320006 755051598 583353150 66949432 31045909 895281814 581688703 531511889 974821276 766965869 550820098 874495640 673038627 601516744 915828755 229376772 706029071 86996080 927974296 911982608 613339235 93965090 448324634 28361503 608207713 293971586 652072196 549335990 388072388 263537998 299640351 512392393 871105947 882993500 431858176 902151855 778275313 13546878 286180095 605612940 633029099 837000193 332624932 158584077 291033288 248453686 240477200 997062359 187966117 168451495 761561318 801305351 262416585 209885951 682183205 723140649 503857536 186771753 124992991 891929923 450309750 424633341 256838668 173932048 307626840 541213195 76083902 938418505 407276425 214780349 544031444 40305523 51780541 876656375 51405951 195330180 977626413 291883150 192392538 18108881 312850996 953953855 819414232 575267580 16356158 354113788 150924581 372730045 540885540 275917571 117176320 991195289 700550911 374014987 17643688 8177750 915228181 93727590 799112606 175020957 161024290 195660402 67842831 65321182 72316776 119248781 260651361 902459540 263648282 453043899 920568421 576499278 259514105 592499004 4283209 128386614 946612791 155207789 501116659 487498331 431125359 618292978 331209971 131676269 992307964 348853659 992370371 760052496 295097600 791482976 935073453 456121889 987143377 2916283 521443070 911976505 974681416 782094430 666952396 238329697 87654680 587520816 814828974 199685137 32536171 819112183 328071750 979148962 974319971 829188408 319163644 257961682 447481385 650373614 389637950 292305700 851743624 234524672 904874548 146841223 26007648 692464352 455479463 865667376 547896986 829438884 630160232 522578401 464049666 149628980 613424450 551704345 737149795 280769775 751389481 769685966 99881957 79461231 601351279 926718280 761165990 920514922 37196313 61163727 423404887 426834262 353469426 275148511 661358934 110860325 274506085 539882933 803324676 582501900 258066660 351221662 411940783 740743244 726316414 875990448 890372223 339740863 280211145 480038369 620510638 884116977 102240686 572908946 816094559 703591964 352143577 577260549 624106885 389339889 638424275 47511772 668690503 844410052 175176634 182565788 955270377 302199070 722448720 758595052 884700969 833031731 962333065 149158104 573774974 688649479 25148551 316663548 880906693 157876047 796701917 353933682 41993024 898942602 926842628 710603934 602534566 131502556 140380834 79157802 373358797 778805108 979185925 42049299 475731512 6878910 224615086 431001888 309077980 799580157 42113291 193778948 632611887 4446356 342937051 58903213 545612186 220601954 375566760 279035230 230994352 24785028 632968912 125503727 923727630 412327891 836107661 378778547 543830446 976488494 457936348 917189242 607809954 289638625 811754892 83541465 296517534 36369977 367059704 605595513 688466485 409172994 799374461 173594724 266135701 994827863 232497936 664264238 67946168 460581047 943299468 298940520 485366075 576268379 424444246 409093704 988596269 260551906 787872250 384943066 89556752 98324949 154648660 697366705 387963573 966403551 780908169 684481107 855289880 484224 142592971 396272716 409657217 941967431 569867439 528309270 789311646 802365374 192573507 857257813 115462773 135872974 156198332 600828847 564657704 580642578 9922550 405770324 693710835 650311151 643229742 783267586 601152451 797878401 480634290 989116024 616798303 114058810 526113482 324604534 114543033 668706452 720877250 376716602 463190235 143261040 905025871 105018232 945626414 97599377 962276044 61089186 85988703 118474376 514434384 503162758 551633305 376873285 761449434 97860491 27184435 404679175 881128077 480853237 55073927 214278718 322485612 524388581 328337528 848599093 848993115 295396912 369821897 422386716 672113513 685528483 565647755 577139383 790546714 363790520 527255112 752822757 277396057 465760166 723813484 791830440 821439275 127963140 21220076 582888708 225823631 48404510 840084234 106951707 381774099 895158160 173746776 704259710 272063093 502084303 405375155 121056207 797481215 775197051 395959274 322111079 313241885 814123380 899250462 103788598 30430252 279021925 709127706 307826308 597298442 285457542 952173100 418737716 413420681 973393175 854142776 491760663 874314037 694227009 451228721 256088135 441901521 624975497 960347844 713964613 127059799 218239350 687537171 777057365 993436400 936012796 99168444 159194636 750136175 850935257 262983233 780566426 982473533 972110939 940909086 579771974 110084832 893082185 851026041 523505512 718991711 705168816 15266175 593305747 251912177 319011247 701910233 546330049 943986743 514774429 112811013 923562894 733013778 800348183 553136610 578966530 588877330 504821405 738161165 191529856 208273013 1144398 972096282 190746545 825771688 765521719 623034870 935856519 511120255 474060911 311878382 230111965 31746078 179660908 675934064 136174606 498672155 377844296 682504654 295175249 892618724 795315666 218738142 478148854 448180200 771874752 57115383 37057529 129212508 795276547 228587385 337485521 648937296 53200018 528232065 327225335 818721736 3783287 115598205 182358342 477844197 279992939 412470306 362106626 459653846 88404369 498281232 810842352 318765017 180785885 106017601 63900092 976101551 177272094 542048945 276798102 949146845 451680679 313855631 78359353 99473578 394959367 268361225 748410873 448159384 796593289 928152560 119397471 800376575 43750764 301755812 130737123 176260054 566742469 492843749 635913900 507663190 991124980 299272603 826428206 24427216 405290203 742844649 853045118 582562297 137409946 129843220 384225493 589090624 296215202 315101197 688564201 691174568 583462421 289491426 139333951 232572062 217643985 111247773 885464988 113911100 265519936 16202111 290171154 832262404 361562211 778601405 339925593 205203542 77874007 18870150 82147109 335680562 761714799 935192227 918242858 899124744 65035446 154984702 340731719 213766999 322602251 29295920 904941566 906064671 318787345 896791868 991153084 388947681 8039640 876618072 502858780 126075927 745336534 645546285 958338330 959415096 424147689 150780275 17134989 354538048 169650424 99282097 690218609 783881574 34474323 460977818 535522669 952026120 615962519 876254388 165793118 938564769 905550307 70734683 697145792 76854003 820042902 540815227 465801683 680598893 269949650 821176814 806674819 15286183 466723099 765013149 827217630 743387139 915793423 844352618 97925186 937960198 943634715 788143794 721841772 978109037 101637963 109880792 782651509 717600482 986135179 948444626 508681602 744201837 871695661 58343745 821055839 544254914 599158972 139373873 224853807 869108621 960550687 31528625 736911156 279790137 649058125 416645137 23177275 417367899 260997755 973618813 207844449 57148821 614278958 929686220 35257857 715916921 39567011 670425717 286033754 878218542 471386695 794715355 622420378 195598707 705575452 295992569 739853620 157250775 287882793 964707426 26359395 100949831 848752403 615786902 380739967 350326879 32432039 256433594 620211130 145946145 82568758 828055578 203094965 696847715 610258149 90869173 412764635 502341511 761294890 698798388 380560052 85197936 346030095 855496782 280796642 51605546 4005702 20650261 61372672 291888494 837874039 87732066 392838325 539142793 556035320 773578291 889469671 440983710 882528236 362197152 439446206 965096993 190252729 642541170 661944708 800510877 585926694 927225694 155368740 199737935 478540434 535928791 284935870 824570528 243941924 565732511 728692425 247947625 586382772 790065096 539836119 276773162 730313513 932674443 815915954 138865184 558769085 557901976 432365245 441297321 920099128 871811450 258910665 110351856 366868971 920855372 763379085 952795665 700597418 918747824 152533599 179137851 307192966 437469469 856224730 551134890 3201979 437433506 799082514 442101102 80014953 191434984 718874263 810328465 124109426 387306568 801710001 682878511 945208544 234075245 976692183 865307671 105886695 235602847 828175878 325272017 8974571 444071314 278067681 709571988 215335489 283117632 741226190 375044807 720587100 597450919 926179696 576305430 34884424 577778561 870922884 114899376 769213545 442313498 777744192 745839322 829620066 431970544 281234184 774828609 666045789 257926366 492652631 624448835 346045565 173344860 949720851 355020135 469932526 80304884 917108474 685268014 363422515 658334663 60312820 936525966 108301933 839008867 365347747 995702708 269303780 236270630 963118435 891033676 678584128 593378978 636872997 360720545 25349522 918107181 135549153 543911662 28549898 480718135 20876848 374595462 506579346 970597698 582131948 976511871 903418933 499240421 514296237 119357799 10091435 427125408 55883764 118393367 118650627 421231511 966612426 387954406 510018492 929730860 131504433 41118971 375626190 768377429 401839515 400975711 539000961 389905019 944887372 420067211 870623153 965764219 794662672 229718851 788878268 229310972 206230721 544813553 728551392 720526957 664171351 591159179 168717 720055115 562068897 118819343 993802977 528681323 506773748 503821468 310928534 638278180 544940439 686554723 259171960 946779953 940046785 650689273 189201324 737450508 70756483 59824476 555731078 717935506 142059678 197125698 947246477 348290399 741939250 528314221 921333707 406110600 119473399 921502423 978682066 681542295 40321765 972485042 62739969 399611864 328822862 226184855 37890043 726279652 912739577 149578355 525575956 705302714 800267627 714777279 442753221 723540461 627118107 998484299 441475966 769177784 48126348 241238795 117468182 790065597 769553015 891318241 48692548 889026413 812820663 27374614 423085059 705658780 852376007 338341380 105270643 33715220 564526234 995677038 759994871 329782162 145255392 285570827 35084875 798039370 348105 330354448 374096182 479982563 181355098 815572147 249160347 229481445 56810941 219144880 19547041 678880307 110463120 68239588 420423071 775800135 95614201 843508130 333975266 800506560 34365861 439245908 834221779 598892094 287439297 594216650 928674255 285211040 732303828 963759130 83250409 585168284 146629929 309862942 65150847 327985026 125435089 166827545 557466470 34762381 385972424 577013510 566159040 348951896 497769449 986582110 977268382 445900002 682606591 311243647 246406561 716972451 603005906 80628339 315864544 890445203 527361340 97055151 175656242 112181519 60814280 111423003 697349803 59960560 421285944 762500649 387945585 399237384 929328193 945412054 286516117 167816968 374941915 852675156 369285215 872711363 691773617 346553596 318611364 374380208 510313594 417534276 91352658 113319500 350678967 259733554 3764702 878040306 356788704 31937295 990221825 270119335 143360297 540087979 330079894 417162593 155104979 718025478 668916328 84433171 515953883 955432444 104766490 890895797 660623951 474051705 763607159 204913920 673121652 934734875 579294127 183435246 352269150 523163136 149271097 702948116 635413041 5552150 433504774 992201744 37489444 276242950 114837430 33366093 816330928 297433675 303045037 971435906 15459152 971961364 908385428 383929386 779910160 865668269 274825182 293050462 192236325 890948693 497964381 865357977 825683567 77258507 48793222 30469068 452937995 50580670 585933536 88351035 56132819 19438309 933069131 93622262 148197610 900422912 126988354 817044889 197856587 282549742 640997146 65832090 254511106 401898925 449761476 34421265 267567193 577103009 179988078 459803518 468051701 677952459 177677846 146251619 607727317 78987419 29237039 60665311 129568088 615170574 1532698 185700906 487125234 787118180 279323167 635322843 540057443 258827873 304884083 737914029 541377614 945881228 656262471 648405071 347780152 106023946 535342687 467863696 535643306 715330765 927667213 3695007 393283223 105345058 2462977 1010539 36848828 31700015 914192202 166416915 646870588 768241251 352117820 133995821 407875782 631440987 621835015 947933224 742785211 926719097 538363605 136679176 725116676 47142427 785084247 72896827 5682724 320426933 393276875 541326029 35757697 173460439 397537387 281557271 131321849 400000364 135084162 168170676 284216730 901792715 334587591 931087318 522550317 686705410 917599490 930426098 170662748 391950857 730875673 913447958 171186305 121755629 50127134 896302981 168898055 835211380 821716159 174580778 8154664 67509385 715906807 896428713 240969824 113444193 30502335 372291672 365960908 165586496 540462347 650177638 67379210 875049937 433781307 442445878 561755347 203897148 225388327 732418094 448364356 956264000 498382404 619550661 930535980 548509537 368369993 99434035 236237268 42602503 126531164 96908283 110111888 694954322 993336995 351081711 660914867 23839330 723373382 26875774 41942177 116352080 529569763 109321387 991402017 815867421 404283616 405673715 19764569 629671943 138091808 320645276 438452294 488990563 940195936 368988273 37500099 161082280 320938659 126253718 56201135 299986175 223162001 166313022 994940496 69015347 369911084 655855362 92854676 93284465 535247488 134796853 62152896 917333602 96634591 53554912 733201023 500918206 459228626 605481943 130590148 449836786 926127218 421558793 938827348 718839506 790547066 828843799 732438137 964002076 807613868 788639271 263988250 30775868 954952292 111445098 99791215 177379727 767300459 45162242 123180543 155064298 32475446 185333439 72397900 129110036 238888350 658115274 482544594 550633328 116113568 465651093 470113 894757137 887209886 791813812 466112994 530273303 473173962 198551131 494275378 133304182 987190401 610779980 16596401 794659045 722225077 116387615 972038771 342041887 14066209 95219314 497106185 46541654 133069104 422020436 28168042 371957453 932652061 510712635 922590780 48765628 976363727 775577244 796039116 863573612 419907408 262152110 246363266 745597721 313219592 740638644 878901902 152926344 203934975 895498303 947585388 926160051 864402269 772140511 268201937 878468477 719876176 617824473 777526483 852945279 39844908 805694524 77419083 825013320 316407158 852526215 726295299 145287236 480619810 522334415 8860848 900527217 637002876 107740465 498641290 950222467 848379108 377543191 103148810 52314082 125557845 903250550 830990484 989960114 527907412 99192421 720944942 100299939 569533245 498471424 953245217 461894505 156682299 883180651 286907824 473089456 735706865 13203123 618376692 68843027 388053889 479753891 969370243 25056764 587494355 320527884 827795582 288389815 698071075 930944391 193220248 823628919 686711292 24210732 666105384 214618703 975919504 387050326 314918641 397969100 738038101 120680209 859863604 894720400 3860860 146771428 220326207 592084076 12490902 838702898 660927102 253061142 170973140 482813697 130634257 610983847 803341580 958429838 899373661 353929006 741890580 945110260 30074277 281118224 821837343 696179660 495736926 650273198 935746337 663171919 48242298 673784438 783852127 908105901 421021189 640229338 907393680 641347395 84829766 772400933 332566645 598273219 877978426 503539784 81086915 8612682 114523630 736944847 819558871 866413642 943390204 413965803 664040254 973464480 695084026 485877596 522160492 43337303 136150794 310423180 706509221 36909443 984207617 342877700 797531695 257745157 835623389 557441727 899092552 920453154 182359011 231659196 371242725 60337437 587715331 304845991 921466470 554755313 41790837 593541693 273685306 837697393 7507495 937725559 663678224 555107872 276119507 38355067 450961526 264786652 348778247 9987099 301696094 185502215 352864798 99227788 443247372 41004538 509185866 342339923 961457692 691544877 426515470 185216768 751882313 14230800 490062758 525865134 568986112 384369947 119406826 842671418 222067339 979430672 632913328 885745562 387054895 909032834 924100629 838016421 173819485 125395227 848003519 328031930 310897441 53384668 279776070 754144812 94389205 788961935 96484734 55846896 480506811 375516555 93580015 84905475 389747355 583642773 610770609 811249818 968012719 582693786 506437587 42596409 562124458 139350915 928341970 949179352 48383748 704958950 639712124 74719585 830354176 487715642 402751514 141251617 541100309 682527583 747912780 635489514 324005870 696913866 543852761 804512680 72430420 637432776 741934507 314694126 73591900 205221467 125943944 41604618 787915252 632381530 84201026 202556061 624248796 865059347 4251765 525148896 422534649 643963888 599868480 105405176 131679530 855136345 99173144 525296190 390180280 847085924 13302055 714186149 543999789 409671168 371215180 468946560 47103943 113149686 783640686 120695842 318371152 909584629 14816811 106286404 394482510 99017836 161358816 18731306 816593534 165610580 396396553 239128182 809574468 996265032 344533358 793770349 703917728 443706501 171582890 94098007 143308776 184884945 808284155 687308564 594556112 32015687 8771476 494176406 145165372 792412161 467388599 316052876 554513141 334721761 274855631 948995650 286255948 436214446 820243307 102849481 601825026 69156211 194494015 411399493 65421242 539027372 57686193 621855322 835250224 229269082 715953328 978559000 414154026 376753835 518383915 861226489 408769521 527155390 207919246 406451244 319567550 675307844 722504119 874080690 10029604 997359749 675592692 148801903 433574195 348352350 251651384 35399220 417508561 446145398 299315064 335446154 837689121 357001256 957301475 672939344 586270337 525771155 504014695 852940715 755041341 22398610 714167203 16327213 549553999 922086449 422778456 721637901 449910644 145282575 448234942 312456600 142642323 123827633 461258502 428732869 324696335 565426237 316648440 594721247 11571634 468479855 930167400 701777106 825481110 739985227 227232802 264267799 118272733 731247496 117208513 873314073 753646105 683892067 889641285 155716456 458494867 164936092 877354356 760921863 310218666 178105649 73378462 305377341 154449634 387153315 586626561 479145968 952579552 903275001 73867214 816667537 224271207 856550965 370960995 49752317 449052543 598193796 166536467 419841627 329441291 136261331 145672051 935603748 672669749 35313335 91320203 131164616 52765779 821190910 744602830 362984444 999296558 670497643 520878136 6262543 57650957 107504697 485408510 862746860 863296049 411792075 531930749 87567255 120859392 902891743 989835923 422428286 353601890 8888741 842269913 683043180 145150071 987941963 471163279 817819820 875771650 414999833 801500787 928537428 88707094 398619968 144038223 88003652 69117610 664916359 94266194 979284918 772421055 432191056 694548130 488233455 696499482 78995230 575800709 817358873 981886972 418152984 92303511 188005213 427041724 934573423 871048392 572191795 922515385 194728023 242527966 650803386 609727855 896545104 579340813 698434949 295165071 723379036 638954952 216799032 240811746 585737497 196083949 13232800 17928552 890632078 353982606 566944386 969627307 929783314 236819610 804030630 200452649 329123120 992035842 627494373 263696542 715600586 52202519 38728279 910328608 294730484 689531664 372572814 43791939 121388829 71007762 338957009 697284216 709962713 555756040 938095961 148216562 604356340 803845112 18661465 347504770 157827717 585605850 169648428 940127382 822425460 973679058 140580031 151548579 818231251 768074403 267761473 386348188 820276921 306489751 149193147 967523756 848537766 521765961 11315694 969926594 445290074 202789054 519727161 7769139 758545093 457823121 155985700 215417784 114184584 174647164 562922553 272012300 760253014 732570981 64656034 582678473 558766390 205236064 586743403 229513992 825826818 854504875 615862180 498620090 13510977 617571678 466143845 862048743 139337638 329975890 684491688 437144064 532764943 204218849 444913202 143826387 514558321 600898901 359244170 628742905 775546064 922166723 900755204 535799077 654737703 965411237 970993901 66020444 23163652 557737304 295534435 848990469 264758530 911396614 200126910 278269507 381484644 666270754 140318249 373338633 996246643 824809936 810482696 381527937 881545136 255395897 525354323 396103457 856294797 884598493 24846361 484357213 806765215 778117916 20156289 314019269 596045505 843666542 380039712 471725508 253920197 675574146 173232329 518678726 439487112 373359238 796948232 820971755 39629992 937266480 46826739 888392986 614592768 857309435 122437275 348654255 112705331 647791597 744757711 821516480 532390089 622120423 158390044 191671655 252754691 31062684 358207275 701316547 874729225 738246986 173042054 128649421 266337484 346274382 647328147 558340947 719633620 296792730 231829053 611779963 86575562 278655791 352689300 701168329 135965225 475126574 49822583 101186908 122918171 647096646 775219739 507824611 121733420 933609782 552012618 227004462 964672465 910219892 928321008 839401690 500983230 101363062 820567462 767320713 300153795 320411960 178178011 872303766 617204690 410007063 336600080 703780251 688662853 689289380 257464931 824628078 16932305 159803865 778331337 992366827 806900510 553551075 352707790 781150282 339677208 904720407 8154743 304349672 814940298 936475751 996267713 168439879 890355164 816835175 935760591 43025310 137247134 113938601 915329076 606968175 376462015 104445507 310748425 65124868 793734886 568213355 742269297 663183543 728017220 520600633 655550369 387434081 926668059 8258158 21100714 266345266 765494916 29255457 423211289 432951566 818247559 419479002 601391444 561119074 88830528 389668387 604144383 78594013 356123339 371989810 685562188 732585354 476435317 848826964 797710221 122686554 269556671 392495869 785870096 997573890 913096501 293936817 237524322 692280911 154711326 258625036 958626176 920206242 140396844 234353816 205674159 958644402 653832817 807065602 519763475 595179696 196733988 976424209 673773709 552857327 200930371 211852248 137959032 677365687 60679211 935669252 652568592 182752233 180681472 290955040 32842474 93777972 584891856 270366796 638575234 592119533 381508183 449717761 364842126 521905026 684071576 570516284 480549427 190420745 377581886 852829253 785600440 426832225 829253461 311890500 979689551 30183831 523742747 117648582 560065869 436938310 905834185 65150813 619690542 86515656 356105852 652533016 32809979 940997707 775416163 523901564 385633591 156924345 973619324 750475717 678829370 657690900 320992000 11895148 848111644 551090237 864724400 486228435 977922462 546494212 798118935 810128364 429194395 174378033 780293298 841776615 611316342 538643834 906927427 83523236 477675842 263033278 588572603 363002172 56547336 363988765 886903736 442180927 373429461 860523059 45172995 52258830 370730310 366164994 916670329 71358305 917255231 633911080 557586740 747694044 32921643 208222026 557822407 462116037 382600058 190632056 156409004 993916400 729275890 63336430 929955987 206951731 178886060 518528589 569953902 235433395 735033705 309373989 530130673 108463165 22413400 575303667 13238346 393143709 941468661 929908674 317018366 711240243 416336105 874605105 311450638 449257747 82827130 869273044 911373784 317943539 59905100 67782787 164376290 641697341 983635568 94332276 848649071 162521627 465377216 271119324 250471374 200410920 580493313 780602046 161390436 602906712 355905713 174628781 848566772 149890725 957053806 165585137 713647319 373389910 892706593 25097956 822647657 828050074 746887351 586537792 145993613 659308802 506836930 310369902 301006142 342988849 257218530 2171564 505510476 722595745 125807240 755981849 923006665 706300552 389100246 84397100 161723615 745005958 111542233 10290386 747413034 68596038 28391875 461060352 294502300 921098467 338674659 969666308 601664893 85562010 408720451 747658505 744870811 915557380 910544758 898393305 111062580 167763287 900564868 616573055 890359032 26372107 225071255 665882048 585189010 614171501 602795499 599428976 211693810 566854083 462235714 959106844 487966473 490627588 272683547 782468772 264242406 611358206 604651431 865907298 549436567 13371881 466082154 146823729 781445612 229143264 45217033 892508191 396906550 798298253 361597598 139781933 677186711 586668852 658180332 114892073 53356704 113492183 714321048 117566866 680346265 176556761 76673709 168312737 519700700 201873607 803297860 783943106 665748164 407949290 502366755 215184730 273837522 820965261 362008459 55283133 50108524 259741843 947791324 299531425 58040095 161905273 439313358 735226806 748574124 97493689 850118878 654447180 63502223 416956277 772014045 743848488 593513038 701204105 912161224 113213737 903077711 567975436 749673194 421342227 975924725 104556301 636526956 102278599 925521561 851051766 157561731 828146436 110793609 957869406 127677860 21350055 119774678 419507569 756576860 720865154 369517610 459212089 375312333 433019832 876168366 147326377 176868319 322197755 701046833 941545895 287927843 456640895 509521330 890117389 877983121 337962406 994673689 367026429 440241004 772711601 218078194 450319087 453374388 181388154 408188492 581052247 202738209 380479522 559816 959315068 101344675 222593777 271043509 329173359 655613608 999728226 329016087 832481927 174442332 30062919 626544173 462370174 486703813 136065502 205003914 217203286 326544259 52193954 584229714 619301615 824905554 802307907 69620701 130796293 983696061 330325544 711848540 38950621 710805065 564924707 998265688 812149739 787518483 121825548 141323097 295648442 121553773 322855535 128130368 148512456 352918453 607190892 610882630 692138618 595772745 815886543 909341903 922317004 868080497 493571616 394134970 545502402 148395874 463755670 676298695 984608286 794081213 240663586 23558906 357402630 658104644 874340946 22068720 298139478 996166493 15908169 593787919 970236618 338763703 574434639 118749073 691682156 181625530 582148054 236337125 777398275 250550949 145679027 552231630 971147797 491766994 946366599 369166550 640162867 262638620 45465244 477287505 909236184 138645181 500846410 266638813 796749824 227703707 288707533 94889301 76386552 304615701 541193572 46623169 643379403 115628210 17888593 187577910 149770091 452552999 423915034 927168365 555620299 422110412 331916346 526768095 913877405 130799296 895934644 406556624 245954267 793916240 883844128 155190451 785077772 237206889 274345615 434343948 464910596 563053147 381749600 541297147 720185199 922943171 440436667 216080954 38571380 310841611 403658863 40857823 763394609 680090249 968026187 171531259 102200660 152458885 698299353 16078065 135774532 446750349 275151040 381728799 93182940 158995167 536919249 878260711 396202055 811264863 165121010 861112650 226834362 546870610 254926148 947019560 469813780 695362814 15616865 360901512 6204425 419275728 401759334 622115385 99365976 222301872 793646644 54082987 227277108 344462348 922677403 363051640 791212696 197828442 744780438 736911987 209339960 134216038 467689050 605542015 945480900 632810059 319171016 24831613 179680668 574097164 824367525 502010800 121976329 839984389 862912311 128180753 111776468 117187996 750296138 63658795 192006219 396459133 117741782 419283327 740921480 40419184 782334966 384650528 90763978 527115403 121562514 300103937 661331440 589251563 758162303 459328691 74577974 77333319 336676656 254258641 503946834 161044180 756269440 625923162 1028568 471698102 606620267 112805036 441402449 209432756 28980182 633408668 605891888 146721963 52691994 346813367 39657499 835026959 731463894 130421476 214658713 705542760 283041764 728506504 147310674 41204067 40351546 221888647 971053737 377028201 476147288 327516922 538072380 84933079 805956435 391617300 409147533 412576701 356938687 850549981 622009456 385918868 483958648 80417695 385157183 389166993 427231062 424814681 76710303 11211307 407752508 291369015 716754066 543310623 19875518 864064740 437031041 60227064 85953386 260601129 289771616 414617025 588118050 827843996 352066456 246590837 71977647 761213988 659167537 281432685 611763968 133693345 667351552 948238968 214111039 52508734 337405960 493858452 329839766 414116263 505069759 590108625 558001629 74340176 133419248 430393499 790921267 570450288 343136914 729391005 831051417 632908529 144008029 271685818 313268876 348590836 518276654 385246522 109804823 29960543 666679206 574085143 16170239 186547110 522324110 230281277 91572195 712246421 724139729 273928313 126362683 81725839 864036937 536880664 8582366 997456184 967274162 799503633 420422824 310411075 528894637 103990592 943319603 525419017 228192761 109104831 874009853 746469415 494351352 836331027 628946309 13546910 410416169 645116547 52610371 785256630 875397823 144182565 497503051 452053903 418110877 476382085 386296093 134664166 13262748 394878459 132120349 833053261 194382091 405059524 143464335 575793079 361566467 939300290 101212095 589759228 48405120 827738299 188744994 395272823 516585678 817691302 261336084 927001846 462807848 313946454 564774828 190722022 458129019 62277878 495292277 728756247 391176314 881588369 863420412 256955414 276466827 848057113 90008674 323365269 105632988 85989361 899158347 467199455 877806002 852886794 56958682 778727473 533141444 245703675 26516647 49727121 63394976 287852731 829245319 378719175 601799184 394020146 421957548 912444554 308814375 917249824 641200801 552507040 798838193 357137564 809462453 927821371 205194676 751987479 251186640 310827664 690493191 2861338 778027118 420815544 855748131 687502151 52059368 388889575 933205825 78576014 291133047 849117152 218945096 120378365 80352678 673260632 366914862 502310225 585705185 675729236 272076401 79422337 80752628 70914593 436559901 890215080 851252315 494270928 494718910 102438954 805098591 37728452 105300292 435642060 311060347 813564774 123144210 363119714 54970700 908866386 294212080 346103747 610499889 365673527 466482111 543368918 38934158 833396973 45679143 477155695 361642560 170271895 556578031 442395187 93702839 845654283 185126619 944955153 339925211 532361880 899910459 997540153 570090332 857727102 285698565 881150678 671291875 261359126 96786744 726262575 22741864 243515175 72366321 633241752 609188701 391364783 29127022 648122859 77278107 74806164 125278553 291437019 97594410 534372935 733832205 191297248 232543570 771475175 136252400 572468780 303837055 36162858 422525284 726443738 746406311 708223848 460110767 270214538 969582974 556897510 996477112 992324837 800412684 921359784 478082940 262117737 165240918 507209961 910240595 95035377 434532476 888035499 386472395 532126885 274924785 120304599 723424132 507468354 744296126 859676532 932453485 48133180 748355741 354978769 627093269 347278404 63202616 87204035 617492941 885301941 496617897 466486404 877626777 149546932 240362539 208226069 411664668 405603456 715436029 174421614 500638832 149968505 62457112 887111226 682095389 189898249 859932177 258035873 549882954 456744654 117712404 482336439 357394185 718584496 689831559 984487453 65862899 605550526 71691487 535872191 490852467 420825735 2358594 220995595 570372667 242721132 429221663 982037334 500840940 144657692 156458948 1479771 147142548 71432411 741107349 681754288 113847011 453555877 939790160 663729965 910300530 910018915 146066403 120211066 481119763 688414313 104698518 399499013 293964838 28906356 935371204 637333656 449732091 937729797 858329251 20104757 32967281 140067265 854658442 533808220 137241308 11117389 387804342 136900207 935066152 981428042 818654495 48913162 287500270 758444654 712643126 50317151 520979921 711225880 170528216 2099683 252156544 275226733 401598695 546121382 156649441 189486250 35971389 606381531 127216047 894300639 479002639 12699679 886884256 186177432 399024250 24125563 49811173 786828591 13542122 984877324 620772985 832196616 33790485 908273254 443157621 598949963 958590405 964137541 162692194 129118620 966237223 414848738 256861705 220352270 813486471 413511145 409838519 849457859 19892675 389570917 596274850 351411665 254786947 483159105 537589096 653811196 359801019 587400268 293156139 373343140 424793943 913929123 58056107 311100780 822202376 501213728 910050742 633309132 465351268 925259287 762427752 284104843 192624376 19289456 356973464 6110846 285316952 766811982 855568705 157725978 8899251 304359906 509137642 263686197 787519010 899243089 917497393 999836380 339159709 63169883 225695872 763953651 977099005 283751978 75054430 651817732 784965705 837621523 285126864 102833325 762880810 900070967 386938167 955505185 771876774 743911630 814132383 57193725 363239963 522217439 214919702 224655565 826577344 576573695 488341762 466612705 475816783 258355506 466449084 814976491 321525388 692144955 431446494 151140744 975896933 506500923 802958475 613378989 196638798 88085338 716212313 959519607 840672656 103150479 767541143 612549429 699578460 434189877 522259505 915334775 956407315 737179206 139990339 782984658 166269252 480848452 102113714 642086035 739203957 568562798 309578877 913245696 113224104 741025370 64386439 941637388 100042645 867344914 555016377 296681442 807946603 123745041 108717400 501135611 79411872 728774894 113685039 778990331 162964771 488460896 546841457 119372085 78156453 686831796 754873095 244425705 20196599 856986808 886511739 759400556 278065957 48606967 525162603 243806413 642148689 589549042 185443800 742191333 309410307 592976528 891389126 969873261 716721569 106525 471008871 796133440 581397770 437210262 427640122 744362540 925671157 974481579 716250977 3827609 513829726 323640423 100769665 534026324 33143582 987281403 145943231 163725891 888404722 671105834 407532303 530553410 113171227 592976102 125261094 422581533 38468982 16650219 244971145 755190550 869273095 715980016 551323989 303187216 5706629 978964110 47549756 783894137 805962040 616317084 640238097 319791765 792473858 741007762 853818089 825617439 580805516 999761319 989343329 469210237 523383504 249391983 852279998 636554730 842368085 977541091 59136262 880837066 846707661 156623759 488543967 568497107 872603774 39867955 871684323 730826754 871348416 771750430 514720890 529826808 240583865 7475338 849618572 33057722 748483099 555953012 711191512 329288615 408230683 553051193 651015203 931614186 802443175 503295201 420685268 497327611 333352643 332337881 230681028 32576656 488961639 719224994 453590114 214081764 611609300 177790788 944908517 335474068 949541217 312145758 865300875 42641433 319621096 567435798 928215506 68104194 975905162 491923370 249909160 236652196 44974562 900924363 20782733 699934088 256735915 441468000 49778051 590088557 773805881 132975430 475181564 262767519 852200424 928771678 476849283 316326075 106562465 274274151 504316494 908620034 586419909 222133720 951261466 906041004 789569518 731993324 974145197 617991031 223916693 76570709 854643226 121407606 977495071 875425958 673858045 234230985 316893958 723636095 676835893 90699838 856611525 152017457 205983708 561328300 80789134 535349342 730170726 39867950 809623493 234487220 948487983 396043401 456620939 752265801 154600756 98706808 336775476 128745952 716697838 560692168 57833012 423857415 534616125 35328082 299283373 208474169 122075418 468693682 784626616 798911311 411909871 493754492 950928767 617893578 55082791 884234252 5759272 637769868 776618553 815382764 872257087 577622888 63942516 181394378 182405040 218543271 132617537 519180515 199805574 849315375 79872682 257638586 125689141 467005158 292966667 424972513 675479326 415042085 893666194 312622293 66469747 158092416 806376784 17398513 775985994 713975926 754149116 781745265 351745794 383284020 449644380 76519232 960906907 513586895 110429961 143311946 732130165 243047498 662492460 931935738 92362872 594881493 189574323 70568364 61886650 335057342 495540877 589882328 750099426 241723422 902504620 816569172 399815838 561397756 686484036 28318183 275373681 293149503 662579799 479635826 676433522 112224178 556155058 489856781 625811072 666585018 633168726 210457588 909632515 148177538 142393325 854511738 595575382 184484000 925080102 509978384 519541341 273137330 99860711 122157118 367377103 854881682 938726289 767192940 268795789 477726676 648027474 544169470 623392530 310607272 23805295 152342403 275347801 432476704 642199183 901158872 951578074 127884261 111616459 713726940 276061798 106526136 420755030 871637179 291010135 198351483 234131914 810551475 471488812 186508976 932708592 838865914 41390658 723951232 458575206 162702798 54194259 106602679 706872267 677586788 269726303 583193914 829929190 545074103 868186969 324644725 298749327 819765042 452528985 262882137 386008334 728590782 221924624 806763363 452744312 512934758 5114845 686876226 176002584 329120008 873385201 961227527 20502273 767292210 537695110 479077478 929995008 591889368 438196509 489383626 121992507 560439163 925093891 804438049 105513265 793280860 129082773 256778943 465562253 581611757 372177432 851570586 162718890 594102055 510850300 467979553 107036813 515965144 7372130 135555748 845085151 880757331 96783275 865587424 500565892 486994736 197181253 283077251 78884104 487894113 624977229 53392962 48333275 550071119 857831010 6362892 195868330 839430134 115658186 513946935 273558242 487835617 218033872 436277131 81937672 728884172 904256684 41490836 97365667 911628813 29562935 942450818 644902495 126346209 660554593 997984739 465857297 710252197 133578341 397257752 198146310 758555569 450650713 98995936 161143040 160998075 105358827 357011369 428208 221017013 870958303 126502802 708852629 88992175 562779932 643306652 670392698 319552967 684797487 767758364 83698132 714360422 562725533 581116978 693222982 75796477 579101716 11596630 786048674 712680057 408854381 984194983 323751977 859505094 83190918 484895016 873019520 41066097 841906385 725964079 114599461 565381039 852466880 823452089 506889565 267763164 319275093 29798614 587316130 4072579 797556978 523530613 570949352 360282510 104647591 116688686 436078987 536265658 128285315 74644012 101462066 537139696 58838994 425214043 249161141 994546263 910109058 122180660 888128711 604531794 700661090 2728171 22429185 553127970 678696612 529318749 820891133 997971704 559117363 260723614 854560634 209190692 784254227 278026338 569473201 741418169 394715023 858068539 277683826 375516689 932712550 379145892 912656384 844067895 804359934 14333876 691130510 566985343 989030887 579259220 171517137 689691977 434503743 193946321 95336298 113200354 575781421 768743782 111172057 134898783 29467395 818249042 196605826 666237973 96275379 766079027 260172493 343506753 476663917 537856319 719023442 409376467 769518562 484196177 105960713 426394847 498530053 797091222 993380189 340077291 228866794 17413677 29769267 663370536 211359997 977621916 776570889 787141418 746365697 740259297 774556552 628349444 411024690 971162378 147103768 507300069 589757756 407276261 850806821 66421672 797648931 422346614 328314490 567167492 906542791 434275203 993562338 257589195 83882776 839458878 597666485 312749569 856872555 479952104 976120104 68232551 457574019 605207344 707890320 56456068 197982992 334963224 537321863 609007682 158641953 684425630 116307750 600916060 944218242 819630922 519854083 741867172 94493888 848168573 161551015 1036678 134960127 7629704 258625872 218842902 847088582 856292356 531592471 556477488 188760811 360228926 477226390 646334830 965436270 37633062 555307249 163419261 372596285 92629111 772426942 383754589 629571092 741251043 984670648 573789334 413398317 504524730 168172857 507892204 205209654 182240224 361445233 192686132 189869927 620071104 411529034 889474860 328879811 795637856 445952347 517640622 155866781 923178737 16491803 121303050 960811798 571799051 137238663 185924434 516944513 762181956 569679022 146515604 355949351 406866021 572821289 769347667 911390750 740994146 129756222 969116756 923234369 491201454 161802887 965620647 963788909 425848272 855095507 145185071 221486127 153564205 662825692 229869260 929259293 531833846 203688661 742587442 103632896 340927323 928511875 473093760 103109279 350707248 619609364 311574981 757573268 44947004 80922647 521480370 785941149 63195220 343113477 561691869 406913025 504916363 379828868 370701933 930764635 87440726 515887003 4767113 241004930 31229047 234636372 22780575 563062892 438325033 765368016 519212140 631768707 546396243 992305899 587394337 897103490 464431614 898969317 507193110 509378618 832408315 881189831 147836118 895603534 224303307 562044339 155032910 581736021 941873206 525734842 365017007 29313931 894138197 369784120 122835212 925367243 456936843 145615786 340946486 895261875 910983802 712674977 379546934 457380044 557497228 966941270 206999885 21928841 865910587 566709346 383823810 550835253 447899176 384176280 298955139 524718834 946220618 453988048 106454855 888093823 979722890 471471861 769924105 726377438 693772332 892759316 504261032 150709175 38375102 845207517 898487401 949358903 410398846 278034334 259255298 967896073 97491956 318771534 842341265 963402542 885480880 78681427 366754146 185896407 462857706 665709284 710615241 409078323 119697332 817070095 149688497 951936573 141058307 919612601 678314010 834830639 664888268 35091393 838056165 703263369 880298909 736543565 505138623 143214106 867094251 616910272 111110178 964586206 935681806 953451443 780505099 821162685 32132869 147259244 7059091 347506926 812968528 570190683 756585248 785182211 239777129 758790096 737118783 380835436 530919048 267949144 68182426 195807315 303040536 906238590 751587036 35855796 495298506 109242010 179069902 214909108 726152282 142696431 179495313 661834087 96147873 960000411 335513123 980797093 959776007 195088565 180820370 625260886 765279248 937405617 410443096 5056376 548712064 78230 238408163 79631111 120543725 159106940 127954778 423584260 65345529 879541813 311956407 413160387 988783822 491026308 628069494 714936103 633722739 660081159 229286541 582386963 472597921 417316015 415700408 432373927 612404580 596520777 57634812 230200179 386442746 320594259 87772906 935154809 173188840 178697421 867302272 293732564 337804360 995257049 717316823 255666241 874798861 29273230 668826627 716099034 372815889 149412472 283551489 859054979 809493630 512838029 293958294 134607903 930154044 709658701 566981829 395074975 158695829 477132993 477791505 397654926 650243603 565564410 185326087 823432443 744261830 52628358 117165006 82066190 47885406 686998181 190248782 775200618 568787762 859075408 343816003 941603650 861004231 627367491 653174981 523014213 140205520 947133274 657622115 922875915 509308326 77120295 170467241 668004154 554253287 648258745 65659080 57013242 66339506 103501518 880445684 663117688 156129875 997610689 597700229 56531632 537125221 787949010 684248601 105912982 499540769 28064603 900032984 360544999 655432094 553207964 883559211 648153965 352857589 393697677 423546231 862165914 470817972 446529823 382686419 25071258 94788567 300861850 82084499 13644424 404363367 815046534 676762111 560493241 665173575 126978691 469541224 202298795 914927700 153789824 160728129 414468468 34370779 60761112 627529819 689802872 466485427 363605381 190473188 819343015 757303058 466535770 681508928 228121029 913065592 64195346 105708638 860370510 217573548 40309489 874014933 621936914 855356022 403293396 34946507 373045948 530272086 504487730 575344743 297716138 658277554 736072871 712184605 692648332 649350334 192230775 234967555 115835760 555836156 277957094 935178774 313139213 744492863 469204053 393776593 657558454 385915750 499485230 370445315 603489297 392311070 96976599 77942563 100183444 500269994 112889069 473229391 883058432 617376798 48574133 180774569 128170703 637163355 745475525 820819034 139030040 937706300 908302940 254865799 493542455 186260033 42560924 659198019 930752895 364281328 52974611 440827700 750197078 404976192 811273014 206202726 797287262 908249613 284145288 897470705 261035958 397034356 370700095 144094389 14411154 271790580 177385309 142581856 761470286 922860834 815917242 900500326 713083485 576736533 7882476 59142291 762996566 50443400 718340309 546265812 414724727 771314919 839609864 17438156 28807462 503399229 76157234 826094723 264165193 360302521 723565427 525201151 609853229 946781874 521811891 476780734 71088805 551713552 471878941 832559090 327090737 140312534 733059415 40174221 717049067 740941891 99316511 332561984 643901642 817656819 878827795 58626368 441488089 570954010 928580876 470295550 74353239 4738109 148906625 338518431 217556981 872472051 716235933 827410209 671770276 90564176 304190942 742859080 642277727 776069883 575418170 969368463 916382416 160993936 9542683 485947834 754452178 961375545 818509817 398353819 631548715 549853964 309496539 73036803 120807973 90593766 395848704 47677563 95331874 544755328 386195994 312888854 269743731 102431926 140299063 941514006 45512453 297006356 536889438 687790179 925592590 112307607 657158641 694491358 125817894 519217675 180439191 880270072 333109571 998949008 131140242 964658285 401319323 293153132 890211439 522127295 383746897 138576495 569804858 479078770 683331822 808517203 644483976 805591904 763465480 637299390 599622262 808977933 934305745 136511699 496768111 712414687 101335657 6443104 406906044 79669902 378177130 439861586 959939973 711286701 291326945 943596567 675944985 692646267 236749698 418672776 67289914 620496595 557249270 637094771 952091716 93097443 298128325 596575691 898689347 61593804 86391432 498311608 870571736 20697177 487339658 219856199 585628215 588675314 78815654 992534258 668345215 456992783 284912195 480801540 168279483 576239140 276914458 696740820 268885406 513664155 115413595 336175319 986677101 672662864 825786441 938768817 765760306 123914765 387860859 516966004 38024921 474252291 15277611 908596656 347465819 355133620 980969206 933094033 943808933 59784859 778144642 464670500 516777642 63056836 797988391 537573476 491812327 74902848 234314295 760697733 441083354 202244241 949389403 427760455 874907104 775175844 219045623 493183762 751606960 459422833 10149765 789631880 933675123 877943728 550744888 133657293 85593699 531714093 919267677 29402632 444015304 549928670 346589483 960792945 465501858 144577873 350882772 957314184 71997072 585197067 570528268 513080425 787441307 519917671 793357231 514864763 147609866 12402853 860564876 899216825 324342038 723230992 541365057 110533512 453691071 92109944 244190805 539284770 476340388 15974833 421203753 920355691 565903503 767793235 733664987 31405360 764887459 84547759 988719543 689400882 522261177 411764163 54997658 162218835 931681833 848354889 677083597 931808050 713274093 390164824 683541226 37616130 113395816 224906282 148149642 567086886 169532577 244856798 106371655 645872965 260831630 380091759 566228655 826735132 401345 152409994 858140491 765288803 236957752 699376386 307206036 759218928 111140548 362203694 921437762 895338732 210558582 451037711 679663133 923832674 841202534 363204358 813965156 807114701 440626992 962114797 226717939 610159568 59487946 185605945 256032532 320319575 565697704 674777539 147054707 566099048 827187532 857711549 183904203 64145283 409604286 491110238 675880562 373261185 853313931 449834675 121116268 63872512 753388737 800779400 840221538 447107623 16500110 506703045 254222323 457127101 321334193 480940261 67286668 380822138 666546206 175835552 701141712 84760261 850613090 848196418 650859308 677800621 558424319 834763510 594462255 968028604 325873748 122859168 341289789 31704030 425210194 462406056 95576542 178598931 115701808 788314431 625706553 132201917 147533827 732445227 589329017 468868019 65901840 656615684 849690156 732448045 832451235 550831867 817208305 535580676 251544637 320583964 65897648 809968955 155347474 660359902 630513910 333737573 635735421 971803698 365441602 60945615 286726106 313534495 92060897 402427913 101848925 717767449 534629829 101899103 302729027 123958845 570767121 368630866 633090880 420457276 101078910 318058467 823805495 770803566 853639142 75350131 91387530 919536790 737835437 99251355 432413043 220865698 432988927 68148464 45185748 798430528 981610430 331911853 111965023 73671326 586856117 66330299 643955126 121485945 20745754 946684152 97961141 591512874 315315018 583568372 11970150 268910279 754143190 688291996 892230197 460298684 616158478 836134078 232351825 206510266 935385432 664764867 427375963 220890710 585429682 472561710 871837589 419556463 804473562 836318963 493227788 243846030 755165614 137182913 217848326 775911367 936383417 168325818 367424240 104214786 751894190 231910741 373125064 358553731 920202736 117871612 818852414 388877565 954005689 51204238 595387830 741907472 568485457 22763793 962798181 6431490 495325502 687152122 425987953 152315416 523471084 919215740 396161445 131153049 908915005 614009771 907064415 697814773 782335588 127005007 802029558 386746129 358915747 27670973 745299860 131634835 145542585 416668625 520512399 99548273 467872863 115900229 841455745 36358319 991180373 656770277 42789808 339022226 196438750 321294112 491337641 719909834 93026204 740015438 851062882 1941208 206541560 610643649 552272332 988877147 737648655 354301889 228139628 96564401 381972861 825955839 80715587 527515445 242624463 453744338 479580070 563013677 422160918 173552166 451888347 413341290 830322442 347194507 752363515 26761192 668488618 96217508 599187377 761514821 836232945 302766610 615972380 42774504 913410258 168244711 884168002 503575264 375062951 964823981 452656017 757035812 790779819 533371603 137067608 885920634 987115940 616647677 448934310 261793209 790199842 900822657 675134498 473038636 100533515 280014365 352316179 769022132 228748224 804019907 530536953 64981168 106786516 146509332 960272023 872713126 167270395 696956376 228804741 542333345 514296709 681460757 151885508 157592879 67348712 141469468 43513512 54464651 758117144 344964174 168774212 400833338 98303182 843908709 726388325 198836696 976439425 78704503 967858827 205187648 735240761 350912131 122685167 694543628 349937815 935473541 419773105 517208209 484946269 648577846 912057905 999242977 330038602 63943413 156835855 397387313 57929232 52865719 304368316 816046375 397829892 473142527 69396064 496133073 169567587 795784388 694969768 146007012 727005242 662828594 203711011 314762354 13740725 178912530 9305982 216194891 114386070 429079086 733403099 599332338 77656931 497977355 451091666 260211885 414437119 607927521 510115549 472366350 660793239 814483864 140929077 58623130 140142742 210325140 407272554 162226681 858625880 102242321 160750044 438147473 617587266 364461054 752909827 483844342 543373583 762215808 700039232 510276005 43811245 285958682 109608342 973984528 783936037 413216360 86712764 198373155 21143880 596828312 670739505 534453470 263828528 811668581 445592951 403971269 874510072 852865504 566197949 733135951 807624176 726947992 23799776 425211441 943925398 776709602 909055783 339815332 391441761 461611366 850091336 435253005 747570048 812216030 261753884 531506084 225432389 348466647 582395590 99092620 945294959 105651446 486062441 209123486 917320026 931655391 465611106 644346450 637037246 31809055 229998752 297177773 611273398 253798527 722389213 407715147 30508128 483961347 747530479 421949888 945572713 597621814 709719245 545659112 262354195 971473128 77165195 487786583 319939775 512077136 439395554 117751085 617728582 925457994 326874570 387564959 709629736 792485675 31911408 199183333 676811081 261910160 496361105 140600831 515708686 71266670 548315977 398733166 555228016 148362807 820683053 353317080 745984621 382918649 898976191 8338815 354391777 828657737 348641750 526847903 193251225 788037303 644598987 810979806 566011649 971473556 198544764 275641384 616475582 82972524 474824717 145803015 344882683 971185821 138920197 713107720 42452490 687236173 111840885 450196858 835598980 785040290 656030289 434099952 167958938 407522832 294955118 374867066 88696920 496113219 901714968 281948144 136666874 546313954 92927949 702678522 370303861 143989065 978319905 839295795 226961588 305660973 985098809 571844270 129363146 124019005 137468341 24331987 663771529 249309226 327045196 351886860 34349515 983075485 638503163 54824804 390598316 933458281 429691870 479295235 282087851 183923189 761243379 418754724 730237143 706687679 121433245 953057355 850676743 952269502 792353149 77638330 110446826 629968309 501998951 239809971 606503665 639467292 116658310 122791546 888776517 443703505 327194757 775642383 426778989 965697920 682983538 669893656 751672552 112675407 1705243 33760402 149114948 762948621 452515126 879352090 322152651 426464722 684925796 172829394 378734223 329795297 102984075 489181049 959763605 604983026 581507371 418783622 244450317 698165680 394091519 985743185 141869185 721286275 613901919 421164525 686984194 296885456 91058181 291173097 262077215 92763423 324933499 411192162 708228395 629964976 143060603 30381045 56429697 827986398 55726790 287680272 10298046 158710865 776861320 970061651 763693890 210885042 241361624 8144206 909050722 635453142 846403742 50919906 209255768 460305660 324600782 896239962 609707467 415658962 39929410 871784681 360938736 364862908 135493194 69167130 994827883 131070148 99548175 903773932 959056546 7791316 191454203 969354591 166502180 820831874 791932593 930196069 31716915 885810568 790856626 940767636 373780061 637260367 844203893 583035829 950082378 21321027 331792142 559789845 436979988 371721551 284090877 797918724 736584459 272100423 719602205 583928693 403170570 671666731 340218976 214743467 679458047 531673178 36614410 845960226 205021403 828547002 776156295 236738318 566873922 419529272 30022305 940653982 56789639 726742550 523689810 859388368 748063576 855481951 271694564 37559915 79719854 555785441 835478638 816304312 827885863 407597195 252749356 83572784 79263925 592968332 298316251 758721971 977157861 334930660 457198549 182179264 15994013 85871195 271433933 582867934 505400466 301456237 523521916 414706456 28198786 899728077 274094824 628778713 607726380 545789387 666338628 687446233 954091179 354333617 356266896 634493393 761930811 609016251 718066177 841194736 54500934 16382427 452433058 31658795 351313086 909631606 66354410 367307098 995502800 337788342 950175032 353419618 491760930 326213299 768126073 372476068 78457727 42220896 1254780 686184106 440526635 667593407 373630338 247134165 21927024 729897233 881627558 636374186 191429836 599693734 330085273 98447121 468592512 782518331 130105915 819905597 544666288 48976676 39729046 392685440 239281369 842420429 746105057 731042299 21150079 366747481 103518366 99607806 261484729 104773145 785791911 702011363 624882904 11938601 949145527 499326279 741835833 683289436 135700464 785782020 135499521 318302089 884229141 604092032 100820419 866851407 276513980 498003058 915828083 316243026 743204849 7625803 11179806 341826257 738668101 32329885 708573738 842186466 131937690 970058466 799475963 917729600 524586180 276875218 929668200 326248058 628717848 524020385 9537494 616934663 309802404 145037014 935236751 46547896 749129046 888573521 913399303 25643025 239092931 681743737 194402402 982297779 689369539 205582208 324124036 428037640 237912092 32697773 122740457 369849781 855272590 774732771 140095732 379858769 51607988 69763932 706106826 532842187 593784316 568160671 149776850 756103071 713197685 85013600 802650967 314843082 826103473 716050269 193002458 65196403 250310357 239921212 47494181 939679895 445503419 224134568 220233886 535931862 109348692 342974343 905781642 964621281 117707113 45877373 196996401 21831453 968157656 755619579 407189991 414458323 323780249 556966840 170561394 889494285 494496792 973212360 56853718 173116616 541778980 249856176 238313018 792089336 489777387 138323550 584285582 787797157 214974470 804519468 323729018 324323161 10162 82027011 141460794 117717274 980420735 190973546 992065078 948578391 946593124 251771421 215553065 122889725 808738260 386114458 12384009 155751403 211843169 69237727 328868018 606138500 171610254 419697387 250744187 661387640 558020937 835029769 301701148 772995406 639549236 625430165 949834918 639559397 559973527 91295711 609793022 540394261 134785609 454374452 341489003 81378732 706145872 557042068 204268456 367400483 795672877 69168817 375668238 7516046 138406543 704536255 466170897 310016796 124233642 716915084 823920787 534770930 551944852 125621934 160282687 44010439 603568450 110117604 536086187 163541976 53929667 145879208 556452588 41231627 452770011 897941591 122610358 11432234 307500010 179395166 231349069 103172886 248563982 607017306 963205283 386970524 164069912 281892532 549503671 140819905 998807615 373424457 675590834 403268818 351562742 688389872 447279256 955131191 651023828 983365442 118673166 557469846 981761001 527642105 598701472 287047364 278100047 721311829 150995949 585600056 900706994 382345017 541289294 1787327 989362322 357010928 388757850 153432234 638903459 938261520 294252138 490227425 164202328 822359324 893496242 515765069 510749195 193291849 323412611 14289374 29173642 294602128 571759219 10934643 822244233 170460690 150498358 100344279 744288871 301494306 538460687 497512216 683839323 79749980 499299543 525717996 289277259 888057392 679150229 780697070 678835264 825918719 270924494 695553943 648278042 16937088 63835364 11543588 210228936 387247974 25832962 239402578 681850102 597592180 102853572 504094334 620569222 253351929 456954964 364858092 407362586 995415650 862370307 91201908 927681981 214186201 469436256 69475592 102243593 1102836 850172661 633595208 827021554 121097154 181665502 327815947 138034241 245500865 339359535 200779529 632748839 217708848 440182106 314598940 815301027 543035677 671209625 288386600 796387605 128164588 653244691 56266542 123580238 368131350 147468450 903778570 582317550 469421057 973254161 537077494 470523892 823426821 23189053 297545446 797040327 204854555 625361392 787590919 450355419 817237278 988370447 83104257 34946125 281068904 250219548 702763504 824104580 921429172 991150103 473008536 902110112 496911146 529275078 878206701 865042495 529259879 781985270 299876396 998680935 607755783 689470242 469204826 283698955 712659294 619266623 80739281 770030200 97144367 720846552 72901971 914381644 561733350 8522579 949327769 842802254 258742127 504607624 519423185 32687650 495757726 992431721 934797761 992668871 521706798 665520813 710227717 50966676 300022435 862620465 902163962 907778217 552090706 223885139 191477171 117266351 843151762 124732804 887296551 940296128 698095707 960198521 854677771 112345408 968721099 656521891 955147661 79979577 13645866 327087198 112667227 509403592 319518918 899981339 354588814 693742067 418018504 917332883 597225094 718040938 779953347 499389055 625819154 184560404 723274193 669812676 154343106 418942306 794545479 41639656 359238433 345157537 854354528 66432556 457502945 675591979 575470798 265166957 608087907 589116664 592254154 573271485 98520255 911773071 325769176 305625420 458031489 743787679 75474654 55256582 461828616 855428000 407161988 940164121 892504755 130436181 609976796 46847861 401894838 257038627 941003868 761133271 602196163 647874748 680082178 59699107 175983078 255552975 177382416 784070984 844669638 769636569 357342469 795706244 533925992 683111644 953848016 991957480 279415674 29322669 47214062 741244289 737267021 306892401 533924761 629771775 289844933 143901556 529135987 691739771 253456534 470139855 305389393 708169049 118014602 985471570 620384507 146514031 93540896 797766922 930585014 938210534 567403491 140443834 586433129 101329482 823555477 392797496 945803313 102971150 422120165 845533726 696731790 11903537 152426127 83172902 641675311 442271059 79590810 23327650 134010829 333047343 493467504 291916573 41216391 463998457 277388142 514117250 610512487 370929038 311884171 393613852 161655923 731804013 534057686 600605403 685649846 210129514 993402899 631453159 165617016 268039415 329503236 862348805 279942951 481929362 945521707 921618261 776716773 25112516 944945910 763243953 210676210 290929765 55160526 104408953 607444573 185065019 618526202 70473411 555994056 782926724 464087263 570166330 514730737 998144948 170771733 52896934 208274461 16690983 684350092 373891476 284730397 13853328 88756633 564673347 348299041 886794691 338807959 125015813 764423558 136270221 740776118 975099767 427199985 795936643 932025071 34644558 981001661 403067624 105117968 389512069 185994348 421721582 959678398 553241436 419866529 982966482 606138369 480657342 999657464 143004813 854548817 284387860 9374492 795821801 849061206 357673532 682616491 40385517 335205697 299556400 176655737 75981814 127172519 603855721 724434808 59197589 491016630 557952820 462265213 448650950 799981240 500775912 870372531 612175990 54017347 142755412 595142471 660155715 623412753 447316287 803160527 330477921 731704146 812535018 126299722 433281704 22724902 661432564 473667220 210446950 960988964 650322956 138945115 88161482 106695028 863379922 999875422 450228010 273849093 314656986 898878959 73830333 815432897 621767841 538522674 869450243 617039604 133665144 382122310 92968708 433497782 37799188 423446629 17718280 702850558 402262702 450999983 725575459 916211617 777183554 936022408 729716932 280022861 74967522 670394765 386717888 790863795 670270187 836945897 917229239 984927172 588341207 843575923 652876421 62625400 382098596 374843015 679665003 368280092 756965324 772633711 801777873 647280864 48596691 819496152 350131421 303375744 123012486 928223231 219587360 900196039 716761990 949304292 32735251 644245863 472215408 419453139 287626009 142485594 108915387 204855247 979929118 549772946 48431170 485321890 612398345 283046117 860164904 144579699 503842560 469646580 769729761 158136785 116927443 818326451 977632936 319575215 121702194 953161774 247798445 193805906 705874164 964560434 995626549 738609415 461322648 467841956 10578905 748948656 462843902 119494291 953803902 295289371 669267236 854751423 780611260 134181932 990313892 493292515 131277983 494156451 962939094 901007743 652293235 79866536 571850546 482442523 251958102 546069091 288120648 499756546 739874996 993994811 316833331 588017896 732604225 778155978 55859852 743183129 379620985 371220105 715193772 185941239 519025827 236977359 40692661 152153438 371159291 883522904 645445952 502437273 230195707 608385046 255961367 882488941 540767933 827811912 217447815 792726035 373881003 505568462 144998932 966272350 352079625 314348615 554290246 84683849 92504592 462666449 680383330 324641929 686402905 248093453 510583167 205428731 485070811 403792179 357582168 856230101 287315083 3028119 211183725 517510789 463929516 467145092 252516081 857213801 147473355 322480248 502456187 521354357 828048709 647455118 340143059 32644685 961803732 894433304 117328534 906824676 209616104 650228215 83982956 896019008 898321667 594566122 953964090 235908829 998358300 164062609 92138930 138189734 19607079 155839006 655700522 483536595 475500449 760732955 193266747 622973804 83213202 695722933 144328160 763778262 195694402 336987570 796422947 10014486 83937225 766267832 916839161 293553328 269012398 822116 42088687 19850416 447904589 996052776 255759244 446262888 12631736 200414525 584452622 32238815 356253531 92669495 515775409 831753979 853402449 709042155 307244134 789132002 257281439 304088646 552910264 452975840 641076215 201849562 462990325 725013440 968117393 232345837 18566767 237129790 85684304 913171806 256980205 533588892 761740933 512739448 979851780 774372669 713153973 416820753 806611483 921923855 362006599 174903243 606194185 67925400 883945397 913438319 857057401 141226835 217526964 262484016 446719026 858603178 464333577 909709351 436132969 432450969 142055187 307216088 522097110 227739491 220387893 779077314 761328382 982128825 144333114 593696513 609017845 710003438 863033617 415629327 631927292 225040216 590532569 90637828 292965615 326994317 4076146 2539367 320737503 74119461 265023383 767456529 932722639 729356959 529682231 221371959 14324280 671737417 528588046 536421389 751993259 748975938 168015055 365837993 583621115 312348168 959534505 45155311 22351605 675084474 460784638 506795248 900124689 903833558 597433075 45606655 83344227 454025573 48146021 404081729 528145033 313169403 24054609 313384023 42526362 553736839 534755982 56850641 77990608 63344027 445788381 829983866 664836317 613803435 48338210 100973783 926151602 7872715 146129093 801019558 535473540 606913730 160331157 288114580 363263640 610280584 333721234 446607866 64306156 234383606 850689594 592451188 547553009 727260555 905835211 442595722 133513745 293107544 351962714 211504352 356451570 797751094 894004570 21287886 264070881 942342779 122261668 42738834 802731845 120907113 843758392 338205384 727820842 856605900 626319963 91084481 466886483 812557548 390208698 383708990 46941154 93414644 976160178 447010514 820675198 734511740 889606235 954188942 27619283 94085300 18209646 236587204 744352745 912214215 110391442 8423625 854556993 85169461 51162459 509805190 206076573 747437202 848010573 786413767 604043101 326846888 730014599 923445936 139404435 120223297 307154925 38861940 213637940 135831454 485872453 34313137 722859545 227995039 841018430 602995179 174596690 859228075 839582383 918949435 771442289 802490176 927373059 478515634 887659636 831051869 988320823 946252561 578489070 688847747 732666327 35048523 868210986 315197277 958494458 860131773 435420573 118165734 898993712 501574864 106513540 237382517 388404352 829373084 317893907 229422782 432368263 492490597 88650856 124466997 411440031 712609497 926957172 191329441 43641482 667133159 22381310 884478656 465902071 453386731 425842754 51084749 340951605 294053740 366282026 151962414 6701864 801702598 270128148 905695575 155793814 376641687 995594443 544198165 58531122 313488350 773620946 490899384 805978946 714788154 467882732 69935328 279914002 247356255 113781120 176071835 914489414 136162429 60550490 232907836 442065512 486393243 283992585 783017116 632963334 650274610 934979530 639665197 304493559 57624029 397877124 460287372 286782067 393471566 4485537 345313188 559476267 630622834 836212572 217971564 197927339 156611655 287906891 477841340 403967910 401688011 653913174 170973675 390366791 566980015 403881510 684948654 53373258 687874094 320482122 538852943 338148703 107978003 178518140 642642262 165602031 576395263 102929633 452384097 822383180 959931521 797697284 381859447 590554355 486426207 599831010 788481693 643037862 740254253 118839385 47005771 141942263 625268910 70495797 384825405 192248925 474377306 69774059 98138534 162251400 242772532 636991476 352916454 350750534 668025967 995558715 516352564 96937581 951004700 821253012 919320761 763452572 471466647 153696559 206523278 957892854 753527568 995004971 453447067 346298172 966360707 352969189 340756786 591629616 423464985 725582191 636394892 897842290 647872601 734533425 912610041 890645132 224041253 265526495 93912017 892067219 113601561 610264580 989004800 917122612 284033943 760841912 680575184 755500589 914538470 887098461 565909794 520582389 734619783 19356860 866880561 553496841 224842400 207637346 145126457 500823736 785735888 634037700 251182378 286124840 221087477 163792418 29286323 445128729 281835264 123198339 189712299 395436825 733462918 31233450 165075788 17496860 792075361 845650971 625513801 559130182 585265784 191423594 79712571 172401918 63296806 946593131 725898759 140655557 6746828 723541567 641479293 792482716 210095618 892661670 78607555 431183094 56454087 107893878 876311822 190805703 83608568 918540473 586242527 817071486 949773922 751318314 687084697 594365635 449485637 165114849 6012168 887267772 356538443 85724738 59669689 272351600 884834220 638084799 413007156 891581048 214142717 54486448 536580115 424238335 947148117 467704021 855421428 856118556 428114250 584249602 46924258 511722818 355306426 485683136 181310655 157596699 89517801 720911703 751962333 391519789 886026552 757974501 278787560 95081346 696215590 190973601 367432945 581049810 681574751 780440100 325147209 895717468 834926548 714243675 172472154 634591016 34464047 880409933 343225923 462578297 317175886 242666532 826817466 672482311 580866019 8128120 830079010 670383820 581556174 434557694 61903608 467582725 45048546 193207520 562664070 741264136 236697472 930097014 174830297 918272222 563053466 499977505 666506041 250496365 66737531 838978194 885087380 101201577 571904479 80829655 563779873 889080364 176012538 243113690 561562675 756878557 103758161 244158036 279778728 685314335 678715729 194198687 5413411 723764275 387406206 568077481 465028410 624103677 350690846 639858706 394892251 913744311 992352562 61398291 16757027 59090092 752892837 901844407 160291668 324797315 835190413 576587893 66394030 11202950 819701582 627956704 768081506 923459743 872114739 47860233 608774077 403346820 94575272 614187487 127111094 481981477 34781319 444655855 958601506 237988517 84514560 353493756 4249179 929383473 267408398 21006206 988473564 20301234 922850612 1281583 197614900 610557376 577869475 264008930 621760325 250087409 891965633 242358183 173547151 616596724 142734767 634837579 19943543 237310038 101541417 999570988 571807867 136322736 444226842 530409372 374311252 381257753 736419479 378560430 163157577 3827876 399566635 4147492 24129110 174933598 5429074 74260361 785490973 435814901 338269290 259767650 685902309 82751275 354642184 859449459 699347998 497376950 346803389 571807892 587203340 448344805 423895231 159011206 584667540 868122072 541936929 811495143 101896176 278356407 42571925 265053752 134700634 442138559 269201243 11346095 469588509 127146668 85606456 107595833 562961568 423875745 367363482 248863876 506627019 722005665 960829686 58491368 71898967 307633074 630299259 659102306 755977879 54194489 670629863 193161770 774832912 212566791 4656913 729245439 343439549 47228837 994299190 478140182 341883747 116016784 489486277 811472255 243163452 575092732 919068088 806125019 998968476 138947921 907505247 505595495 713469938 868334932 564086862 785368904 28484358 46902473 296987561 636978588 953613313 967617423 830140357 580962577 32700565 687313621 310208015 376140113 587058809 157023557 854280294 781458908 125556692 196282922 445447514 368720143 771375653 217031953 27361514 770344129 355979874 934866760 128455975 69449811 655718043 545059188 707335066 536718752 591961660 856838978 173697339 398091325 676972752 856354048 979053901 709673316 396184020 141778267 938329780 983242829 298801823 645126425 617218088 424358515 841409347 62665601 645595009 612784999 279697554 672956522 235645479 488193779 460339633 216617805 410159941 968574028 761676993 117495006 505292779 206155004 826850335 531506470 604246328 503823086 387860517 583300228 66012753 784044536 725078495 4342532 619803716 876396669 501985308 89538155 153271535 343394654 152203756 798866544 808696005 284417661 324339417 44341483 772611439 784679050 113475640 182771379 605769429 875152632 152782736 111062207 81307635 979633070 495085028 685553963 335972507 882945544 121370542 254501611 519506432 698965388 111360494 991826499 575362057 613345801 81364654 728633591 956740455 86084761 380016486 617952811 370502421 704355903 514810645 143113859 341551304 628286284 178401589 947320732 503438915 331184324 910899290 437262902 163333745 405984318 122816864 351822603 141446213 96703757 606324213 513468996 795669145 717684706 505295495 223547553 331030506 439176500 804697495 140287312 525261260 184713981 758240122 895763680 889069883 125567119 38877538 83137538 753853402 69795478 30458269 109808669 400979801 941357558 547071570 416829897 199858227 522404785 768652499 193820792 619108541 374976711 707289787 267294037 92661416 65101633 343357941 276208273 504278132 148055436 269011937 29539391 185285768 27252058 925303070 74355650 5335528 816696959 10009539 759188930 886492436 40467807 868997598 139988588 834341716 416069167 556818484 34199943 938473951 177987334 80537086 410098843 552964044 787826872 529909232 498141811 852928505 873267172 626866436 357206636 21322607 895878372 239262379 59124726 775646781 17081800 133480375 780982309 833778759 143489913 540171238 572787546 36474071 261685187 565292486 870815787 677754353 122110969 757532081 468744655 152614655 838069166 731359849 705578698 478412389 261269080 56236861 331340893 134536252 683103296 541063881 8375210 431498019 780326259 67499936 207144799 797408058 53496662 988127107 483703168 49502927 380814696 56490714 938493349 642499882 474299551 661825487 172770586 448926871 271873919 494031592 601541525 109943084 225391441 159636575 440871825 339176872 215873435 772212717 326229475 751493082 165792949 187121037 182991100 946119207 107137324 242652250 743527265 13150337 83295709 79746784 62653263 464110404 136237497 853662964 959126638 463053399 515488450 131897223 911980270 787362369 478445167 513521794 749821804 703836607 673158368 43209980 43013478 741548154 815422697 221759305 493041235 981215645 408880341 528548686 779851204 516017664 771200936 375894820 529168000 854496644 455641603 444337615 171123399 444395452 298000578 130250036 907448850 666005379 114663611 819429119 305884099 593108777 185467265 55705903 149461735 711141984 98915882 44991564 452690138 766854930 266750868 798247724 600586927 675631208 326796410 232954482 44165223 97997345 608849301 573333223 805010340 64490903 17670837 976133738 508886354 168187766 106383774 268851556 834193144 73563736 88280674 140077243 519188864 126264290 48299497 668650598 837406274 999731730 566158513 142612763 619103012 832909381 940860486 72206290 361056940 120173247 305160771 405222163 70686943 914010071 978555385 875697282 978500973 848742573 704347372 339903679 16930338 663247497 608755234 851123481 736811232 549552259 843717075 108516447 528332901 892016571 777167044 218255526 744264653 195841908 360868288 363367664 28751288 154245125 435573953 242324580 126934724 740734723 500063094 197621666 507261145 331134830 925835300 338278469 179877402 630182671 678182147 49324091 145946519 139453732 900447571 882757750 541522343 596680998 991274196 69855243 341213920 620957591 288110768 85478572 816799498 501495407 301362587 698067138 655740531 736936539 792908069 782675254 330187613 292971162 832813272 837448757 624105991 758648571 28243578 656499744 241347593 706425724 705823834 387294111 698395808 458787756 122568212 239918150 55468753 966358759 162289744 396682673 439832701 450400511 334677596 109148550 951895917 636040183 807215687 460152799 225493073 452640107 95344405 555680686 745611268 928157676 245645794 222233610 539322598 273889371 878733353 633186542 832831447 437073538 20480652 531227254 895861294 995565215 623661755 951330046 961923973 785951498 200529070 254273025 88868360 535206666 363421574 40764276 23763200 23153613 353433426 249256272 475793719 301294182 804936957 73921339 81968209 903099103 296154948 621290806 29504825 27404653 106993699 862336271 464478190 127474350 246079876 212855835 975555916 869741630 16702233 789996240 655693127 217231302 44269264 744561486 604954319 407690838 637842113 628717518 430844450 843791891 877973790 906638168 145086072 535427098 980559506 227054281 438526200 129230806 700861438 468031025 9151810 807855137 182883647 473629999 787845838 428963523 686485834 763401754 298705152 703188066 405914345 806914631 772935719 450183609 403992468 377890038 710390798 41834581 6607555 141235247 738142823 737097696 900389766 883228894 272524794 733465624 962799526 563567345 715212781 663660964 31598369 724364590 324032452 66998368 50510940 111878289 495961890 736996773 727796394 794667041 292701190 133710739 454098023 65636909 436410699 858090491 296043298 146801496 752441423 155167204 140553094 490584245 892264900 893459211 226329490 17306045 479441186 41645368 580873389 194653966 705306331 464988110 919018555 29338782 531986477 969529495 993733422 27948366 559042619 721529816 675131758 704260161 707756906 129229781 622413421 144167604 839836623 918456718 143485451 592278045 926140273 284038544 935378641 670921524 30014106 14224482 688227568 509455292 55869849 121617309 704109257 761176179 439121770 475644164 643031312 971108246 297690010 489281086 851572963 709248980 63327253 379221072 413509140 771084158 360967204 35922560 915251761 53320178 806895629 58737211 645598222 585552254 195292106 433493214 256473777 225306211 447717696 797217697 734761502 503587544 918835005 291387111 117280075 210473126 619547626 760311386 34097723 917237635 102108823 885670685 479002966 165436075 117408108 892512106 936520232 330891664 780951017 704288344 384211841 440362998 615541906 29810063 25915251 810834011 315819628 134905379 888656574 763537323 932123075 475934427 267124867 703474431 767321537 384404941 913947556 239385514 997232678 948045278 9139500 99341501 686232314 488142466 264777575 656156774 233170923 53814159 987048437 14121939 758102502 371260277 307001288 373644408 253586691 185432890 36994770 569406319 172854621 925651343 185459993 104977695 254102122 452584859 660968478 21423658 689506151 427432385 113325524 686738829 227994015 122465023 638596681 766742680 610607488 903374255 422899453 843778410 957188413 262464241 710416701 567807267 633724518 17417988 941451674 739827560 55367230 830962795 161750230 228221850 609130490 347210223 185715896 863232611 799795081 699200725 737172620 341817584 126633110 850498143 28556412 207143476 972963166 519669444 973886155 583570653 275560050 249301960 279865415 85264815 511766200 990282115 653072081 998007069 860216454 447040106 737834629 915583683 278002900 899584858 996321884 887133389 99311432 34554132 602882351 899106513 733754856 340054971 93440448 712904317 43069465 121996859 920047792 16032630 494182654 746450299 452119635 769742703 848268610 731985049 855007517 212551161 722267163 508079597 210558230 434999968 955119702 800909210 203100003 85638954 553010419 199421886 825288694 652321851 233976017 428171045 403944715 967730873 620742367 497385162 533151541 663811831 471898372 305715685 679844461 966081025 52165983 131964095 735823727 752950944 716465495 443347596 965502104 291249009 951427192 28576685 726248976 759063246 829485894 929348978 697218551 382496313 128770864 522507244 34818163 215263232 803194640 291279229 35510456 423937006 788664390 568661997 87748837 260562761 874377681 620109649 79160137 779060015 604590095 814983863 384527310 173571941 110847810 350029413 464820949 62275002 378606098 191069924 673854599 60608343 120418902 223589501 443104655 101706117 746096744 330439169 169485700 401807736 621718397 57512508 825744741 262899138 626174504 766009929 523461898 353068536 238635929 602622034 984644902 695742375 270122249 369172211 869314315 380970058 571717975 334135263 295761411 950324072 377721539 822132361 10932415 350656792 45721861 306553421 304879260 644334957 489508942 474364959 46142692 111227338 531877466 724403784 226642828 10568321 342930065 750104725 216153208 581565993 205243111 200798109 129824720 327881711 422486671 999139034 708851768 994204646 185790649 857129531 797045069 563512187 679261891 660493835 914168978 577500104 967047256 219048237 221835060 309072549 545929547 120494103 272816238 77807013 844897886 499459065 940891685 187827950 102080142 157044893 621910295 307323252 210359353 751735014 635204962 632846024 750874047 196573081 627050669 936664695 53702611 276612089 352693233 585480854 937105924 266862210 15497309 756669531 338426798 237332368 65742079 884356345 357826470 338558316 814679709 55240707 838017381 755571393 243068657 940097522 765132637 864978951 99937125 975491990 469230316 587658438 608338013 72620714 784231518 87905033 9285409 690450481 364517121 214494993 128447686 154139396 481357203 143944994 910808926 819784000 233793713 976551004 556656696 591620182 167625672 371336404 646860888 858159404 979424149 742445896 650773277 744556785 459941198 750710401 572565126 929171513 190885190 33419490 1792227 975116707 121324522 863593987 518083539 338357995 78088979 499047576 492497390 411962533 642992569 403306316 84262885 876786281 232373671 640919580 320922814 252515694 12255984 820300054 110675097 844196484 562745949 761448373 441269620 22687147 364675125 13834746 804375011 555560314 47254235 806167237 383193373 21095109 522277575 753793263 359453103 600366554 252840839 851950492 12329086 748349759 107773159 96591970 477652392 340146830 590027902 798575205 592662523 454800237 471391610 555853972 298996720 34137559 169818696 740266339 909341057 534493821 606617436 566232419 942570486 653871671 224916008 178280210 674966779 747193582 932073473 34419881 200076487 37430663 738886724 64921925 785780421 846659883 14030246 263432812 39323064 604058147 914524369 631985586 58858383 385915978 40355909 210371454 272569888 210174605 950637793 34427296 744668425 409771580 600659715 539755262 63643250 825575722 718035472 591126380 425285655 650108944 478062612 625362142 687539606 69465688 690284066 325836378 916125570 704314311 589269190 955448633 308372458 356309910 439950570 219747192 742225887 480306479 430118646 867312127 690481083 233272790 901739422 287665859 643044369 354915488 827421120 559203971 33007561 545456591 2846702 458293216 48081886 480909314 83655357 588137843 550375001 626455774 913974221 319016922 330770084 355759762 274465554 491658893 712069671 714416123 711406085 306811909 47238953 141524730 174124035 737720035 374797519 928379809 25385893 17841887 135811648 852807013 429562209 168819209 250779955 432408911 479628776 151378193 913318224 415800484 739516035 316209576 42256257 653490255 635226497 225542692 9250016 762208402 717201585 573836038 329140876 428607669 880647947 376379829 422648750 54771981 114099863 797446268 835668141 139485756 667804506 971479789 844809120 97366715 140298997 948105426 382291977 472444124 99483618 148126552 888244607 838999653 464336127 930500863 345006259 952078975 8559906 206772627 714287376 725761490 780608664 43428251 6885510 513772962 272324431 429534259 421061295 386424294 79496878 256729435 378426401 747301384 80725575 75751872 697184450 73540923 23857297 79476426 545985046 975857267 80119329 434229652 667373271 544455455 217246866 12379529 349050781 225806772 71668507 63338156 951568261 704793523 959282758 958453771 218566484 84123541 240504381 639627778 470547834 320001259 748873565 701490586 67302642 829599139 777242457 617003443 903140062 653616105 548996220 449125107 481989723 629115548 735871111 149362993 26087354 953117976 14258874 375138134 31441099 85927380 290992641 835525712 643237254 102791750 646495834 861803738 186915290 887000214 353947867 509979475 207001472 102821431 211470060 126820465 784936922 841228868 596340259 688076983 347361325 145336478 989718441 829351047 626968377 725589551 978714040 505572082 531223879 845489265 880710215 415181329 783932996 24219207 250707040 427170250 127010957 897202873 141490339 166442598 636719439 347954557 676422073 843720910 303292340 740408484 823057727 88229261 581637352 419397985 628822595 928998676 417250815 618541035 610866074 896735543 196646938 442096465 402307625 580387168 287585729 135534191 995568496 71518725 12269750 98791888 351205326 139280706 995994760 345212016 158239655 485230550 693166572 687178079 181467812 996458911 427586563 4525538 84688171 861740266 276439874 566027117 643255293 693690688 37084504 254121366 442942583 233731441 696217831 845250207 814118608 836319911 833300749 662203455 760354987 845570498 760995342 111560312 837367555 609506454 309288679 995607210 94737003 2455251 535301640 276204814 998914161 962888202 133246703 936118684 677144819 409686577 354662152 320400111 103377264 391746655 427037829 398836198 625478095 123255659 96602756 292113054 812091921 929903505 954316509 572446908 775474002 567828202 536523571 465357909 177334655 845812250 313481470 124588010 700783852 848783109 400792823 552214364 664187663 534039526 340849399 341332481 943726102 695511551 514248944 899619717 87258205 941286772 150972267 565252652 917058782 247575022 857365705 729150702 177478526 664198565 154113961 805468880 84543119 543153884 270826788 261877773 241482485 584308257 386465782 942266336 285607717 639774957 494480699 949795379 26330834 835330098 143644212 970056935 383358000 657893155 722193003 470616204 599179926 873165269 35868855 368755059 120740291 745750912 97905760 150735168 262465828 104536073 956204047 347008946 647689956 79547186 461403071 889172440 516371794 847868852 683955127 801979511 340160160 30952177 751774889 366490993 866282274 895419100 189064279 102156625 405828606 911257282 572772829 5008531 636938902 461158035 226279941 610195544 59425298 176702053 613447064 174407478 281238125 422167462 521416423 781444432 501714648 982819493 523133223 18086441 683204697 207088349 672582303 23364856 238040525 276873544 242372201 956839151 24808995 431436479 58995775 430637601 195210112 484284955 288162483 832149014 945442990 514442424 294860909 857384639 691144476 908307972 31792116 972382600 182991786 405724891 606343383 684706433 241060735 129476605 555309225 924265431 189081305 80407880 800146639 427121829 357281423 42518839 236477331 382090417 326471669 295473106 812728017 521681781 779758060 100890500 206347146 577717401 615332923 501208054 287618392 158993750 262032378 319410507 131376349 445024163 725135397 590236083 982246947 966196132 719712687 390072523 742977914 908793991 470480402 395640904 188432171 827761824 290676094 424909502 209852241 617147763 572898959 22580257 138829543 205173370 975987108 197693040 782890771 443836382 698901093 70509162 602830131 813449822 242436020 586722831 110990336 820087769 176958913 93237282 638800252 749187951 483309805 234294517 510498293 953790206 629935421 698930464 634068382 773127866 976356317 843920622 242791980 549255275 719017230 234137874 754428644 547520690 431830913 389835766 991357071 130732006 312861279 594187202 796698179 407813651 33426384 907688515 227901419 210385297 925796 866701670 959573247 336751952 100996186 322587892 143058510 583447958 21518355 777126891 209092176 850391023 473563864 451884155 252162649 45097445 686022029 6591292 592618134 117852941 248943410 436491557 101101298 414321040 30678758 897799477 822134690 64105141 658004343 50036108 127006789 511446490 769254129 939096388 848198442 722766667 261684279 843773303 158730976 135718985 473416545 367823151 986110007 946980408 819707306 90789007 844594204 358245686 97380298 289728690 476098626 198840059 726220246 429716276 613161099 609415355 180032104 287812140 526036847 838036446 190364600 653043636 349482935 959618728 444656375 50197728 534901746 706340653 893971030 546149074 694575989 219903926 913972224 533202347 19400685 586195881 623991353 863994889 944441566 573888002 153723578 273056544 772728061 879943823 702772819 238405511 341875529 882804922 526217650 867912375 573357719 716582249 373472362 922840653 528717329 818128736 825554733 916135426 376985740 572042114 462284499 71561728 791946040 228773075 604764074 811346724 667485307 81271778 675341612 464443225 655159780 681581541 737499768 280404192 414041715 292788938 518809702 755917243 28110211 897543703 623829618 601467929 466642304 997301979 376824933 995359632 667947067 54896017 764011409 44932806 626938131 78812260 116494534 418884170 307585334 573774959 82747245 975070640 655046737 758088857 292030216 162722868 292186749 29529983 443127059 706228464 174835272 961936760 462145706 55461834 711996814 938491675 656929762 178639117 788310006 886271047 26515100 456257072 941167063 790526509 353706229 568105193 869338768 322717114 839505714 29440453 896492073 922252959 857027444 404055161 532858167 149057660 566778028 825044915 31103994 9905086 531273378 58455618 824358197 845935436 113917451 388871362 784427110 770847213 567510479 425253467 509634611 446541930 881510538 450801673 89584790 87733119 871423218 958923557 410450232 710928931 840880361 159458656 485698241 697907805 563513816 18556407 699481816 982808195 843601322 730585809 845229632 227391051 789041426 522104180 73326486 902958877 910975542 710269948 526322441 331002372 135523414 35957051 777544301 869550304 339275075 867129091 957283422 63214644 678568999 220250005 774143575 519449360 379708661 112358167 69873516 943222476 130914574 769355331 778547023 827032247 352457491 623776654 54423297 994015269 145880834 980266135 749490497 909372727 543052434 128329289 240375098 531092199 16802691 17919398 253158854 356077765 737564840 62958627 419292409 416133839 283208632 45952335 788099550 662917292 158310501 857973065 458656119 141741426 479844747 89719493 968773672 684818589 713496147 875713321 678833857 711893332 708495807 280840705 473782410 104064592 409169993 714157507 635156790 425972683 584593256 740831996 782050448 174674448 803790622 53859208 590808286 939515605 99811542 231424187 454949248 110638394 89397251 913605367 252379820 421758349 3324859 73669843 106576937 569337357 949383163 637927146 133747040 657878969 918767850 607529449 761943560 180454195 174203307 249616702 606426877 611312915 990448697 240993676 785987362 646755670 294852883 229311999 438787627 247180776 460736185 893736874 210335522 402649787 659858592 462715341 824408135 515699803 536385183 783501423 85037159 338284698 273944920 71300551 996163666 45229122 531346351 610623578 225683316 705549658 712756631 832110192 169378924 555721679 73103868 955366285 54993700 220473102 184678283 493781326 320170230 645414467 387518200 530505751 48064253 47376791 993221091 724988739 415592945 382122625 361006513 353146456 720407322 487467785 424447006 569087340 532696906 955793356 32227269 610896573 513859365 744983899 295523116 683238288 153221929 221143335 491120924 208215628 441616437 675799206 701996954 761786666 173730024 89515153 144808768 74310628 989408295 138029858 651815718 257517592 372668834 12822231 610664047 945592508 352806367 35111052 367196199 885503272 843420759 399423467 348916196 209796476 996923717 644439311 745551115 150145645 865582646 236672039 358361272 159715434 764987596 60358225 921502099 938717620 2389729 66310866 865544599 844314376 56857075 517360317 101831967 282042260 382698899 565012365 80151119 735505265 452639768 447347317 473524888 148576878 846770783 822441083 358373353 696210851 319396745 103924468 846356495 184979390 193112858 57234119 344694823 958100453 970108695 118713273 749334424 825014776 37540490 467395375 521845503 946913916 984755691 476193821 81472528 219970941 41206185 161623646 807992557 493845952 608970963 134033796 642422829 308258097 956474878 853312534 4468948 128387974 809753353 703341794 313367364 2866210 760575912 510578538 813483014 583200959 629291811 415333790 408215734 519348652 882729164 930061236 466262568 720001206 258771408 547735095 792488498 299977592 709358740 600481054 646339895 170846054 734514849 141279075 479104151 543506078 994591608 483573098 671894051 804344960 39431243 837777766 659727521 800007155 348356304 325726887 235724465 830164466 593577028 643940198 349513117 328822543 426517785 668292036 48823748 685289192 68543482 693828597 837783135 777902222 146826002 484123029 948748275 881340850 625402103 280368777 277363279 472510063 763941874 801773681 129371374 803373117 639551447 789098895 455896623 840424102 967342133 691621087 670588567 560919160 188077636 872618035 889741702 467111772 540910071 791081801 4917315 609453552 337426749 842700449 239872125 484252750 179339829 41136752 218109951 804741931 321505528 495473229 129768345 937963754 149763261 259139719 593853222 789314707 48238613 49749844 482255160 868097097 593887282 5360078 281532608 634481269 877978113 23790661 101593040 271404535 814872461 106510354 880858086 4815561 949210802 973246563 489068310 128550630 14383314 707178260 785808912 188405193 55167840 915577257 126368946 204931100 27233327 572738519 994245807 75471939 475004714 329017318 796085387 68891995 334377396 77617994 555889615 212355508 101408654 657482654 483760042 768797466 616509359 217134479 773613026 418236512 42897393 262681335 399303493 57280706 969859594 37628757 98202251 25027433 953206013 77087548 82474884 980439339 649826067 76720690 908427629 124830780 258254360 557029367 46239127 592631755 634647360 454645093 804987262 588572365 112127747 141263655 357369830 581153457 210914485 130982855 999389969 253811878 246180541 398693461 163608935 68556486 436322217 261811185 946100270 242044581 191415085 28575153 75000271 841241151 957812195 835944251 818588282 216066554 392973617 717343760 808698308 880137328 24505205 466201921 468709692 136632951 459981927 678595873 570302759 670896411 662095079 569692727 924708288 908275619 820902540 88317223 829348456 109741108 202644759 775448725 351785689 394059843 656540230 279302311 87817345 614352424 115246562 906405627 682935329 360736530 476265738 344149988 240873858 500770942 810351908 562099901 489920244 122850186 240695774 60223003 793746596 902790852 482432081 718454884 663582823 155850972 659288458 345447630 265592080 861933216 120896355 617377768 255993059 629952936 896680078 343810403 96821711 864442991 102732381 779757039 225179521 431514471 123907026 318569730 932285412 786775285 880669630 274722008 909625470 121365403 187461362 703372065 876672607 522409794 274343300 392771781 678260766 933631757 738219410 943852845 648081325 711632116 413746964 904074383 194101403 162943393 100401137 290923113 27386384 55649870 70680151 105082256 487164340 47103528 423651985 271966103 833878812 304321614 546688110 743504281 278203369 586665823 299392698 7392327 109075617 426252349 252680459 787336382 212400458 990899868 583705578 860481782 555048336 997452541 617072516 749149738 160395933 717473652 40072851 40298668 773123521 963269353 145380923 112804212 10372881 569032907 384770315 844251692 873354521 931458424 440272325 4074241 370640599 592181374 11466567 479716215 18433722 116663377 119568948 230834179 107563244 703274525 91315960 515127931 553243417 560904827 116794021 713639349 130894831 9383223 753938017 904018351 972652575 899318939 16822563 835541807 320868198 254109229 532309851 46739070 38084004 972582175 50813310 408724602 417279900 914796228 888440816 435713621 31459604 860526115 519064152 991539199 416316991 462896463 359183482 969560407 23801290 475977502 535716108 154696120 337877076 142170476 911230822 163046002 41489414 780569736 998587809 214873963 34678964 530897659 261613032 72762968 355996185 312426341 481487569 773276084 79738920 222444737 61506056 111198523 82970851 580570207 102737722 351804194 43466670 314437555 321364600 919784311 790415056 857080707 74480430 128292131 999251182 838227603 143854484 893256948 618797339 142442292 108130910 505992654 525856302 222260294 578755621 881852486 534686634 912759542 507644921 614425554 135204278 421667329 578140428 70691480 2237535 533394501 275012025 898220556 847832055 596376625 670521218 490763462 305973683 597517999 471571944 157741217 435745602 615426428 903514516 907059292 757868719 864161777 413051945 136241373 86422070 844323918 18093858 473625056 757083459 378255131 88050609 744804088 799922459 518707388 668011919 654676345 52101889 943023944 405413253 899933943 391916920 75934470 243213757 550406954 525968821 714785700 708148170 961714422 330212127 464179037 721290065 940597198 328340814 134342009 76838570 267279235 831182278 947448779 740904290 440782088 178220261 681471250 38102527 978142719 200178638 706114446 485335416 104796878 501654741 743265020 4730820 746088012 671715841 100460928 296494965 197684661 815246628 857159487 11915434 145458754 321338523 733205498 938572303 502195688 720063859 15410872 769474923 403762488 815376003 510379212 844544576 993596263 44366814 882647102 824255334 244545451 441277899 162107101 349342328 942932639 905372120 206589499 541537002 577087960 307050427 838031967 627288973 122297054 547707805 639204406 120272159 869046327 224926256 911360814 223758367 797506466 779288037 993233289 201268953 594664039 356128852 45813528 440776654 400495665 780976982 265031987 645041115 222254880 427139087 846899794 17703871 185027558 53489293 559240872 762115517 213056071 249789190 241920841 187869476 797496994 881125247 160657986 519059673 958567854 72018799 742818039 756074319 703823188 588567679 809859623 151003578 944696530 708189503 591780231 345192195 489166484 856812217 842749661 563937715 136467655 689649455 581641585 321495212 595655099 993398809 936127081 661227521 95704350 178047921 849096996 893201344 911689519 862271333 264777368 870257372 786806484 860111758 478848042 490629671 448679436 141224017 641633248 245892317 849413519 85929831 591084511 191096354 942742047 286350524 755034068 931726054 975999978 189192005 105737617 424171428 182590813 41864697 85398948 278295162 72428970 787012295 24012857 984118488 501799979 141306576 706892212 288606462 1418333 38256605 631752484 302614120 179480621 125902084 548506437 28894139 211831914 139590947 219990492 7090312 278457822 975024560 938816365 106974151 16732916 44553982 531145578 199323728 86418678 469060877 330135241 11363999 108589523 354148098 995482487 610389502 495454673 702374698 751512315 349389358 740631302 383264799 652003477 920111923 509166882 200509913 801522413 720998795 192617212 21512905 728089106 471075033 849053816 519421823 578049184 865786731 563975804 961711113 917626810 502910833 283288342 247762050 514274832 391877864 454426499 362273670 854783717 949881172 64648367 606296032 151786881 657796020 842077182 803790357 430424294 203760415 4300270 84463059 924759209 49433833 105975963 505364666 373025217 807546130 24786488 951074400 525849212 441278643 765301865 295992373 796705828 48590206 543754422 163497011 292984421 998180921 525770680 147768138 800578444 442935398 606580521 952365324 100731417 448657702 608672032 383672063 652418116 465488653 468135121 429693676 514922485 426627435 787574693 887947702 86689916 664877533 691538453 465055479 106156175 309356669 761047851 755378354 357946874 157318624 918875364 650931295 8015896 444646043 651215784 808594339 887581440 257796304 613476014 840829209 558970357 74664398 77017623 63904824 540153050 397669095 493598499 55075535 824296529 133689543 795539588 763502796 798567075 339594392 228558274 757239602 648951061 989606124 512617955 859414286 146924747 284009671 362861932 7456995 728655713 14077715 816051333 468753505 124390370 282043699 162099065 683360726 356708096 91633039 747265549 896861145 489302133 93380399 804453031 166115013 227069942 452508970 929617808 25637016 644619714 10692433 782876617 146087126 298556 148010924 5501411 999739654 432020594 368363343 7196648 13192658 234957409 675764333 334462514 359347779 810324383 496561578 42708504 19548830 588194616 789974053 916409974 77496748 883354451 573379357 96128112 110424392 878404678 25745919 988577760 523024391 36438351 623970728 669111516 889253258 771981651 527129279 741509264 56518596 895492621 601222263 69711254 130450029 129502947 256690119 342314159 939827329 753251697 385022663 959376158 193962664 27513067 728302484 123975764 763383869 154198192 220103875 726324613 32602869 98366146 714902372 408143612 134804496 191389451 77255127 24057754 963371102 456900757 618083369 872406049 204909729 219305631 794633654 187876110 348808578 51323773 530190268 141152258 657091821 915212930 100528416 851054484 795242348 828830899 827546599 558626217 983029090 47650474 137467181 868148310 146016619 852369552 276291921 133337466 43759002 206063400 9911571 859646455 662964156 627994939 584568856 867873885 699816922 379202509 55749994 48625499 283042633 438456613 42294108 940134453 206185895 142822523 643705289 1428242 824169773 471251887 412570810 659715214 371418712 550037990 527863524 369951682 254923893 656671796 355805500 151199247 862735195 365717070 10845701 378215703 846228361 447930908 98605939 546045282 827133417 6872284 447187132 110176049 445328896 489481239 902826854 651514790 484820114 546532142 505459384 308989886 870300380 918030193 968705100 94235444 468068183 349084975 464187125 722992075 5756770 819992624 874191321 721008317 38226046 737553374 951740371 884454406 38000633 50346309 283016039 865134049 909734944 582719522 827826450 207580191 72200760 583169655 859094981 409537225 129701796 217070716 718527111 852518527 135100908 539748562 946753970 455685442 741349888 263457447 31193869 599623009 83450070 905385189 173147677 974192467 495454914 124888047 711163224 533455547 27750707 994179262 251105947 937485650 429415135 931448748 145065841 354132247 514618402 856677173 763669471 496836549 73747888 334712933 201871428 61365147 874461494 148625397 517050589 468327733 412082843 548244457 67950742 348049265 306145997 241098418 174758083 654117263 218502817 885921307 40089161 246253523 732616920 291195107 36255525 162032055 75160207 33837717 516164301 589778608 743031241 132350123 939131509 669295480 467063056 141002936 730660626 194040901 142144684 100227566 662368634 554227527 500988374 730319375 754793143 807134371 823934144 929551225 313767985 42436960 815472531 353857145 141206835 400605803 645052251 177462359 562637857 720212457 63816427 931318509 162507417 806847667 63668631 101638925 476143146 530731686 95158212 59320123 724772587 237302895 12064041 239657572 644046773 513052414 969976946 398839915 172703136 646427441 180907492 486471120 688864401 996380022 840328264 830071235 249502176 337896867 860049945 812140032 58109323 923866371 595974892 73133091 730714037 659643523 27288367 59373534 42891560 122446578 118693656 620180498 212265825 130757696 859838069 856312597 496326462 682331366 107668864 669029597 328758807 288576355 155500717 870139559 137472728 995828980 552727145 386974904 186242198 412777089 51631287 96867873 189159811 647606179 170000963 919873847 159766053 49805682 831763732 55173964 24768611 802973739 675354462 237034435 786247787 535192530 945863384 282574248 70040248 53532247 951603844 398799054 194624953 959620912 121454964 184614032 807966244 674182108 571588935 994208441 86959196 475736574 91076313 128635358 123342752 113593628 48509204 135625156 163399309 732789287 190799119 188167919 535763025 866153580 425202354 174527163 253862462 223582089 457101410 323902709 129630687 261221606 575218114 324255639 73358869 696673077 508869670 881325112 370855184 932974957 875533553 310330731 408711530 819126217 438966088 384570633 932719844 339991643 372712140 96119152 72780929 563511258 284287071 461060305 282181190 562005776 635587468 388560003 785587864 945205229 712462711 915218550 58943186 140197176 91990540 132302055 836870252 600860209 13627166 60241787 386351517 741677070 370572517 795063046 560803287 662054956 32150030 346039482 2046598 404862169 442158634 927343878 820889779 578962056 240920534 103070968 140967831 729024353 344147322 926555694 674229582 56610032 694290595 733172767 49323559 786281134 865474821 886193810 239657694 731618339 946435596 626009211 473295408 169524464 273588608 886615046 831579419 305738638 232654528 686142368 563117158 527329513 466002597 384006936 106291568 706923130 339594255 99775750 288463835 683741576 26331443 962693416 592867959 573138389 548382534 642191517 359419522 266373707 380901678 599077215 997992045 327337273 77602777 323803804 496861736 351191385 62935202 180957506 656930022 295589729 867099873 72563531 822919241 333102469 456570467 781727160 892541951 648681073 881502909 181005785 184939001 760350703 996215552 777806959 333489091 397114437 272514828 545424964 663488143 653416505 144502178 513996539 833270130 74621307 690316695 182648217 425812691 753251896 363605723 82742712 48841624 230705595 7822594 724277216 416324416 464393060 358520727 308866366 113074133 240023635 342388502 150529485 374337 338604053 928336443 186379779 735718489 53367622 731804742 251722984 559300479 728823271 618235874 392570608 803444577 308552568 575218824 81773619 61804463 938824546 17032682 963162438 22046493 24855276 539956005 438370908 489248335 898476731 599753625 454838819 991016717 942142126 605368303 843907405 133262530 386221098 30287183 868981018 292105071 614608276 973220353 851405549 195947899 591456227 96492508 851908827 752525146 671711332 933682446 666845961 463052229 950715127 482524750 337615073 975570402 22480755 775985980 317335089 773473837 228255956 772173907 617006906 170398081 230058562 460914310 303660610 468796011 343717845 25157980 760901081 810842472 998378332 612306630 6790370 442350910 708799137 711215549 47392408 233026820 644897994 714238368 548595401 448129472 196763117 886210473 423699874 71760223 514712805 741034962 697750412 742968760 365725220 314757317 913366841 448300133 628187978 69543802 917096143 971905822 94701781 677997224 635264646 945596465 142820205 494571367 240463726 704135693 205786915 287856133 937162513 703201260 2094500 338274265 151330732 51373969 224484737 427546957 123134191 739197541 21098270 673400954 334682653 386823489 988158270 100565845 835123622 468862600 170109646 604736116 293284773 117327779 135249691 928549418 915440595 278069895 423120785 8420672 982205588 481424051 296276805 771884452 184625311 150887656 110158716 188472394 54777976 187159804 616019350 30428519 778873697 637117619 703829472 113556349 23941107 544504094 214122193 711581080 13366693 236748190 168833548 306651465 354075968 304083238 87717235 122032914 582153133 510838019 130453586 416875072 992262069 426730390 41275875 29403731 430134397 3950942 217876124 484912373 43627097 833895473 515340891 822500793 323529443 219170362 936057141 199986902 763674455 2695685 911567981 629557499 239443875 80401528 936208964 446036194 237001118 23926198 568069108 819154250 387280568 698522693 88545673 232058988 125253082 129821547 113979071 407903830 986288840 331855194 892816202 29915936 18267019 408157092 852416729 341796461 479843806 640990221 541783362 96034612 496202258 305867695 725592111 735646132 238785574 514317426 34198677 475786691 390759975 602267784 147457292 778040542 300790476 88519316 862615881 278559909 70857214 976594951 686463739 57146053 160966497 431796292 87061989 179233515 839953384 791995069 373546327 172313541 285501641 915329689 268348152 781703898 73713735 993940262 369866381 165015660 508257687 404065058 640802351 899017661 6332841 640775994 529574554 159639669 729295310 244706787 290715929 800152523 221301737 977179667 857298576 382268233 261492311 796876916 414018099 101445694 441388336 787564426 126275586 579406328 555410466 394623737 213626578 629124200 388563999 583492958 794139859 749338037 840074367 287458561 500872050 698923560 928234555 30446603 858563228 510046216 127669741 1795508 310198738 348971478 978975175 20013665 583756062 92983837 669406932 997774161 46945882 110795267 785338586 173221467 542717947 193265403 567845203 756344524 822389602 956409201 192353833 469045812 558263590 32428200 609020725 59135639 731351759 389771631 942098593 442431338 899817846 69768334 444226845 62532935 271256163 275718371 82546600 855012224 368702207 751953531 852786384 415648088 715265150 490641321 588869554 110499448 683906723 9231109 866843971 358812676 965640309 59197803 680374840 376420250 91626002 289395564 435555888 675494112 679167194 230170833 970441801 431501391 299939166 267184998 494034325 571195328 542903368 576580924 278723903 764121927 181050807 131510287 32286366 748832308 474667959 621155920 859331755 11091034 630387028 726175725 222420061 448543688 637889879 902794900 824963938 582032233 44706815 113036177 110042696 723874008 343207009 80484497 7891750 495662526 347669494 501926075 66857853 743089213 78506998 198098108 507211139 112074156 182124746 539497505 860906463 656792704 13169776 572754569 520400089 496073155 151446645 742820150 944616842 789336524 645615049 622097131 371368756 690321864 587649660 481411451 266712223 930856668 414412299 274603973 279035546 762081792 776530047 198409750 357687357 707553396 396507857 864898495 672143904 578632602 256912351 385566718 87941658 122598478 958321287 608341746 618671632 109767931 351161895 415804826 899104454 849293296 37901956 122989561 392131511 478067967 456917364 658843733 261440987 871329662 785964057 540476532 485927806 415010455 738886281 843615162 122563851 135394138 561030008 647224106 714026739 817942359 32790823 801968396 940540836 991112109 262826494 411728820 953396392 613988388 827533645 705017197 315798035 717951952 828006758 707929545 196019919 137440473 219289630 457460905 8770134 5253686 997937436 494697939 420264141 589340068 190829452 395344343 724734205 751859460 42568448 291277296 422318170 927875622 945762043 215375357 771504083 208588536 627104176 724900474 675093276 454637820 282434022 990891310 25106124 110440779 698820855 221126042 100397603 918110484 531103298 109167737 775880521 381557085 456382027 48661013 970897152 647211479 444005355 548147709 399070938 339090154 839425004 821389107 119482128 637703398 36764463 890986210 846291934 516384991 468403035 373901561 971022810 750837056 364792870 996128933 713794187 916130076 69771326 814191789 686756911 600874623 923359525 462637432 982431707 232257904 511298444 805845211 879469382 807820151 353992919 131056671 146910304 45934274 952445777 118908783 683637671 841726591 9894992 382445956 210627933 478298026 756347516 34167095 81651434 973656738 30296027 795445620 889786813 952583705 609637408 429060076 405974679 385513285 891697507 240922738 617771188 255512302 46767948 349756921 63332452 253277218 480813591 62759108 299211491 285775719 34184242 835365513 127502309 44079234 70327821 190646594 374893611 826675336 224813688 456545044 652848425 107626066 251990663 395151590 60209770 714144423 824211665 466184449 99657707 568425523 707107186 569945246 823937824 606391485 919702166 739786628 859668702 253032108 655062087 11396544 538807826 689246328 846762056 518826486 585841913 917089876 709473079 960735524 596281564 934286766 417280567 249129988 41912832 521787582 644281577 102122601 235932004 321009593 420823401 188106062 889435115 980446938 610567659 565889291 586838422 382786176 158192270 299023475 635818283 813254356 310420018 174626108 355017035 157182074 693452593 940858948 74271949 255442024 754110823 523069864 189728789 23907741 772199852 84157972 545695322 268997780 38796925 781627325 590007373 459620325 822249738 331958839 292583615 432817396 897848129 879422036 815603571 56040398 30961863 303938205 721811105 341381880 478564312 76828140 498563953 24533257 870203439 425352254 279975280 476830613 948422117 322220420 500738353 573138320 406378392 46433675 694652452 445175316 680577351 137176176 904795640 502827089 469135014 49895606 788160836 366983143 929317642 456280759 275539892 960279504 760218963 997350997 154177735 91299627 926695488 652741688 115832883 649415278 930610293 248324514 126245890 731548761 570544933 626984242 157203433 976923324 525934268 851855884 422098639 206511619 989032059 179410631 561855059 458167072 229306236 350015894 677666566 11140229 806296652 953206458 823936084 419031967 950557454 978113819 510331593 729769293 483371858 626164475 379184570 413982150 874488988 357946811 145530910 297550272 984931052 155250694 274473596 363381672 7106577 549088586 569893290 996138635 728499216 131748348 306822059 810321804 334280593 984488624 821462032 993093597 790211433 497914468 412125563 593285238 476028286 922457155 323054530 959400143 401137981 554755451 225898644 128143320 912702261 223945905 425693591 750149665 379196599 552683538 113531336 238819527 101772124 535940977 87474514 682787691 520205676 394296572 493109494 854486268 231301547 167087878 700096216 21512980 665002345 112221778 467314569 993546982 887195284 790369099 805463476 140849616 197640901 31362119 121509287 110343162 107824375 547202878 860492826 339537325 99886415 826540513 578356852 54174890 362481489 665831365 736962581 882687164 60127936 82588426 589689783 143945834 102192655 142302351 17975165 767194999 107040480 485289734 613258332 994235764 128175184 418721807 987601731 325816084 302600277 109111018 288675597 262941004 508830247 1684774 602478328 461233013 828225286 180835179 515407903 43223126 846666543 104886835 925910289 759310830 39991612 368116424 755773016 142184267 510418774 773748180 909379265 617459253 111554265 375153949 464211368 92245800 793875755 304329451 418061884 948992384 413440468 706737480 211933387 922270714 708422254 814411714 236020078 389163891 847763245 751427980 432387017 546946139 708831166 210813657 158773321 748822778 578930080 914546336 891007044 941865205 540810867 652902660 411840810 652365132 28056608 876052177 744610931 674448715 32897979 15189166 623441098 446338446 574442998 687890836 221125511 135381603 354818901 457145589 524545493 202582145 61089920 956932509 749528284 769921086 167746166 908301604 371260215 599192597 675364291 262267258 541057802 216175157 915169917 952898611 721056640 795742877 681467139 318183923 470191591 714365118 333373088 946149040 13219915 907816085 634039875 86861778 43197687 988858775 544007366 420259532 43957272 457613637 377192040 646001907 80051074 397454557 406819862 451311288 996647154 82184152 713578545 390221307 150875660 481264814 195636269 871932300 129524042 877103407 190116222 599715632 443984876 376005661 398381023 309721143 136338098 32420897 396582920 32052136 873796023 940590285 452311667 770269646 250720273 829503707 416271552 330771347 79474615 823091413 782082634 76121768 757791916 348177531 466343074 908667576 829442344 661979342 780599875 958966385 391599101 823232448 411198368 688100328 199238108 809579390 997821470 335576205 694516638 394404389 367628341 420829012 187511025 819940007 43615010 438231298 501960065 459886561 769002644 581434680 135494326 403601629 510072799 893286241 751779159 976415873 654470168 433737854 490911566 287586394 245220590 735027018 110818841 656418957 423127346 162573301 318514698 273465167 498149505 865547687 667869556 718294197 138893051 707896932 390750556 182508060 146128229 892710620 642394620 767647224 326661651 630405297 23765205 836734450 376207890 775544363 665666674 30678057 209282217 9094591 318264451 454502806 744121609 281599643 963438115 19765306 444172943 134469164 293230472 942322448 16851 813616379 513132996 138909901 521513311 903883551 321417960 520157891 649110523 816328931 140321467 975772173 446734228 164086671 665022974 822942117 939631033 183205999 706136525 1429601 44816942 24400975 308448759 788938550 158516970 271886873 661220207 602689912 406356036 954450678 397528711 258889238 620583409 910661707 397799138 142096719 814545257 571733449 514770961 316172131 388062380 507608779 144460656 687312959 671695449 809483629 362771427 463842834 845205980 68907951 317788786 890022921 945825278 626237544 531477822 104342247 898124416 192698028 707032158 156996804 999665057 104560869 415886041 620248465 867738927 666201531 614861535 534800535 237934979 982148848 850972666 478513710 489757626 995433321 165826668 13969427 657433301 528598094 330328612 502639280 450022397 648117397 245178552 395847674 274354941 776656373 352706272 24995708 969354400 59738429 34508863 821535809 16815649 450394904 294300625 737070927 116596434 909162160 271871462 207047764 743827359 122844127 685561474 86101336 970793799 703904493 100070762 628227099 85018939 430399373 983382731 535041335 78516770 228561282 930889008 205388062 5217655 136111631 82900121 827088406 48366411 117408984 501140566 65182060 567803887 795441191 654769338 536916672 557119702 926640799 596480787 300947060 902001277 134558612 387048395 725311427 838463105 339635509 206054878 923482043 770034881 189437608 458523377 701068002 270515241 241928736 758972415 128249247 378040366 841872536 955337653 426406776 959281519 308994570 344105187 379601757 104435760 998874525 916518428 661555461 778031675 365515566 815018872 532549304 500074178 54583619 110377082 338537282 394219127 316431959 114535676 16770359 505869566 573059052 717838361 776384807 667504139 329327127 904634053 45544504 171199662 712488057 324467631 130481180 21482627 521089170 362599288 978434738 372480046 131634067 492506551 3028072 497149633 307525422 535577375 997223810 362109040 645954457 188277443 756328166 962386415 302813118 773098525 320772333 875872169 343453237 949673491 395892659 672780363 706823895 293953514 696496377 271828304 618421144 679493908 145827282 139510313 42093196 124262019 364506710 173727262 616768569 367534782 670876894 776810343 903112156 520617055 138919382 401582964 708894497 747763900 216485731 11707614 373378776 389774415 740096134 569348364 339447905 135988792 94645078 46271799 429942305 791141454 170616454 900879801 470635362 316443735 892906465 365244909 440705754 257413175 538972170 909990674 624947956 62365416 686801016 380576463 582982470 678236750 634675779 144393319 278517001 851161509 156100932 504412128 93452275 896197066 73760491 432900179 884702209 168405568 331688329 167160866 959547022 502304783 68040666 282698735 818748517 960947130 647943643 111970622 70876656 39432164 21961296 548340963 101797579 561278663 928917426 537296401 92031764 416109556 681689719 223065116 119787416 690307002 727477243 213239690 439020419 801237733 646139868 323722628 822159653 830344548 490883493 634223026 185165682 411440510 916921760 3914199 224903991 417381754 968401172 295780647 309330269 842878819 844121609 263644200 256673834 625555386 800940600 348705597 41664941 335146670 571770713 13968708 25453671 151764307 227208397 316990442 953002040 873348264 640713069 627678044 556209164 984112913 261901069 741374845 395553422 31339180 597805395 620457412 301237285 566206567 768754410 610567553 261601737 465392371 874211752 518275570 90947756 527668703 866981167 985129049 862815372 291268231 999097756 740785395 443032537 78822505 57775836 248550928 952170768 551005256 876228971 360896283 387634520 990646391 102271128 783187941 21985570 700076522 256161704 175739206 118799440 24916114 786306759 380401177 342824836 660518510 898676746 286288943 40703565 618174264 123934343 903518936 761958846 123032099 496820682 57507735 54370955 407112869 306058662 6541722 810634476 34803985 219954357 198268995 25450375 322225484 833973287 899952297 874818357 90134991 75691502 993617797 967567456 714514612 226535325 162908643 227549474 977728422 449197585 268253038 448419038 573131928 24288325 210377883 548680378 521109007 267885617 603051332 780738227 426460631 462109405 591372703 461264615 682063761 642158049 339231341 4289244 476131336 91699989 731623953 418782678 19907843 577758101 238866485 734422454 804293425 401775127 961971927 634538198 850972711 82741316 82957235 276620990 107029641 145851470 825301367 628138647 413737086 428352698 261393225 840197716 890462103 852765927 153978682 425042215 347440328 345726375 281847811 823571663 437426363 13471763 94870692 309850557 591229863 186253528 44273011 248039639 588028654 858761289 882577836 291517716 941502605 818051423 568138706 48532245 963902892 245956424 529187243 230156329 674309122 790580467 70354045 417287576 495862746 76849078 842329790 843303073 422575452 124177600 519391087 712518167 990165714 466778130 22368723 433911928 653031657 919158085 681951566 93576662 630435726 417045754 385094377 424454682 87613528 805749434 325503278 51516419 51705858 854690520 281672747 578531331 497787338 204543143 995818906 846166435 133908573 690665047 541985859 556484024 667358999 61376945 121518542 510041064 380671426 143887265 943952992 33703082 63045349 478420909 127279743 545997426 895466662 364890472 970452107 983080189 170639905 295955384 887112959 74862114 3162255 21302058 653393444 353465945 225845200 501728701 199632379 359753772 44910100 741618238 768754148 712269098 655511534 890272689 74826513 36182960 34159953 18779504 922402393 949721654 497200413 49682136 348235431 245183426 267088959 318687538 80779967 437728863 467159273 967892925 512590977 470321528 989194982 18500772 823787472 67556534 520229473 875936202 279826657 565139572 470070791 48580804 129925021 125582325 938853493 204751533 14281636 825529797 223531037 789200380 627767802 573247801 691398867 976003233 818431226 958487825 147207122 751727544 248733040 614366394 572136821 761324016 937204273 413848154 779824787 613508096 481404687 152570611 489444298 761231344 717710182 959515088 662328499 847635202 937613764 453698343 52386735 804411751 131744492 128434123 446128483 759512293 701681923 137527349 588031877 372629500 96015174 587755350 124357044 197264565 54638096 696493864 958588580 991842368 110342017 590929718 605350464 444263056 743500329 947311113 58010751 313726862 759342552 720339249 161362064 549472668 26553944 66265150 206400770 158298435 194699272 652529252 917810727 896381194 790056601 358358956 269010693 738588126 946114305 245884088 935852690 752400 942377951 746957621 845111120 905236320 190403690 302977935 202015727 786420370 250289047 112542829 100147232 9631598 832882077 114025647 411620617 859436020 180290796 618021387 17734454 374990067 270550638 788061533 271371260 913123590 998936840 392898304 504228067 797567496 638782392 292597108 650836248 433676694 39554728 495947367 191429365 82474770 798925301 393445091 868895139 901730699 505987919 821558722 763878648 191386348 935584368 175499265 903338719 115875163 793520651 773589525 490865229 916587640 414167409 614752840 829711230 413104248 7651144 186455648 63188095 646433535 479052756 714024342 80110228 371123835 62488060 124055945 453598604 861413360 517501035 175010095 615660410 876005306 996568816 379539058 67391653 784669536 407554674 823246723 900544698 53591676 596836247 243926279 970179315 11003655 858679118 652406896 276624254 718846613 838862544 339812349 217796499 317915299 53836690 150423079 689039133 116324750 274479023 995154089 830254461 791980057 22680535 298431223 520501714 19249350 677970280 440409718 656435237 85524953 263656441 409496287 139116628 713009039 653422565 961812294 576529046 364618034 614219190 853153299 83464647 305598085 45481999 153777497 623513383 951835041 304200575 165068867 920676142 578679597 12739307 603446954 223176006 35419841 901878176 743677719 54669191 432364807 184087437 563620779 370406111 300260229 973117065 362039090 13269267 479055981 323851384 589798312 843674015 790586925 295467963 779655013 96185009 193466313 933432509 572214743 145301353 90149436 737283609 65977494 668829032 750022916 521940800 892005037 785442756 423818975 635682756 692628298 856183782 672286544 108765429 79106244 972546772 81882493 441145334 985816038 560938474 764996717 428130702 257128840 408099993 576115016 889300204 504285001 769581328 675249064 76499743 914882681 765398499 666299703 833376526 434227531 268838970 207833677 178748919 906798078 631652652 814431674 451942727 340352785 339234569 560708155 419459028 311781340 642590648 860604361 150113730 56045473 478117429 430760783 165690664 886217421 6875798 54990867 243018773 776457125 730239930 172034867 543856157 348154781 690850922 229749035 782382311 959689891 437582711 961131229 719004320 921751714 628079255 170947047 114620850 967313823 731655201 534079878 131611515 226762200 247200590 134241596 135324024 577834371 565002378 301014687 316568143 571878175 356005553 559586916 200851651 938761835 584138134 597224160 286916615 274989055 826973194 921815277 87195298 117072256 735462857 806199617 38823970 216058463 829663015 5961171 35888638 413834568 540041048 167500152 640596767 639757990 301741747 775920791 217592360 866744124 76935477 534160502 291138650 285457382 946263769 344506652 76735568 530401903 941730811 363652182 657907309 621220356 137983810 745102606 738292612 873446666 403818575 629632933 89505129 85997941 635594103 125393766 499832508 28151503 145410269 140429275 667909492 447152015 768866417 738018203 166412490 698318245 124695056 310067491 836291978 70958825 654574142 913027545 453877079 596304953 129196078 111784387 70041660 267179887 709403345 808334271 140626553 113221919 290483555 82648033 51736211 778594010 208041798 551568719 806745512 353452066 544514345 327171355 653120432 165897113 65189557 819532921 864215357 42400964 129600411 553023687 113359788 636690904 466051231 567236866 85512208 595247309 531537605 155553868 862427195 240940949 963888138 855570099 206679219 106888045 938218131 258415429 885482054 146259928 809984147 544743917 352228345 207014843 724431623 5348776 372911955 642137531 677398048 89643664 684538494 659514810 642667350 797898282 148722066 108718580 217651499 234234273 556482240 749189103 389788140 271425787 842646403 206192630 126995885 49325621 313080674 917730368 160257402 51079079 916506647 822757900 448339347 121251344 29772743 172770969 126600119 402684697 814908499 656514519 492328360 351963344 168545680 134995709 2377977 317267745 96230641 220029476 551502018 505229232 821734930 941290157 629171370 664381333 147482786 608683607 566223305 313079811 526413974 578997058 216675241 295436972 401754958 665014587 416688315 284044052 837785555 395804786 686728748 505210405 52319304 31573460 857173749 73381335 19085520 859551725 243165432 967832512 932097552 794667449 325578096 753832482 588473957 954749465 270730166 588473095 563433071 689469822 754069257 942363396 268466880 970744498 237800368 522738189 635759084 654488682 806782240 326060991 50293467 346027339 683787747 955129122 377600798 393477847 881026809 249202670 105545924 124192240 217035181 37643475 771376040 542613276 643992308 212366348 349879093 914722473 800839442 913312163 456708647 407425051 708191911 725175526 378169548 945992278 100430066 866444983 452997311 907212305 45022325 355807130 253239643 728810072 163452603 483356793 122287918 44479411 732559462 227833841 21188002 949594642 117993668 792564041 344724270 761985975 4930389 694603362 529224800 658286182 460431876 985933446 65711232 21140138 563625323 296397131 967132415 664055388 15358466 272646078 571267692 60380790 480969559 677023686 789190861 644422161 160380478 911478779 541417924 892939939 991828971 415122277 695050933 109822638 60202670 892291554 871808613 65133058 439411267 253549764 575935591 899843142 239483209 494163175 920983280 803108531 643076657 740632046 319680270 658435122 865794475 890947961 718815912 346764033 420487998 508006772 843702546 580868476 272001902 237636821 326324766 116347225 652759097 873892050 226169862 712961766 766183603 950494826 630611175 58111221 204044589 59063118 957954363 296044149 553226292 731453994 99152679 48819300 324602391 271349300 707254422 42913218 14813612 426070333 389677250 435301610 786593456 85896147 16170085 58595358 323532967 195011202 27458934 976292064 68903252 253628795 689253829 687603206 56639973 172381356 745714427 260684561 231444473 556185141 556728710 784670764 140155486 508397740 833490063 317274228 779747040 393260836 360187445 794560651 819331168 749864695 82378612 458440976 835760841 98548696 369552685 11810160 146076250 397011618 988102223 67495853 650640412 529872403 607615410 707280384 702253758 205846188 820481297 933698230 762031328 229726358 570885345 754703165 738124097 256891760 71977393 370387488 650152595 432164837 17464491 322000115 34545883 99843102 780441090 722823076 50908150 149993774 734633235 49500751 547005391 722735457 116996603 50162154 105124211 724612012 609958890 807377969 930458200 430440186 741076198 545005879 660166543 164477895 152225396 250806991 421369654 224202788 473710831 71522248 508883976 491175321 393522362 543429859 443534774 26479803 118769286 494442923 176473576 853402520 543943673 575995318 428654328 513456627 626157472 533778538 90584991 88632713 341156506 21043190 519072898 934749056 418565420 31755792 99226950 570790815 135079134 520596603 647509954 608789964 444635202 156393930 99965284 838157564 552340140 396016410 864637366 671109425 890459332 893627294 524511944 286919357 469622611 953166271 800375983 948296434 339461160 890960973 36929146 680617666 764520514 408518395 467883073 35602286 440274186 567110022 458909452 575353320 940222976 106419406 36659635 384858177 115329687 136624919 75532092 667669826 385157680 792685810 338779250 128133363 686313103 715807545 415052719 8452065 521490167 67945054 956748499 860951326 811422378 846193996 394085343 428459244 254712391 861968415 464061529 547502928 281594788 922970980 122856247 221817763 881906737 12032234 459192292 997236423 1173504 534724383 664906248 386331183 179926544 856201849 514464545 866239646 572009393 929517264 727208063 93499559 849978669 536472913 806967237 661401046 382666908 201052579 89860289 489895650 63020994 406438169 37398578 197132133 181925501 12771176 418949896 63832237 24803409 878142187 913585012 25976912 265382921 431007611 412308094 445309465 287209460 926772639 164065462 711735204 708806254 891273524 657751115 411301274 280262788 464718351 72702319 662929696 518287281 15078960 5341697 433824626 274033480 42740274 630956759 308475332 55511450 49906654 224823921 932831210 780565192 138408932 958808122 898464464 569416542 223632567 196290280 709142353 2921557 360355742 420877557 564244162 104145617 78628671 975545435 384408405 395863373 900764106 899854452 914150653 768359417 905196148 200491631 42392896 947936422 831448389 203384580 855964223 733871394 428208500 641311784 366952937 566617431 452636257 265417400 988550324 676268824 461707680 697692677 531706732 674579773 971086585 95950894 778725389 902231607 71496328 15650145 150611331 824776785 915504596 64761983 593136201 673217096 117769965 488045449 473669869 949218353 691430028 182150443 683089746 119638527 823462226 50042682 538772309 276098483 167976434 379838984 804883658 482200465 77531660 336590389 156780237 901134596 285057634 788021977 803366202 209070314 803672122 953977532 33847098 571693069 871255867 479499651 97426516 989025831 967545099 571096384 790760536 511491478 753246826 326366633 483646356 576709052 228925667 874935016 705323886 396902100 254773999 510207543 879102564 184822011 699314283 888399152 85956606 984371917 676421128 741839160 193442230 332609601 548333043 79805679 756819022 272105261 559305329 854245537 113647444 379366779 425341921 904407979 890858256 31105098 83290963 227020963 607814149 312216629 101955978 165654386 709118728 209246329 675861928 440737643 246584691 227692563 181653146 185057648 212064479 858074274 926896807 258023060 43200226 327746202 337828738 800019247 452367814 897134067 506781136 566015257 276500845 932123056 322939587 19875453 963228153 406230550 99412767 423558654 718447178 53885097 589213039 280082258 263131425 117591319 573336252 509716115 345283881 754989398 694773762 409864711 465580023 474186921 667887770 508780248 654449474 5716507 161315847 106817287 902850573 668096982 525348896 31867770 452736389 848288482 51743222 268480893 107035383 3672340 544555898 677998913 57557436 133768937 958081170 320688860 103876607 383933773 682921326 301676839 138923170 230211440 711541549 604503192 704398360 379429318 965799792 211364185 237662176 127115638 318181471 140512749 647728971 843530366 24896870 952981711 544335200 929156443 73978955 503886934 932828782 618534853 181885846 990386218 604820141 992483367 163591429 708696747 376417140 846512755 10373585 367856661 76724194 574431485 972359853 633638905 953860802 790675996 845003089 44039329 770307985 15700911 37068429 270553307 859231277 61965298 223535017 256082828 991121740 297513971 759969761 776466874 916048823 794371959 766853091 373385315 786855325 930444519 82082061 15788816 629473625 944971997 383645477 706197818 371919833 208521681 192353074 178296986 999197676 37356162 222336315 622022012 53057073 259404743 892575318 764804701 321370041 116110334 20887528 165008132 266140656 633373640 941475005 34705831 280261950 560844447 408091145 67117275 343805318 342689558 935422442 973278942 140177906 171584270 531993112 512097739 380105950 724346185 690394724 231819977 614218699 912731038 853841988 667275771 24652133 598933657 284596823 346022173 567560342 158000702 363546656 833700998 791374341 157538013 720923180 71636291 718382459 129014324 991269917 914704128 324220233 779208710 740499422 316914491 950792980 125008885 829012229 183415281 849355069 371923304 415235258 316090119 137170694 121593597 983365889 161822826 720527254 120479063 360361350 140603947 278479764 723908005 974304944 69854105 881446017 547744475 994006747 452344828 529275151 837793015 367048955 853495383 469518076 107548376 22926225 420311055 85073612 851938453 603726336 934428681 76378109 871477945 103035151 66065154 993071541 86401040 227887979 566115146 59396454 588249328 706719093 337876218 164673684 533540388 260246674 46119701 81284863 106769772 498464528 463076365 944562786 718029834 169088099 266597213 678094562 192014324 686908268 763168173 43952776 143150955 550113205 972847236 14628899 653148356 38912389 860216791 592065747 119316719 278848289 651462200 707566046 838083733 989338417 872239730 224140472 249585090 770875782 157941686 356354861 121856661 621018050 153433998 839886494 790106149 420031211 517981055 982120472 959455830 133665580 878589599 102606784 683778784 851436835 969752034 336927139 742865575 682485176 928992885 862182294 813849816 432971437 422264691 651933548 422309853 147020772 876074020 524411295 917896553 34015705 880766155 39753213 507550107 886716505 879639707 297656255 159264067 250137113 132293078 118719896 383802692 10882676 73843031 67581476 714835862 896111416 257024966 457701437 431112943 38534203 172400082 244962759 471505639 594664772 749412658 746331843 741685544 478003029 270743137 659582096 364535086 4025644 551851661 872085192 890742148 284007719 22257798 50006214 534144831 154550875 21242461 770463875 165433550 95085491 690561702 880269412 843713258 947586667 190487200 274826200 838637221 362887281 372305310 162659211 957552052 121717968 908991054 551753947 599720996 32250542 63852395 964256081 36276185 615704055 688857624 779534684 899711773 711115421 682057249 286372955 865666295 703299709 56836829 31099845 650901551 747398530 763885608 347131160 547501549 806889159 621957360 238655121 22292791 994262669 401314332 979844842 968496988 310305385 384115141 420734336 342555926 447967535 237506768 231348463 63671589 926364392 10883146 963383361 637479812 692940395 102272667 355662459 248756455 159109496 239278655 752174358 759024377 3164262 99305517 159042277 662569772 573779228 397697398 684862562 420558249 799011729 517223755 389055236 109317113 901338895 809789571 304389390 349306429 47296339 535737852 265494369 826177082 399137350 81394081 316173245 92077744 183666748 671835703 193350550 342776243 911114357 945524907 101800619 766794970 897346776 113359248 429364741 471126003 511056645 114227302 891684251 310068373 483967409 133255839 271901837 385306303 795561761 428807578 587129084 695374451 964545430 852623452 521551532 216199131 934017533 837724777 160793226 117684280 362076831 354143775 312976874 273191188 152185034 267293844 39986157 49531809 380653091 321867250 373174163 891709735 288610903 117374766 54294459 772578311 103146956 326196295 10400966 898708716 755003873 597530049 594083167 572065654 302669852 968151050 788264784 236687384 658392178 949058009 206888015 20469009 155718135 519864888 146176548 160419520 787158732 38679056 62467680 167811822 360546305 435641843 59521557 501673560 405532960 113816015 126768222 508679915 292528662 137169187 407388630 900048886 587215587 853988148 324630891 889885439 822139198 112895674 126572822 333047727 914470034 185977189 353516735 922704520 705842076 499693282 83124040 493000807 538372338 145591719 513328981 751434994 433749913 425366889 253108553 839282872 391699255 379876775 347962786 684227916 369562313 607867768 436793153 956777900 461855915 761424043 846663338 136511464 726836068 825752511 469559191 493822453 11729699 675592277 416526973 570088127 27801911 352167364 63088933 566174248 497759082 428934265 170125593 931508995 854301153 423234146 623308218 246000408 655627272 971271004 782744675 25189584 431655123 219537828 981967483 893511037 980961870 681147172 882538853 560314290 359416035 204614395 54136742 223662085 880206671 323180066 793750211 908008581 675347429 709355496 326699180 25622863 138289760 496824773 957131857 845107265 920058918 432956426 91107672 428202541 256743781 726368698 453392124 688398903 945906525 287875959 434426292 779384747 821539482 316965144 192215388 33471868 521579538 246352129 257133953 254302560 569532195 903400515 162311141 97395975 465272362 489010320 123018837 456078474 985835092 80150693 301185738 758410361 365623471 244809761 39129253 622367251 971178458 492521377 310766154 769601335 632913687 745192445 401502433 454453168 914673940 593717820 487925036 288769829 692586300 597575340 543072388 114634846 500975854 705383528 212030821 966248216 46910200 335049657 274843041 885261643 267716702 576028778 496188356 633340172 673354890 535317608 255707422 497049699 27838984 418989927 119167385 513269022 16698723 520669817 967722190 931372662 966903988 308163577 220142490 659490288 905738916 763214878 774125133 259231121 321114757 986155953 77995688 220541308 173721962 352838728 105802951 441438663 781383857 601991306 74778834 454738746 137308913 183002607 951788445 17664249 601992534 70955829 383449622 618691256 444141998 203688163 550063918 263562337 511851739 622722759 923052624 270107006 238453988 549694109 381854479 559568745 388366413 459850166 780110052 562088374 665205246 738429354 3527036 446589102 192937011 930822221 753844200 182762276 113824828 558148996 52942876 715817361 481621176 436392497 187024968 925763173 640080660 737088885 41841862 4448750 212327996 964894485 274555756 450781983 367104945 656410234 10350727 607987710 968776751 642977131 22592435 633981996 233922836 26119471 933087450 426859847 809458043 686931649 609622122 923282870 97596996 662564997 491616582 579218171 98957493 678641550 357497696 739038152 268246786 399339557 743486902 480574781 216750393 870559009 931356764 583855338 379485594 794223842 44359399 348262344 289717324 66951833 834760692 523640160 93071303 767848141 950500006 755045698 307296141 412638479 530844919 404893136 75203475 22461501 984111306 26677319 553619402 194125353 765715471 674382539 593464909 361718724 7473672 810215302 84794084 938830435 246586991 464279677 585570628 290946389 812542020 727804304 357898221 499819063 103960815 303485876 120183555 54460820 58531573 427479695 319615650 589376491 684889182 394819124 464354343 521516840 421496442 870490096 715642192 39728264 544872635 309107101 253963339 552346306 119322402 338757422 343693092 218425744 803037098 781780071 509372132 468095470 509584374 867270352 967914532 613545188 170756227 88098087 520522359 81804151 368094133 840138008 671180642 52983315 87473483 988051336 574500154 361486277 858541432 142658697 401214540 255930418 451765797 655177879 660793075 423604550 993935300 4486166 642030293 649488750 638782588 3918776 117584219 883314 871189128 85498750 614428501 41945354 26113188 987467212 123749505 394207321 680121571 647446498 299706987 767595054 488014185 874207140 129081330 199071968 16865836 382812221 455002385 321147985 890506451 115795459 597268886 736958103 972797976 91815531 386446852 464096916 95734306 356547422 464980229 966923433 294562523 79408729 861385139 320675711 919392292 837650995 567399383 599513863 337613844 867106369 219625268 825628028 593829860 201222949 24699996 463212047 436551521 332218732 784360031 327057972 300530543 234145269 64016074 125844870 325960799 302979277 589941785 421695104 659526698 54922013 388618537 954089220 986847094 102520027 127281282 906239385 940171021 694680664 358269599 277784864 414303384 430411218 103412891 8133243 631634166 980629238 471345290 68185687 312847970 108221672 247760010 613378512 342366940 164292435 739223381 668327738 319788063 181681518 90022842 979314760 236603530 331157730 785920331 75966975 433677756 765717965 982206360 226365128 312914980 192992310 504149991 727218364 623403528 460079233 735351606 107554045 293224823 59213247 28256083 606072792 19951271 128532444 71967655 362318210 292824878 663707387 883162300 612612940 845388904 825701493 444444051 81992434 9375574 82880734 10475760 443053329 848598698 992682119 669418456 14030029 38190781 26084798 741248392 514110660 338680382 329116350 621664704 631905204 388329596 502437139 90494347 408280866 630969582 162462001 623115428 923794460 826169388 506277727 388923751 524074643 184495571 685884154 458583428 193871144 768764887 469059188 636924472 469879936 314257658 158859279 483909964 352448438 37460428 77674708 866559097 376140809 406791057 340740153 8046013 795120652 843177291 98540359 55917870 326663224 113518712 679033297 102974035 939688099 37827375 491897786 316279093 222322945 30298291 774862521 416194088 799063177 243921708 905634911 121459464 558179365 64494189 457885779 763144155 101954616 535560486 482219603 330611776 942351542 822959755 338657788 589988546 518653397 289714499 645906415 845316621 403233210 177456063 948290655 195437660 67799789 292704792 511716752 290122733 323003082 286579272 558833172 974582610 383017331 464468082 96042073 941196696 381478622 406444204 556857202 335949589 942004689 39076804 666561364 884356231 714552911 857735504 326861128 85722659 147450002 972767542 931039279 550683211 2739956 731846286 746120870 70539744 877067429 110353973 213178828 52586863 396933245 772011999 27169472 779950575 88996432 975727897 573663622 470475053 382172100 130520823 658940993 176693140 22113979 178018708 61049370 736666889 35754211 240426849 822389547 35720564 65710742 605945178 586403774 68450697 190307815 185040995 138990440 67375243 295394968 204685619 119962105 544844564 976697617 999647929 177311490 65694048 975375825 750975112 388685452 210064276 734012286 47626444 386757415 608642616 225645152 300323137 197825856 113915714 540749985 20215403 149636278 606460727 478676932 736040051 527427775 521501098 773597398 518934567 441392692 68992365 723620185 413871149 466353280 700317802 413519077 643664769 618528201 241411253 247156232 7213653 303991880 981168518 54840096 690749294 442327485 133001599 843588782 640153341 246917313 236855119 512885095 396553590 843315845 991562026 985109992 223259971 365579475 758707389 742194537 806972166 680216105 465814722 220843314 146569384 18648875 486878742 642750505 637177075 728289994 889906736 496907079 32281873 723591605 404263527 575547519 165919090 537265125 271652652 806072430 636698789 508507770 171473876 33252378 204339966 15552253 870878722 427599937 381131727 482102462 169794473 188103892 14834919 488125546 261463558 13920654 506774420 748342299 656671158 996467847 329148645 546577894 493374925 213946869 122685850 897638451 789494387 288604939 287419928 61147039 947193720 924118716 422171160 118667595 809887446 626511126 134219847 533282519 54111062 515351573 15384980 76421886 555971817 30219898 564547432 817435374 44140552 71321851 565777672 700811709 920306049 894926316 99905954 266197326 108873185 222591804 16352128 750883923 363713094 303772055 664547313 310906814 80407123 86718473 282090760 742810920 565745950 416310607 276093438 619857011 784178531 143994769 696278896 340150347 174214667 113342679 10102072 70871570 37180882 575879744 771683278 957486930 323322411 724105584 223684255 284711947 946697387 240036383 888112222 162926832 396324789 405175886 473833645 476731911 344410710 755924405 72059182 910156659 24751363 348152619 382530021 808929893 492147388 78808917 1596592 518878406 44667947 11698663 589749975 81848828 440094758 213949604 39335758 763417169 938055187 115536364 900645467 737268925 355572746 788757688 900195757 751897535 46449926 226545753 81145797 390860635 982470157 153204979 301017294 859737871 353873949 683547314 521184116 846021336 614872582 522780707 217416093 659540529 386995721 807166067 741389356 827090479 21115671 633241465 443023999 959170857 748777829 343669465 548956134 104350574 984943505 449151890 708764460 31393430 675697642 642426609 422254064 510684151 795631587 575787709 222938373 2021887 111851375 744122488 848043223 726723956 119419546 65459315 238780836 506415267 725141734 832686544 333505745 746257404 465928008 776529743 557944612 67222188 972715559 106900745 24089114 957659063 408568986 732853573 841568844 936782980 227796533 116339260 299983482 23428119 692126968 522921854 25450006 803978342 267044342 726009580 383218650 386463887 643985246 621999485 892879153 221643331 307202380 78901249 967900734 773130388 707947343 378361698 840352575 680662902 337778794 864441688 490838316 598864132 449811613 184923512 535647111 677608145 301262771 835630592 553552616 993389738 211068797 431518973 797368080 478113138 10044904 33103081 717093377 506546501 655102565 462488881 728189832 962304945 541390130 548606917 587951684 101853824 926968614 280820610 782516725 117263760 997778650 125871393 716127891 300106614 310794904 104291353 977714758 612057674 792438296 383783725 457963763 3507092 667819049 107848194 334136582 677863952 140951274 51229958 36926805 796053839 513718838 765116636 610875135 907625319 313723552 51343170 9479143 93208518 184680131 644512219 62988629 182458780 770383611 779116519 482565393 933694866 735924223 312796503 398268891 528362518 549096579 856232654 384385961 216915628 964080847 718522542 747295931 105032121 769752499 784222735 753602311 135987689 549339370 216993797 43613007 715579274 268336966 905608501 808787791 453017096 550120720 871776419 487992228 173020682 503409289 970557620 106715548 91849863 135870474 357500790 620212380 684967053 213733443 4598340 754399032 30330642 575637234 501694962 135362762 197906084 138434049 888965072 333893772 687773418 105958868 230023131 255869043 226812185 135631631 64656833 532345632 538268702 788949603 20337859 563805736 144875243 843411831 523037635 236725105 979282304 880538424 709453836 516765708 94271867 566568528 123681091 124602508 142205761 625376053 112481621 340111844 763810101 853963044 526521968 304099870 812438263 756545098 559968913 39250447 744693080 477142097 424112430 135478134 118608052 444450289 699283869 115999646 140378471 74837855 352724751 119660774 955376278 62178586 488942834 902164496 481263465 612623924 879283355 623469225 90516328 991764975 816097421 706842780 698244370 342619388 10942650 510682632 951680837 423427914 402449430 548890268 753086362 826561860 684368401 871694413 123528500 236168621 987694059 263906970 311006475 192935161 236084095 118899105 107630098 577543280 21063600 588893563 42683556 900346955 64879139 133199883 744628281 880976559 840042663 295389003 76112298 703501664 806071634 27793134 979445929 61037416 429199754 732532290 740115627 113568154 456743055 863644126 202253127 296953465 980067447 365775953 342404977 68667893 484675057 450035074 646211173 505738657 891444988 688894728 258601963 956324127 822094610 855746595 689817037 514653624 151135597 618445687 70671639 809723583 498755172 50117567 870760998 927954925 635166209 463392976 894039431 944425615 179553453 96292557 93895431 159620899 314584861 436300407 228288791 799259918 886335480 874499963 157514926 630296820 415911042 416116888 439137298 90522004 124379834 128954334 605175627 275515431 599916372 528363618 85239013 98671544 430997536 808516362 26626468 66163744 124425689 773182250 863105710 303979141 721991158 957001140 463600039 36576019 393301546 544405181 835835936 132153378 271421496 993350861 762450197 687332537 261984100 54103846 777854540 386363933 35574531 235546519 514395715 635490903 763910136 452151079 734162446 194907671 113183792 613305265 113587767 237609480 239003867 976693476 541588620 960995024 786210968 5188658 997571042 32028865 402110191 685923329 164182242 673531686 531790541 779148790 360864222 646290992 833252635 138718762 32654925 868827166 226781632 399566991 504318068 990691767 851718070 90996865 38115789 964901861 556818481 151703555 202511341 795822347 980913383 744099960 756817371 767124350 601804970 606904764 799153214 3915160 145344445 815851808 529963197 529651337 595000597 890827418 175942329 280769584 882062531 61113605 149596749 108844162 460680595 506431168 952052280 164915016 597428032 990168069 129816877 6762864 141871623 184844569 802585211 975301357 928944528 411918933 594942058 383265849 18823696 246611624 239697360 16684492 62463431 769660556 546335829 509980379 513004326 574794509 790749962 247583208 635908113 940346710 208943722 949105059 299294229 13512353 114020075 896722260 3680421 96353303 903485124 998068396 281197871 558586686 973369752 62658750 970505618 420828162 445924599 841845665 667439785 538138310 858530157 729903215 160315218 257382337 92399945 673319543 832176845 883149907 773419102 320601309 676012968 982362823 122222719 975307197 995875176 236242793 724545808 852071948 332596095 480547283 850140343 613793965 39133968 676026447 676452715 9639585 96854608 974893665 704001602 616810744 513031974 415048110 199230310 673347191 672430446 291630254 199183085 357123642 174780160 972602187 530241302 850793128 807481361 652464020 678616676 655872888 888706813 403162483 360461188 73819259 883709766 63117882 540129576 775360085 739144328 69098642 637516022 688515287 43992306 341517623 157842382 409540631 756565732 357072691 82887822 281512529 648702945 134587258 491152522 823483104 959705796 21393823 526792583 619703509 673857842 57925610 128092748 415081006 461088093 488553935 341416617 197314210 551671817 881546192 972674294 143332496 950644833 462706667 831847783 994637138 804224289 989690164 256694120 413306372 199279207 192098293 547335252 847982151 326685551 38487773 523981606 138907698 59881595 50774189 758611206 586255789 108699798 886703954 853853146 422304242 375257888 195269762 472134803 926929704 76815953 297325449 70262200 879977137 760032115 754626334 727130626 416772756 596832849 983824746 830079127 796112055 175923038 229930731 496610557 355124940 268418503 20592163 494032638 180816450 923882703 252643843 619588590 885098852 139347796 473441735 159919446 367122036 521227849 632054248 146568091 450560153 929379696 69346642 330537290 689411811 676489327 57667915 106184566 125838528 894009012 788780044 921950582 69932050 18710774 271077491 277573341 139645629 291669653 771605978 172978430 68068707 24249821 792567019 953167558 16113968 118525105 113087003 235752355 639752953 745141251 234836798 90313106 527037298 304183439 273366747 68965460 980672766 183551013 27666377 106511293 77560025 816446421 880978226 8426 687673546 4572068 277581766 679835526 296241720 49187744 852813955 364310426 925953916 645380973 169994336 794584235 763906078 283081338 882852942 256175382 880738940 117689739 346488487 407776238 274389529 619855233 476741697 107578646 803406246 504408074 66606290 733482622 173370846 947584516 733491047 713560743 952156583 863589164 393396269 100914655 765293259 98726575 317741432 543763526 744107548 487735767 190864113 360529977 770817105 73717054 616705358 504072396 43923144 815710197 911848633 318312672 288081781 241106682 425891318 91488026 598031107 492497607 677486999 771401952 292598474 263494397 337479046 97271409 127083561 730875314 198186063 892376819 829601889 515927494 288656697 426225788 3663261 479520809 639272116 626996717 553237862 108493825 131069112 597161005 924204021 895434097 915473676 212285802 989057130 193881345 156290179 587088236 686378952 833777178 211006539 978977425 97271574 548485584 76248833 76871486 131877250 126951247 821764657 813995490 642878741 110421353 92737629 499058353 589942161 732009744 978571421 995696374 840503568 962156884 445373730 764707589 710107332 213363757 829509742 699164461 407245102 985799920 138769048 93624053 672093449 202291938 72601477 621881375 750777522 1366662 551269212 735171123 128317908 373033868 549166612 623713000 335971572 641904240 122771352 925913732 226430335 953859124 774126457 66933902 916016008 219500186 684157842 478639691 432863943 513667583 30320504 840109044 351983855 169089551 786249448 876593655 371381489 711367276 350991381 974675362 712733937 902260593 709846484 693568197 127810812 111529447 317281196 463782384 605950038 292568900 242212467 832380372 98944375 16338924 899314273 14960382 88355461 435988467 346116425 521219403 949656049 376436928 213844798 154156255 545526478 94245 30749910 769424318 563977873 234257642 744099679 129228161 136518234 306462514 822796357 264329046 270508312 140077553 728111429 876458349 285162804 970323895 708838720 384107178 839179170 460669345 251583912 927534631 896657811 597700336 301270385 698830211 974137263 515115183 705502818 372180092 367725779 588769079 141604410 931703651 823026720 738220440 60931812 959544954 897199306 736244520 76390351 167707617 728838424 657018131 44165966 14001227 479858377 605521037 250624757 319037547 918706733 354725020 99088529 667880895 952425355 400358913 219227458 779078969 915474095 924730275 3775412 135716226 513499353 997896173 919936228 189042424 588632965 833384391 1103729 485832270 569628911 77494079 506056238 150983686 734512209 402738555 17501265 66886938 8259592 268126021 385924484 779482676 622851040 485013012 447363571 427792746 885371924 666591028 59388066 653362371 443837654 63163477 641594948 957337006 913576002 561531175 146379429 502208966 247431918 147483158 840557587 817060828 77493588 346613824 968044513 664522149 749352379 985545777 731409086 610128322 106188149 117333569 242127349 581555540 454862932 689490919 9348285 192751207 208598298 921252702 698629929 652435951 836932531 340224876 462289308 750508532 754272403 461185089 105233849 1704320 461184598 945791435 671281499 391194537 144921610 491842363 55716685 746790340 329904492 787125770 209435013 436092640 756975690 451562362 17648180 64354973 141053280 879512816 109622532 202167930 653281870 808252460 707120232 490214400 993688 21925892 93239283 755266090 483110980 50989483 756970409 796811929 996780917 280768259 188006465 994218878 772610621 96239502 741009218 102515112 883365271 950444230 391124104 492857313 254522943 261288635 409728637 248092575 140801450 519351168 450260504 646599671 327603628 9897087 136814070 328597315 31822978 82569704 83863404 514933957 133559186 693350164 164262237 982856454 974118422 352268702 977075332 599245394 448508203 570600901 701760506 184389825 373561482 92884609 529763489 628084425 206689595 939492126 876176999 200007396 458843293 178953854 846607067 638963272 188850940 835937488 967560586 220673918 918507192 903940341 588124226 904582729 449806856 752386463 887439183 276441629 104655164 717030866 875687023 405679718 140148118 429963880 442585894 366225951 375364840 972349383 994310375 582054434 911841508 723003725 782061829 223201152 754473930 481185247 862164424 943324870 317122735 682241361 16515139 88146278 438698054 604639364 992729006 741021261 209542178 732684540 17462890 166713693 302231757 745666264 572393410 294896226 28146495 14979304 661122177 256027686 839845038 507948903 838082119 604202897 83468980 472660299 827404048 837942909 953845546 542084823 633784130 123484632 76842536 650299268 64147261 368056941 107454984 56876266 109078201 316997161 642077158 979057442 483710854 796825266 577240057 908620615 91721492 605386551 776116270 752843668 861414236 615961307 113308922 552012706 72680555 196777901 877189357 900084603 34720810 683551254 294685777 668504939 807035885 224044664 171320559 871183145 592101604 131291894 780575762 701179805 448289054 275169271 532753598 784516259 71994537 109993655 693136874 16232380 567896557 321769495 621592399 281827145 937730802 734901320 833839850 10411356 931679221 563545558 763012310 966400030 247096811 910214439 487421320 906649047 134259102 511258230 630348543 726360706 642550123 263440657 280056862 90839177 538609927 812810459 727871787 463120815 775320465 273525012 331869546 343217022 595294507 953461944 625044166 385541660 688363264 311400367 248469367 472558836 874945925 11481677 291475217 974559087 774212467 778896536 881208134 908471568 142671118 364073028 487348625 785221240 627513684 619921838 728576768 18639963 285248649 456448555 481760777 60569113 729973566 813630323 256302486 177784424 619608618 881346651 563326083 160488233 45263370 811795450 633047068 772725646 675793478 924522284 747284732 450005944 555935172 481009217 210993863 698606289 845082245 550858840 483827528 325112280 170780677 64920648 343752242 456029325 521369202 825513019 369114790 103859119 491659693 625417275 281643543 111268310 359280278 844969625 124272895 404543647 509281426 757319962 29785644 185074903 681842246 777070375 487597198 90293769 110595944 698591061 788900057 808194540 101966252 125243936 133306819 272746928 190164583 477059061 581292605 711533784 155088431 950407394 667909255 499264475 575824668 949552797 463049136 935104945 647038773 587322030 192164943 8836551 344641992 221950586 193911453 879000589 851537313 681508651 969294357 962133256 232616063 758194413 622844147 334582314 883438348 756150965 459845593 73602931 85726377 41138197 637653066 93331159 991545590 158078672 592595633 419886610 107631468 55644769 207507906 607186593 642966798 252189201 616023143 840125141 474139786 662450947 719125729 178193450 196475949 540936437 140326705 429092011 151647201 615687203 616190676 35085549 224354520 76036269 961204831 310080896 117174465 451374248 403412055 961236407 609452920 996007687 233639368 569600739 904168807 293663625 29303683 399651957 545852825 497843177 239777097 19992611 160294124 811419178 50702412 356770072 352355614 43545469 638378435 504002815 659232671 254569110 391604715 883587190 183121730 205325897 46184438 152812547 509216496 449596492 114048953 118669415 298120530 200204672 540786506 54805689 493868296 422606540 454457645 39721121 920449717 694234741 912230083 80743840 358170270 962932494 290030263 710525884 6477962 928408697 67045050 518226985 35494159 311166116 401814174 218615888 516492012 447998611 371428434 25708507 750111454 337993738 996894274 48231984 390714761 390197131 103037672 884583057 812803670 410011668 776820529 585769738 104246408 541566963 519029929 314933030 357015808 809060192 25458913 216010122 589985240 945020314 734237106 477995750 256186429 988567631 696611638 625194792 289082594 920556423 503419650 39194047 111066513 352830275 939942382 501781273 743027405 895496405 238880681 408347427 305508072 15701209 994117164 262270832 409784523 365663445 577203861 619316683 27239988 455179125 835326804 617225227 252715790 422080261 95220977 508902218 263164243 644348966 134097009 552246836 417421740 490033010 591440883 528488252 842863285 383899616 30269525 438407041 279396021 269150205 846754467 437420444 137367766 693387983 699691275 399668640 59051427 129411487 18985322 86291414 437106963 706828477 556032992 689822752 128908737 503770320 51241321 244589332 635637 37854681 796836167 418057377 527887691 240793401 946545628 370750975 624693017 829331504 809158015 904089037 98481709 508428834 194025832 88365826 54333168 893717107 488034465 965900946 875644945 359536139 904708711 312751908 66364615 313258054 2574659 47789704 817028374 53815980 292379035 670180362 91670660 89215201 88237738 472074702 182524954 887299718 842825676 807217970 569147573 504500043 563823358 520145633 865445228 757849189 608511458 919778395 504082647 949062275 738195692 379727592 308598413 642904402 544995851 227479379 956162455 400086861 275269082 625707180 306419192 420164468 148403894 250606204 361896021 89157983 722680905 544420974 976457700 418022933 351638943 398121625 922522975 915462300 918267257 640484554 525827840 379295067 412779300 29910487 328357341 150974991 262154430 489472105 646395744 807150280 716951483 455074550 207237140 992220565 80781730 513656332 264901384 81701975 764262535 626797404 170859957 339459791 171218377 147317657 757482723 375373671 397955633 532522049 143352322 316222889 173006602 669180162 695517955 585785901 699090648 876391647 589277243 961245077 365863751 235672986 620911708 82815234 690747536 828148847 927552150 624045617 194321530 44969885 705747591 811100416 671767289 876607547 150560207 842985665 876441555 908042929 70875688 126913539 293081330 214228009 443136428 466087931 883408170 991170734 904390184 435015169 867562381 493667426 248776597 85942483 581856764 869688304 21274068 125120651 550353503 801342569 749166267 744675032 846312454 307430209 408291800 518079742 36554107 558852006 213581758 765512014 319411286 284457445 892425552 612492615 498685454 188078331 931096898 234609975 179249065 835487081 669625144 899327797 181670858 918401740 985270279 763527621 788090044 859060699 888648271 190959898 660403267 490330889 935634929 359232072 650277449 196443080 877311813 686831556 755295085 943409923 304859921 927222723 80383719 197285472 392231689 579069172 385363803 323328586 813679147 417129219 11332018 335820642 316457015 45519228 254222381 154243645 809046848 894828776 13304343 550211471 85788673 526223962 893058711 873939954 885456033 543336160 70383033 615284198 82684067 678194470 411210472 387543987 605417192 491594190 437345810 997648880 70663362 822709612 173493818 736858860 92355182 37342187 72679501 408812196 82861414 179418233 415572193 891908262 74247009 281392887 294636084 12552033 807616848 40211146 886491986 545589233 583547305 809391371 13389782 518747723 487585840 424600253 906291709 945519383 916194442 196153871 795684614 839374155 18863482 969178431 428749366 111218664 6520618 353945218 372547211 89382031 385879803 788119403 833806644 312643163 69512290 980959079 325195195 729645489 21170225 64203533 127751073 457233881 873594903 141140854 975981604 213697094 418257458 734789664 11732828 186968252 930943534 807417441 878858758 802323368 629112224 160124476 766058383 488149193 514069693 138605593 430047575 899949495 779241348 116370571 65109009 701269989 97329649 390304204 283431829 118499873 307024088 263699254 428250106 33135342 257356459 404231709 246832435 675613917 139021372 258565262 715098520 922481258 65982702 593957277 724804625 547611277 754081752 343379359 35760469 120667797 334501303 465808044 873133643 113742650 582178614 938242652 667528990 532024614 181063207 803477171 503040839 488087294 67176424 931290944 521222635 324532882 188039004 768055069 852663150 179576727 879136682 567761669 102057984 797635735 14235298 679378960 345247012 620833401 22758318 233523832 741501197 357259621 699331875 467151192 323518622 134026840 405393843 843563964 666051454 586457049 647041134 21608644 74544342 566733909 952899587 448283328 891266790 140938590 68854748 596446292 320515316 947991429 16724312 275089652 745627163 30959609 954468611 943390526 651793010 977226929 176914358 245810558 187002901 728762584 712961749 363037874 862789424 970871943 206601837 381357229 409845343 706159322 402965872 336906036 272893230 208381810 785189363 16676372 349320399 854044110 613122663 522352066 802035538 629846974 797441717 400179053 513322935 751910328 196085930 17632296 581653608 373000287 263442853 621172860 101762871 828920954 984210733 817068646 799792896 43328922 50942226 62154591 749488243 306424449 399060626 22381473 514806258 184249989 891574196 864126656 38294098 357213210 238995073 692845988 987060183 36436790 945541392 352899469 640863469 141627321 370531764 75033428 367143960 633974617 696206287 321423182 315411922 680417019 138491827 115204817 723745940 41950404 29875759 325750535 348374852 428936385 200648359 863181109 613186373 92222554 579824116 503996822 449435763 818819188 49359161 289012297 707772329 994900552 641911766 348635797 989044225 12443529 423669224 356188184 498934497 119875510 677611365 814346418 652808881 668619543 782067587 229071172 563086298 811943345 554821706 911461149 93396081 755470064 627158609 706582453 700208969 59499076 63095627 2161083 730834615 112454787 291173380 438606944 959871691 785601497 639759092 801432267 650561377 63428316 10136802 2012226 35820177 687748166 816358643 541145409 208884060 450942581 622732933 771970357 115402278 30070990 535947857 208798358 785541054 15622817 767897163 338266374 75121892 830992789 340427457 658472858 795963927 631600836 97079801 608351969 269718684 589355245 262300587 920280060 505299912 272437388 922292285 393636440 960185553 591167280 934781849 21585964 42109860 410031133 646072672 10028489 440102122 34536880 71343199 78159527 50159696 839240361 416425901 977797939 522749501 756853357 636270797 171229779 240970544 585866949 779581748 510689227 27738545 41882334 430969286 533038456 166836074 205777923 926674896 127021626 796945202 713973096 1123942 691571413 124004228 647196613 701599902 564106349 681733493 772943100 642265876 584409540 464699812 58691776 562207479 987449312 668061484 50994627 158679090 909032027 489377927 790777189 419721253 517116472 685175875 703206890 50154927 852011948 908984812 976829822 831549925 705930013 543319269 832673866 250017778 667323496 332386831 951617679 83946197 866636675 577077130 578728424 451046214 41776941 489936551 865770044 881742604 157998034 916764670 40421693 67030060 258658949 683715234 339267664 775775420 368891108 42474553 825930346 73419407 803975717 655276520 904969331 362422081 51112140 590159549 612439858 718435636 922546379 416573888 654898184 641699405 993651017 233626607 92745618 887944309 723563157 811032014 622203264 734077542 580313035 515141309 653623953 838971983 198856542 992891616 614747402 420264001 887882520 293194100 493683407 544374588 800986971 398652737 906796669 852099110 988812285 519236526 423051097 763875015 935810414 77949280 258090771 781977782 164092238 203352741 522438443 887655394 14384754 144641706 474249287 594697788 512299366 127873239 286186123 711155907 973281206 900933524 131419907 713680078 46643975 477619665 258054665 847630945 876272402 17367685 552246407 717601038 536604211 975297503 333992405 324930976 53246783 592083175 959425109 69855372 795435915 334379903 957510766 662337020 331537961 284276404 109551160 843837326 412149643 395737282 407509585 237947200 149187157 391445843 951627277 195831132 869065508 62198294 895978428 597854261 79565978 448224834 167971650 616170188 276038689 501964054 793617515 181801823 946563581 753042624 251657194 594515847 87422526 61684311 256852867 271476838 345960715 366404026 115314164 758110357 762141307 522823748 996057556 911328463 914269590 800201185 959675946 635851449 862399478 855654374 233705709 941965455 156395559 401677359 410651995 432434247 756157764 204269509 614236069 702721344 809828484 865893263 149753543 749767362 927577573 406606409 21244199 126054639 625526786 136558362 884164995 240184444 511898461 732738903 4029258 278684403 385456439 963705204 914535851 247855916 671875929 757912 42337722 828271487 254951622 452989716 113222086 11109385 657259225 579974506 566347081 319604060 298384120 716100623 69371421 78478045 122707031 90615620 204532683 600750168 79690333 88697678 840934611 444105146 673952932 844963868 575305900 59409370 808669071 342358102 159781637 333061351 343116013 202119358 13849190 598067634 655109074 127071275 461693371 164884650 707045780 28040451 484488709 5429900 744141073 406376482 83907944 719364455 349508453 140956978 172630974 281715137 82171007 13565584 725820282 756123938 858529451 153642533 668049659 519714874 496000635 680347647 852776224 839116647 882467005 866625413 289700633 390092430 846213039 751394003 407493431 405775171 631950805 891982139 263721422 228608229 150874972 200145717 947972683 500383424 341102694 120603656 782098561 423273701 986685591 360435194 31913990 697731393 514077727 699963649 69962618 10078361 232827647 922738842 701711359 115294651 641880606 991411991 357903432 340609997 595322345 765396862 746385167 79789501 509895353 10106588 308397729 660770324 210252304 108886763 13670100 551354997 82006770 795768660 974628697 68692360 156203853 6542687 766423753 670281579 559022687 836386370 532876291 791850333 611641563 234587650 759661336 106038521 78515992 970081119 446648517 526354689 587994333 45550035 606144189 97889685 55656622 914541918 611176360 118425277 23428680 624846459 669780273 105435450 273131470 496925322 26644161 429335323 355984360 793067913 952133253 767523398 481970635 485009544 411890082 946128549 572113545 24067769 52167069 650629536 994148888 351331937 29500576 582143220 396881971 635644765 532549256 305054944 550186682 996241967 423480220 426131713 473604778 93260493 531567162 746736247 442702166 558211323 28587921 651202877 203795587 980721174 418726274 538282573 318247069 830616355 484411122 890360613 854684124 389094542 393506500 701349363 592942831 423007076 136008934 989824801 58651840 668558189 147396097 461354873 517316507 570876316 887486585 990921284 516653160 271570099 737657531 959355325 829781421 766245451 463074553 886093359 599482976 881800826 424375932 917730044 564933533 761303405 808090656 272134008 2914298 54113508 973483370 595857128 477120583 109492303 438198281 535772422 630566843 585594377 997127294 399701 156470692 737130230 991320985 673123852 8700328 581494867 484995528 690998100 200256669 948070081 577091459 799739645 682387258 853983742 717469688 99837142 615287146 378076696 224487501 618201443 432190203 50487222 66574923 909310785 12495876 504773203 297599558 643062718 90367579 147243203 643462419 99354622 884373432 487299755 772478473 745590112 68794621 109990353 436588211 269051289 910576785 866196021 68790933 445480394 720179762 638776973 545317536 187983259 869370020 769805036 658701054 154076574 820292258 725275976 63387358 832788133 230049178 213503267 328367203 172933108 213262821 824345973 272287729 97636252 311645727 44766202 695742715 232956699 7272906 132330926 502007987 917849690 851043298 423315272 215846435 423739412 914608596 761163970 611722670 783978615 383485358 122940075 938055188 56293967 848216050 853958897 741598451 78265227 919978515 69965653 103714686 133241335 746827977 376002415 83393938 58473703 273284968 779136653 143946753 280557873 763983930 645954740 50923914 467543579 921786363 266770348 891282990 836394958 880450670 355522012 472889924 116452379 478462086 263461463 172746345 326678136 969936711 914344795 257459714 889915225 836826800 361174400 875672911 436171128 737176814 959066848 347161183 10461781 590719852 491107935 143536005 207220133 137062674 46976270 674763712 911365388 313746617 418563053 600276697 46713638 774085064 73166620 163166016 252547150 189144434 335912360 431741637 11597496 102773507 689201350 901512720 792116658 902892101 629701982 228287785 492585266 441285182 575448967 355563398 32005033 66556902 499099402 91741518 56135927 546075671 619021581 820017667 712338640 37584633 420294363 759052277 811669697 345977335 922218293 916733198 387638120 110647004 348474834 399235616 213420510 890192535 153264687 5537167 793084636 782966669 86341304 138186253 224251850 514306622 493749651 108773234 433379875 992849052 53031103 342032154 391441075 672052683 162049820 103779714 709637316 434860534 715348342 373823364 780837868 637566634 143072913 20992340 748213638 491547746 420227955 814150499 234256632 573492641 672204018 27341267 356459309 758545321 18043872 433227510 125368294 511793522 542000744 558748169 357158925 595031846 900780322 748599999 119600881 62830141 704896064 829238196 350207026 272760758 55577911 131044894 910327391 198650823 4553585 511057380 542714920 424781539 177724231 776971551 998274179 849928248 656829170 207249840 460989920 674873041 640477349 586358213 186666562 34994444 145106381 543825486 630026290 45886702 144941837 749627170 961233194 702354252 431381717 163956572 975115009 339475979 147517817 737958752 538126801 152071401 101532483 80841720 576852939 279256713 710329622 575127117 129184960 367158791 782376956 590174879 42031831 275370657 29049444 81214744 310365100 174155824 477556582 940391389 72558878 622498418 542534910 886308423 177369021 826432978 50264994 152484030 165908956 197782810 890442781 556552108 349854210 991975263 489910179 926707148 123748328 200239801 354350617 252933287 419914943 989243924 695624518 314463126 264614580 724673961 395677869 574979680 898829784 873234450 367887420 823905013 348249219 762938682 710213436 525618240 589371659 612994781 530618621 607796967 810777591 273577753 164349074 13148152 118069367 654259253 792371652 241817694 707015405 146722268 494750981 126930347 988482543 42891850 441393472 105613475 767565810 689587693 680593154 518911945 415338494 900996925 342816958 763587713 663935606 905546745 141722304 105823617 518541525 672340924 713620583 181835467 945918676 730486008 47499971 63988042 237261612 839871622 158322088 944277016 839110241 653073068 71207363 827592783 695964917 365117186 933206257 316047078 54704878 466315762 834959022 322559724 219829039 30292331 86147436 883764644 935839075 80386091 842104612 306896952 605243366 408241546 488732418 403678393 138727554 536232388 320182786 375989165 228620361 478504873 172782533 67730601 131577940 96506247 747839736 680059208 461623432 533562344 996106285 368844662 999878106 683581659 691404385 72223496 713873989 630068172 955988139 649713064 562970614 650609103 956610015 168213979 58850648 297858784 571892371 50094553 686607524 892075156 426083718 915227884 223096381 598866250 982958485 207190672 695372496 583314572 887249880 9512279 116876915 735872516 230873292 969271372 271970526 922277676 41494867 985844515 404862199 849999358 488073930 967832812 500608460 297200296 988563142 411975459 595059079 412971864 462070012 134182954 157563372 888153729 49410838 380659752 339536330 884885674 587850423 887425177 468200245 327616654 896937455 437593511 63489170 127810747 406864883 187976047 902604774 300876101 173820561 159983325 150875458 661894490 980332488 504000269 959094785 968895630 915975728 406670216 234383845 378045739 540853169 391947216 118715819 442780358 772606967 310768500 327666031 360457390 198193676 648382627 688074043 947647482 85976138 604079564 927974580 345357372 792055611 683095706 646233472 818392523 843079030 797108930 332803365 675927869 153625550 144414501 497339850 69601277 551084716 731723695 300163367 944454237 123670910 418879185 387234594 896277877 729647684 567416977 109251618 780357711 215799603 649842012 728005193 154292092 106437928 508496124 499649463 898493538 191591829 145882935 569402412 887187210 795508216 902205776 563115079 949133765 46620277 60454928 18735042 450221344 644694974 171414760 394675580 768365884 590293945 634426526 517160112 172457980 201843502 478928081 952815691 270159456 128770092 533337235 424451548 235208019 41833358 924101010 986217908 85941539 69983944 555620320 973128748 718008511 310342447 388760178 667142276 356962723 301731458 538393669 807184067 946426431 709808428 54375998 567308666 152618724 688802523 936985129 177593056 743162376 415913209 130408746 13321832 397199653 516262332 437773379 632407671 410612041 214390740 471141931 349069931 136891036 26762250 174715031 854899546 189621048 563475208 374558173 546583771 717723017 912951841 206284189 516665800 475276621 113176538 83974465 480411696 801979061 873475946 658004751 397657788 141905506 640929848 410979619 539105158 9708531 701269349 24029181 420320572 915660089 495171111 769390502 52551124 374449712 944105532 907450669 564070759 360097092 134525194 110654529 77820108 47477034 169455069 447002259 375270006 282631607 383493076 855681702 937127019 256969021 366202804 334784806 398874526 7132652 598280777 937979684 16841182 299550125 962008864 289678105 67726565 309696326 59068607 120277688 684146037 855690490 880244709 248216795 68303933 14769902 211387676 998640393 914763287 233359096 445642651 142549645 515990702 829135726 998231346 305634072 938621098 216950501 640418878 190011976 224083152 91216006 127991659 93440686 390766130 942516874 383118790 458492695 104729551 294703748 431286734 788875587 2910590 311531442 37092381 71214522 178817695 100996408 69854914 93580982 334355504 368013917 236130626 702862557 49665994 86878323 8496629 988287092 303828823 501431858 30815419 380428327 592647863 11323429 473869012 983413992 953840302 856987801 294423038 58569852 151691549 725709772 699961790 154602138 889757565 589570522 78333011 68575260 690566930 704277 14672593 877438785 368718193 250803218 580301341 270900538 190197892 441314321 111703981 494026714 942746178 142519399 874455040 535394040 153842827 200840403 371324384 107683128 57828204 518263773 18769331 62036104 96489896 571247472 216638241 986247461 160817994 294971251 54822720 703901275 295675527 69495312 581340059 516910071 172814881 14157751 787810609 363012772 455472072 899514589 709555837 250734601 42033988 436527229 786128641 195876814 637367631 9969376 156076294 695195834 528233148 27361976 757231937 624723044 598609448 826386529 463486856 611943793 121357780 370825927 315845067 269549658 292837590 749701477 786459729 465652470 763859227 426786689 681181593 71847650 326301277 390737429 322582251 220851616 827264657 961227243 416728430 317148640 971196618 425321075 12344473 351946117 452683050 622092762 829185512 903808849 300995642 292672367 515752641 274869773 663498293 684114059 544419431 956335882 433815535 183395511 274504703 50191114 610182199 955686295 122038763 788999827 198940076 297137365 9851443 878721084 110880959 279096224 195869723 82077576 704417298 60730548 286540045 9616699 535339661 115725556 913425548 836335302 260914275 281694540 111205075 776928919 965808599 508140857 585781153 252140485 691536367 860285855 302331598 154234917 668488502 276886713 943234743 719944929 426540429 805602537 598666012 537421388 84698760 647052087 472015315 789116057 707782634 758555359 798732756 95638646 726797267 564674655 931973947 840227893 846369194 43179021 617156811 812177792 403836229 55454315 64318277 95372595 915740170 219166226 102123863 436745023 348569290 897874958 9206303 775109719 703477494 607872314 312531106 640692606 107440752 784546420 282325014 815223385 395618131 81057769 910862030 974931749 498248775 695352329 815159641 344617969 591047701 284832803 9312112 994883930 340287118 926146740 942772876 108543639 145312966 44896739 397805013 346398607 795288048 407011315 121508325 351281893 14883628 286555782 991974498 122324380 71102202 274299512 790064116 319236684 207873632 553442498 146684784 706122407 101311178 961844424 903256727 692358878 99193578 912568838 687242807 291997047 691231930 482532035 400540685 689061247 379945125 798345697 35459853 175233172 57873363 9484530 526515064 72756991 296040311 371005914 47597722 219658864 645305425 690178189 538895547 705695408 96137038 685580330 264334166 197448215 499941105 167590892 889807093 451651035 932676082 429566251 743648081 623908011 912098285 144188766 165485609 144559761 795050814 200945461 319792932 852924177 210429990 698824348 778197519 506470301 69830261 678311592 726129164 567652037 221006132 117541063 273347444 169659522 655637744 537681610 367107736 8095201 557788853 109431180 459746235 490464934 391513783 203394315 966889296 156128419 200099432 132374904 300688180 847666598 185836717 620481111 553107126 396266706 171821810 183820996 755253358 241652070 862132587 333898874 809304106 935655070 451439936 935167902 105314591 107077679 325365863 324938679 115172879 883154715 434369858 427435465 226136001 825883640 630829780 193025296 982012059 683445563 177916552 135216590 531112160 363753268 755697700 84219285 760019973 927519510 120556632 367789683 21687931 982689218 701688556 683508389 770860640 5644843 618676290 876175230 112722521 944042152 53630260 80411752 679713218 488000118 360363568 905849218 166400109 991193347 98874514 928519 527155262 129307417 136145108 58267421 493060684 744359160 995003058 105597008 524395021 115559689 473386690 546082951 950765259 175075245 82107691 574142250 180720087 700783980 302833831 145958960 497342483 356464091 78887063 29572053 844464208 439250630 935421270 863380668 282960329 886812135 864309187 810115590 16119551 852970646 720899362 509180234 597329805 568418771 614777242 121724825 536494812 88163931 520324128 339776422 115755528 602431818 913918671 148991966 155732150 69268853 294950925 505590984 425732943 226354339 535163036 122713502 665604969 470584306 986094170 801081649 209912792 702919708 463713590 226032343 555890353 37129303 587728928 5736510 605548074 55022521 979977686 994559237 143186452 352818165 186852010 111458331 955249983 100770680 260450296 963498484 22555884 407917573 469089467 448288827 634271911 4252503 571002328 152393231 327353160 557096497 953474879 537265951 112532556 417188468 615814645 668422909 454317771 203543573 526675770 912382196 258566093 506653455 906941432 254268896 859471620 93793441 218243578 667237954 47080472 478693874 483252789 69636355 886611446 952342255 370441533 373399708 809111109 941443861 525792939 988980620 351056709 479267817 378762923 463589265 748972637 994577567 132012173 55806759 50637491 511204294 968188954 309203584 17857748 727646737 415988831 729845719 673956529 634232409 249600024 573553352 112926282 732852812 495706058 852054079 537711419 866147591 77970138 199338879 807591451 603763076 40835851 11164511 83030893 419598773 474753775 684519881 414176339 459282299 740326639 464813830 970486592 708515592 626533765 840860692 288678680 42522595 423222762 962635208 676755003 672822786 536188559 642197636 258191949 31894616 346768066 648419719 750558558 424738204 847758598 410666360 28501279 888594448 421830871 964048523 160709572 896584645 501084755 574885910 355866944 241411393 892216091 178869887 802443336 518749855 19730578 91122015 413788802 442953340 53757222 90543804 968292477 442462132 585257792 79000777 326873100 784542209 727420496 77431657 61796764 427695445 340614369 90298043 168806244 762445239 906862917 329515815 659029883 260464024 904401724 867413178 501875416 649134167 46283065 156835104 20400373 66013642 247957118 434189174 361483333 154230692 377249330 182292161 449209175 962507121 261292938 776082274 599565681 988713433 706030283 661362445 416408877 46644651 604176839 585215120 661606241 363556107 914730934 173152475 624020130 671649009 40565653 125895546 173299527 86848717 135247001 193699900 5378710 383204118 627889073 219378395 389951161 5138402 401670555 839160336 820161874 662963492 467758961 419727555 504193276 26305595 81089999 920602152 72950245 537783189 358333623 587072837 901339295 125580908 760225312 525359425 649746269 800790964 503771322 823045795 740156032 639018322 16745694 598051093 874738791 644634767 669945839 264689952 502289520 71616394 103850287 322451394 587096237 424125599 594695300 91289513 450431194 528301650 864408016 375897790 66084838 75257991 962970627 967424132 53355250 723195938 345299908 703101518 376503253 701587581 526147313 969175636 193122254 395409358 419743080 67861045 40044124 89688919 185067348 394849996 13821664 141433986 717301389 453434252 565559584 164513040 397240116 15990777 692814689 114164484 391888567 758899526 189422474 207375545 578840009 242777723 930571482 776656269 945879241 159591086 478243849 324542905 128766721 671366103 719952262 401026152 591743499 612512738 490715070 776810846 7362733 357053085 918244831 577180473 810487337 483804414 741693512 207727452 352311543 287024552 321891935 744200109 45924077 363830760 951575653 477280437 606608483 734663486 106453057 405004075 746770923 584696906 582063331 728053995 108579360 154531944 129080146 700322858 767044681 472311568 329650055 626923765 829364652 247894885 56620589 639851988 584215650 650830452 700095792 936527192 937855003 21987726 533243652 836295431 238334838 337335656 166092220 844943320 71999141 272545276 102463746 671286415 857242181 684527076 399340409 818337892 839059019 380936907 371177101 458620052 853248474 700827155 938060168 682613125 948722039 994680757 174981465 385454041 498027560 875077256 321981232 435882563 749581333 855224884 124694345 987916170 45076891 290786564 685375841 117076032 563331840 640355938 640878798 273090372 177399365 40219207 91428264 16458384 273672465 462605364 327594787 126920938 15948871 118171306 662050414 964670909 112852062 837031878 202641301 463395974 564625485 524622533 899278536 166723170 232363768 23972880 7155691 277440658 167275796 545047884 247033041 730607635 185403821 887911839 3698006 362803186 780647397 95126269 231777921 54319861 410247985 411889059 33757150 426196855 530060364 695807563 243384115 495428778 385355793 446025416 958824751 802497629 823164300 710619638 969220798 55528067 587108869 828892841 185485076 754384664 373940724 285034469 484992298 411860896 25462659 341206656 774664081 806110055 288849276 858958353 712946267 699097260 270847411 599219768 977810466 800907775 147543682 73710933 148852904 532899474 519736348 107677654 187913455 195416999 818297291 9650604 103461417 257922511 838543444 288946492 12307175 65000519 573980960 349815824 476861415 599443618 691022479 104041847 258070024 979871755 963000200 823532642 531485366 86363962 422752409 509295832 887271736 570296091 583006764 36124639 955711916 955259463 996318644 143625370 150676461 667132286 153275974 254137877 925054797 991819417 395600720 937361971 56819936 969581680 139694146 386197702 421541649 830716625 490239548 532128025 810588379 453239747 355660666 194590096 539603709 630929427 703885927 279391796 53741869 139409042 168032787 9453784 94668504 16867782 5595506 97861316 684000068 158871479 204515544 609054864 3207247 600116264 398933186 912543534 422214295 538627331 298741235 843755943 221860307 788980783 228400319 32448685 94736881 584060985 79555133 486856941 67506763 783441059 766248737 121248631 775366453 786797875 130702414 722551308 803665656 136297919 820412624 487665723 147685749 24928167 949236938 150892996 477560782 200686475 63436529 899775076 739313806 214694116 596047371 961174112 856191250 824447689 846139149 950928130 261025025 925694281 290301423 328531787 561651691 56550159 449780417 189534495 695864385 580482831 912085803 499530040 569297101 585014778 839712115 716982850 462459296 788949052 867875845 940020078 989635527 783828725 839795153 581465684 851039192 288358875 395156147 707230441 112806564 93811647 510674923 373831588 872022279 800976345 702363375 286190322 710042855 4660143 475724816 258423591 585142973 387810618 757953630 6956426 972825395 450182096 723939275 287801043 91647500 444331471 227821120 81283026 80676547 920132624 515265061 931715739 208491499 762937559 491462531 173814414 856749206 2137453 547646001 581287836 655630149 102525727 867478157 218189355 107185870 343202973 476612945 544845194 583529942 87082927 551801619 408871689 537265022 275740893 696672731 628912521 720072363 924493850 562711898 800748910 697142825 930493310 584981000 905634323 693430869 76443530 79448736 402696426 931097335 479611089 983984261 439243835 434653167 703978770 657433190 541839036 47181742 986562486 86684230 483228035 73645412 491002200 892099723 463426786 766743093 588772453 944855658 339331807 365782654 360083908 992597068 62925479 290577217 577578067 821076153 836524437 506537949 753041241 91737214 437635283 85168681 75721475 876879117 519821847 632216596 386828658 914177235 531914689 225907496 853377816 15142723 152069259 344380015 907242446 615496044 963639459 348531250 412868054 155487618 566830256 772951961 148084685 482272086 63529177 578179104 155864590 752569966 84717052 908905830 844307179 374868686 846590862 772545005 104264154 218929061 404761600 491092812 133106295 936676288 717000307 986484110 804335363 869069565 183380476 564094160 337081961 147019935 912625409 749950014 155023904 331972016 375418326 303108588 814244101 291463854 881287691 970108691 44033819 818521094 731530872 888340998 193389779 578121734 513402354 297653933 797050794 918163954 641263096 782673440 707356593 210779754 621673901 364208307 79849318 805054376 928302466 269447630 804590662 693444227 871913995 959614565 25416242 247332320 115239505 839660343 538796174 849043547 662285385 435346344 667564641 393816256 176203693 713470771 824454341 689606047 11124703 474021486 460286352 504904150 256694925 20159296 715683903 878368825 384367603 648049573 535939553 312670068 917497202 193046566 6114294 641927549 5177483 884046888 889259868 120416987 576223582 280572393 821976885 238508966 715918737 342057877 484841573 892122429 55528648 309295914 434244827 919169702 783317399 894531178 424073852 892528676 914690474 139757754 623413852 299058076 640323678 11869756 464244495 410337232 204916322 322875141 52264780 62610156 206922028 794040999 35543494 783145609 74613392 857520378 874170926 643048480 199578255 359012498 387687260 107623254 520824763 821932087 26792955 156658514 568979616 303383158 49187189 483670089 295657264 672601040 635244516 935980941 684470796 99489011 346318172 741903469 422364151 251099303 804513624 481802530 45140302 840057117 117464490 972270045 697577494 991635415 467834876 749672100 203164264 855522135 857295353 723989027 529970573 884088308 880647540 98950189 39987817 929834728 435136629 335645080 454952119 70381145 271626021 991939266 22386507 470460544 733842734 297267009 721559847 390872709 779069538 766700148 230929825 896534027 591486544 781023671 888169441 59321419 530695770 91333704 767359905 240507475 667839082 149846830 124595782 548486621 101313370 17099950 330837700 536449998 352745030 638306171 459347494 624371050 630245436 334250352 94831593 216604522 631517360 668907791 607477230 410586897 288124290 690923407 159637275 879610833 471947077 47806715 938932251 855159198 991656771 558808508 95666672 512012204 708655337 72778805 60498825 809968706 89878755 243852876 198935055 442623784 882159046 658282549 919511185 364920834 992532900 866859129 434041707 476566612 535766920 41518936 887153508 823891209 584958694 46790783 556018394 56905770 947113849 347466996 764581320 791286971 906275503 860247991 155815527 614930839 785543148 68830703 277415896 875421902 312683578 476350951 170562037 47358976 134633499 90073221 264796161 979682750 809448701 698837867 308765713 197731972 592873154 48435573 21623181 177831848 95226355 430157926 87253969 894856555 777624921 851835288 538659878 683900424 564599631 694475404 151347614 202659130 763306106 428763510 78081031 928506035 905114460 101159419 975865010 892264310 43748991 93177522 724463411 853197691 792015388 33229124 50929663 384888542 81664696 925069195 415236741 29407402 207743472 502490709 776780308 985368392 206842349 167956537 521785167 623958331 714948292 673132781 826617460 330770749 954412642 757214842 259276784 712043453 858374260 87658145 456824114 754639602 180835667 33803876 460353644 972851054 67032999 363799658 210255947 1214046 141385204 625492687 883137799 349128675 980499748 512434459 334497067 39858448 532907347 856282233 663816778 247855639 381931365 490434237 578626387 188860358 100165430 690419522 900903810 958539689 778077667 357727923 565695642 811429685 391531799 26049285 636797090 311081149 389848943 847053037 164811547 531234146 325062075 900465697 880362821 158078174 265416507 67376239 197936621 798323854 776174823 861753398 46179492 10622540 204703986 477322230 199482897 304869415 20258104 100386707 115925455 798335770 310630981 681621096 462281806 702162779 707670381 99078895 865760280 950035675 798648283 30571826 333786172 123710358 783553874 66665344 134304883 48970381 134041582 332241504 847294234 910216405 193994901 745990077 920838944 398698887 75828658 120321840 703568301 96086761 73224898 819493756 746938882 383855879 353631203 209220687 938535009 61301583 160815934 804295288 863853609 959464216 687383465 197639781 935690925 323453691 264305124 69995808 372424071 250863058 402237311 72234656 13595814 448748563 670741084 934434757 847447449 746569741 907272948 403532102 695172854 833014198 75542209 442111735 69386428 429173411 503848774 7921436 342991346 664664707 664733076 59361306 624128922 204632892 257001086 412336199 528086582 373822562 482332006 900510652 624685619 737085668 825261659 638281432 185834230 496002742 425232540 885798031 95088835 185021839 141846484 790261688 18036036 217388692 84889774 87422463 499078454 588738547 95343899 842069799 105919605 612593326 901431105 730048527 817226217 10948542 142384725 345312799 384771103 477233082 98339802 9456721 66835101 923601461 500254504 252669330 272120554 925487043 138467360 219725740 110508882 132830195 9987427 128544917 350218886 947393553 68483732 849297340 388648451 16343982 543883490 494568056 628937307 297830946 77132934 298679875 161295840 72034010 643992673 546066942 549267091 594848827 408040015 616102191 370966639 908294518 721287872 643087192 686297913 712271584 862812932 796806794 845101778 725316710 777868062 47837016 525226614 698868145 897134355 913875065 715212126 293534196 408443120 196665784 443881494 485576053 495345659 605177333 557610062 991854683 3760626 959393504 586703509 411800640 428012046 957670147 172611510 149299917 453273691 858909422 861571500 168602974 508232567 559189630 746436035 138616980 607026645 271662649 837485125 356677351 38054065 405213602 650211546 446497184 454395738 94093039 784589588 949741396 551786723 194716001 794112430 555547349 154109504 233332291 967347988 582121549 43518789 992475849 583937817 496792479 703901622 298025669 517911804 64650540 857215298 264347839 203267520 464241942 388526839 893268996 820919292 426580903 150998949 323647189 873078086 605394686 270256580 510184025 407652433 822043302 704900025 201764863 230107002 859009528 435097153 49971342 293647428 478615941 42447190 877585244 827924772 746348812 28127264 345836575 810999351 885342561 462700765 866783222 202100854 851227603 760052217 23020145 277808505 911051166 199183686 3402942 368962203 321956617 513586966 776614636 143999918 71003342 978379498 226623272 930012869 265993002 276594613 76176648 597125294 319041802 806278244 425050065 917906965 834405507 623402992 581422668 719748068 86103756 448205889 921848921 937331359 60774458 797385418 67656215 824341975 849085455 71059157 193304177 171042071 437162474 969918812 167558340 508165816 800814661 394181611 290695036 919324014 670776223 219388036 516449308 842334377 25666279 794015724 760241341 860071785 417418715 194180360 432336204 356038823 642386249 206701477 145886533 555677058 856603246 213542747 380019032 705688700 137118255 425839560 729247122 426797081 248274724 896805461 934962896 49089384 143503424 78174283 820929750 666795998 297562318 189895409 509130374 175744948 983911132 121888067 35816733 253846199 316068426 320669288 609885021 810971026 379887116 755771553 366648083 236490361 969314299 599183466 794695412 958948906 25023026 523942533 385745986 273297749 273264346 173225233 174903484 269284121 103915867 995833233 936080118 401478185 38244993 297726844 577223132 22156125 419614910 465556216 276002323 588199687 638741856 885887343 399170713 18628971 494175247 618335147 107635684 316005897 217518613 902331095 274954802 95057990 278789980 513217139 368355738 552054325 686442371 395775573 821338445 790358238 244125158 609934914 44352774 282370150 907661757 474092257 304526274 179793018 939648473 433044948 767992705 430906680 171448642 19679769 449535650 665623888 638014915 557171333 981629785 855533527 312018780 109100938 950591516 590808759 622318077 171463605 142863083 161276799 567239178 816717879 951635036 811364335 279169144 848504161 93734484 186830901 322596418 250777110 366623918 114761242 683822057 134616622 545667921 855270699 6812742 847719922 373410938 644827657 257407607 355040722 352877535 569426386 464141660 155985403 160235144 86459736 327449007 155614578 100252886 747204536 824848808 51887922 411085222 104017951 752908434 357336058 143365203 75504851 608113167 509989121 42782444 144451575 497122094 440966716 852238625 503934836 288686638 225649563 1278844 546094244 433206636 354156378 115520629 897348295 510141780 128272124 836324382 837590787 136403053 936577268 437311674 961251860 840981541 848396896 65269810 446406326 205732953 61151365 374427529 666362471 571140485 417209972 810814045 920778930 858176688 515569022 277230117 999379677 741218584 278508960 397990272 26941571 632665338 366027252 924289866 142807117 494299375 613130599 832914255 630702427 402224218 270225929 444470638 95722110 118622824 362256799 542128436 176872128 423408163 916555964 843234598 994548647 186282287 506564994 767843929 896975326 22134015 45074045 896355002 615868950 323583005 146861625 642810521 956248342 512888876 419616738 951571810 7188250 885263688 784486065 490407028 140004258 907228345 934877665 235726367 878367520 149650816 630371154 55239647 573058978 399443469 750990596 420123977 585725756 110071941 187967905 335217433 984722308 85558301 84088787 453107609 409141305 230950411 95918129 217905998 743839287 368051218 21994160 603543888 105831258 806480224 93950916 245835515 566224920 881344932 481561881 444592439 30995747 111933035 352348437 456571077 363892855 955855384 876695053 949618610 65927324 64662957 137352395 903165983 2737609 221441181 356273592 411878914 452391591 304708072 482301263 196230877 525275642 504295422 799774765 631106899 163291997 746242032 876942413 729516916 480103315 211020645 26625706 363615414 175470031 378974142 820186490 539362886 187345877 549397894 341497847 105789553 466577202 478850241 8955535 469314810 700291421 217745478 881193723 152683012 522453550 216011338 201430240 47729191 720306759 1205004 531352441 883598756 599963387 408294853 613115671 932583054 619315497 639741377 148714819 794785528 871231870 968901308 186664765 58577747 370815553 528162611 164367299 837392754 7012852 25839185 306707563 707304272 243584663 40417638 712503635 766038212 256428975 913933875 666283754 976735733 767655230 50152546 712850840 220134969 458447398 178482863 152718022 930279246 818224239 301432840 577581125 541972460 122850499 764245889 600550206 493666051 292408500 617433856 183575156 151937703 643273041 490282718 859241974 886857703 383216707 424261961 505412266 639645681 338195835 24212371 468897766 105851064 74364916 34264957 178502384 532812313 212747819 331220405 315607910 30972057 485169596 893189035 425460869 608020094 657434923 26011074 954202496 802359774 495961282 137777651 954297476 139234322 480576721 666055802 26092024 863793427 90317762 384020641 355955460 281029948 408233011 824853225 239397363 482597926 859118181 417899747 15410238 71866000 749120151 183534499 955354408 86806099 76723533 233331628 694826192 586674808 111859054 501545040 389034581 607820335 639322690 195848409 747054656 119899410 861904210 625663031 836209189 952221971 9683671 192164648 85768270 270433033 869534224 325165632 753030958 581168756 743065378 620957547 505551107 344701881 804492045 313421867 431507979 881215578 546753494 126334170 320406737 658612547 480395561 709441317 266432881 119718251 905289725 866003888 92134012 619710286 344183270 780859552 424448608 206383292 973024199 510216877 476816324 695074774 835382509 229847281 276243530 578447886 850804827 781794636 923149766 507813224 95216502 207174096 241545153 494486348 186024618 561951889 153098894 666420178 123909557 272048127 638654780 29199282 138052014 583305144 501425919 482235284 364164695 925874527 688618575 189705246 436091403 17951251 884780019 123990263 247798531 13539900 702438149 951119710 647850888 478104266 458932933 595583741 685278362 700478085 90070088 871302979 114946325 95685334 390239508 238855881 367733460 28894288 120571514 505785473 612199431 621997433 840537108 828880477 547871959 381672035 18585722 836479713 399623285 755882093 960469976 647421815 621938344 515424476 451057876 269789231 993528741 909990808 865372972 531323454 462985244 807959411 255142784 577931568 903644744 645382292 816787449 271378203 526792931 937358962 629680028 138992361 411872746 470217135 820389189 959744704 851889169 691491263 648740769 104028805 299889707 609210744 751450620 921828050 124635219 55024847 44133633 970680311 965015655 909506604 354520117 280517250 569982366 462179252 710965170 473627110 107561543 380268970 597521664 486870825 170144283 227201691 478379537 582017029 549935178 298768726 394278084 254340698 990259988 43018852 358369503 142666046 504745947 109820122 64494095 481897517 17361320 108627727 305094180 982376974 870650682 659614296 115410576 440633048 121793547 826375745 766776509 81871442 59161066 364298172 421258618 229305348 444016215 899638155 811322376 993951392 50923232 205600460 248292089 41183219 101135663 606661591 36365616 605881610 568998064 100859710 87779126 586359384 62003789 392873305 421252709 932654470 905003952 389179636 225803869 879313851 68071732 992580377 813701644 127232797 209394901 234960261 356538145 653411115 134598415 167860520 647362506 38037998 225977331 748170946 79221216 327112994 207348889 115586831 932994603 776346952 68962893 20773728 215222687 130966681 266163385 488991748 63621150 23683688 878171383 141941371 902997538 946243115 134521747 716699181 73475911 343916647 804175794 430014055 997327761 791290560 450390927 497206618 829328558 676368257 97893916 761066125 3481250 305242804 729169308 936475852 81589755 798132200 809765932 149328794 781615232 928445668 638320541 697752733 952129355 369008275 839694103 855126893 315251389 974215850 424342425 241243652 170648848 81034570 671257706 20492961 872325130 121648632 370215930 701653687 650533241 468109845 315236163 654014490 773352648 44405470 443006694 707458755 695054021 105288977 856787548 476669252 33734644 347624440 26938337 838380350 716632714 866632439 546023594 884400455 693364640 970366019 125644106 864013488 51400588 649418163 737022800 776242069 623583147 107238729 330412107 274116387 575348574 645648270 780647228 201217573 690053739 76170273 908676327 237624112 181459249 617980226 714293363 67710244 965604665 741231699 906090594 534753731 460380490 304630539 271670537 153745129 127512909 397314642 870274968 31429849 46732804 607297767 807671917 522832302 567052848 138084024 796948688 142401421 783732293 430112268 196135345 326302383 506282540 104811672 563926494 687741789 722791897 130736209 607968384 540912914 724484259 366575329 928182996 184864748 671205868 199853532 191126229 798718776 449684525 61401196 830148624 348933680 521215315 637820541 871765982 88268162 628420916 521231021 83185934 264669560 951343288 279321278 590971942 457625828 236649301 7414788 997883968 959441198 138150996 605852351 352870463 715151606 972427680 133569810 900016354 496149899 333423341 91142582 294868674 783107865 5060129 125017298 132041544 526275443 615354190 856323877 467059956 96291457 377554898 550245889 360961016 181414537 682083519 951932957 639040364 918732819 811864096 489440683 730690368 802531443 95293034 83560830 517683049 920237065 69646991 270215754 268903315 403070331 213874687 563771988 38694547 71451167 541305637 23252443 597726610 9176178 879576319 64786565 105467634 109647568 467548806 466428649 291062105 2148676 270877958 782618820 920881494 82742053 272059503 651571862 737789848 219868888 587649043 107989248 992622304 657296034 378205001 261525618 912882716 444596039 677813957 951577263 516047205 71635946 827346057 113773814 80812123 559438727 31076731 38796109 669086295 351141888 505224757 812664751 353290563 628619066 595283570 126688408 563877471 719859424 778260269 301667318 939728311 218425664 409656565 784866966 728238049 640377917 46392583 641120764 84973955 576722892 445214378 601021159 648358837 125076786 567311325 729170959 684515513 450904407 767967067 206118159 654562646 125708176 18782909 7853208 754327241 466582830 134541615 170721063 186442254 765318236 472388380 978686916 836260251 734561296 763553882 564498299 374939212 662462816 58135414 312429518 91702059 355866144 913450677 740060895 480942929 333278353 321748206 165458441 636699111 89715272 371576599 291261756 67939799 242875859 151631315 674783392 709458689 138689281 845504454 895900942 756523868 170409186 727104209 592784118 904970481 343174442 9798768 132426045 5637258 67934182 444855562 97339316 276316677 210822590 689916563 757259605 544100942 11664768 922718046 33316404 953896391 146810996 324578159 21836190 389686855 328725825 549135933 99145543 467415106 394640386 847562836 76455325 565049571 427183396 669239443 322536404 770357838 531554562 454962448 628511447 452005095 899818009 578367114 728321771 110640599 268283676 485581376 507257892 132464795 260815773 540574296 86361186 260143120 865152454 960713727 649829974 46394631 509849659 601491868 513809736 757006396 301571055 590265060 174572319 728754451 112020854 497108722 351628640 643575416 952071169 980140086 95580510 851889177 558507199 676418633 815046127 679307227 14516360 322304019 811772021 275332132 862878314 898133206 535475251 580547119 711363284 37821577 626941749 73729294 491829796 993267836 830735690 793400851 436049248 5308008 374671653 548070101 502416729 726300292 44161868 307004249 558956729 992258730 11409777 117463927 668677362 826455904 649287505 683193721 1276274 461059526 811042204 864154587 211709083 199033806 297218057 923072367 236855382 776676158 996801660 728685178 769943993 680053701 374602380 58509592 685361708 601790384 606579693 40294788 180607027 503257912 347299036 739563755 495516641 358708813 709544033 16710354 37681068 358831538 552420426 38957341 672407415 363462629 903111927 884116497 562496435 52846335 659705215 651868168 829522492 509023227 233069697 451982837 41593279 607672076 510492428 726954987 61978811 969588472 619766126 242585837 472846384 967065162 982149591 820879376 178290326 691693624 837589730 215971393 903041513 242526507 254928733 575448927 605989136 10557011 312081775 21001922 63403345 824303342 672870089 745442189 185842920 905939786 49941377 227436198 366128213 412950156 954391184 428107024 382538628 426673662 670692860 707901363 246255175 505358803 528780738 424545500 49568778 218886819 493033244 952610290 461413326 747961976 380575568 919918813 611035338 692657342 940920734 526955034 369477035 466307174 124913574 555319954 224763311 174854950 782756152 443407876 587805106 589663687 871514899 822860085 16337348 394724110 530761447 262592522 900082912 912058536 539654373 949651689 130945355 32687616 754778330 444875032 633165943 135353897 217310196 244201280 680527591 10747281 771156314 50004625 477054454 896069887 605324579 554334117 923441189 240597082 997741992 363762646 830260768 721773242 186622730 846598116 116497351 569900528 961706989 869096615 481959063 501361362 671264655 465420769 386565329 278559337 762812152 19731272 413913233 980122347 116448903 94440823 990869627 887605216 996961800 320440433 636191455 454802730 874774549 412148995 695399811 872516540 775911640 525660578 446806133 962534369 224775045 415819835 384951248 38998386 137432801 866910310 540359747 808697456 184847431 926925075 87256792 947659582 799172698 353686376 780298281 915621601 300643551 771167907 655743168 150121702 91608339 144450974 604924431 818899239 556599968 300324241 543932130 332511607 678501170 990738262 147562327 903276215 406558097 532513574 942274600 543990897 251940236 335150698 205204704 289304018 114592124 144977847 89479951 913764822 351180575 869778231 681902774 651824125 493462490 337645941 801945826 437587180 482096915 259386608 256486419 38696882 559710848 800418548 223724841 90728369 643673162 223803519 994004583 50231258 756317093 788795534 446738506 860773680 976462583 504459562 150077697 91054707 649437408 239557647 857335880 617982 109335878 391755005 504958458 455314719 729400945 159420635 892901898 64014211 418807242 1904668 955227445 831034441 802323216 31468637 921762810 298512729 255272155 768283744 201260338 11589247 409595630 647998843 724879278 386058212 4974756 874956974 329629270 654412164 967030973 39481501 507546497 928883202 431236505 865021307 384197920 13153802 24441941 129616169 77168012 295765535 131520837 884911808 126799975 933844052 916380444 901079136 84873132 171652599 669362880 286133469 35758197 78958509 934132311 760637475 317533072 939107067 488110800 499678694 446035582 307658124 539160194 806098430 236541325 822913051 671119736 473255596 836066852 548078029 602871765 765751215 696359915 734392601 503179375 675676241 520753004 419559818 576755377 605626135 443728768 98634608 891759603 479486965 30109468 678408265 92640791 200158891 470031683 433267942 699837584 916067264 740926066 91514130 574682046 977467390 914427180 98318133 303239338 603010383 646396161 906111102 221277949 195272427 640503702 724457323 870948668 13773057 144017141 300220396 619399191 440262260 398855003 511158793 919749224 281480822 42083409 864906366 481639712 512115092 298174308 181477296 280698707 39100373 272991425 855380752 869084114 39934956 953698885 24839803 642945338 452611397 930950904 864223286 647883824 423970957 588680609 518832491 437744013 585214101 819052886 57143203 25476360 70424240 420818347 797741936 351905061 462901756 515164653 833544772 975016847 813338960 867538419 255715553 704955684 140529843 111096305 426556150 32981150 917311541 451395952 675926487 369922937 234863208 540149773 17806760 658834164 981346733 389155602 96578177 419077185 60724839 6237731 297069896 131149078 427056078 94811831 335570490 889957833 462492836 21631614 864974679 128348147 889170032 973206583 833303831 882216227 936819239 112376332 915197376 854130779 416288635 443640215 76570068 651151842 983789987 946893179 309986006 817653071 188565133 259080534 236730255 249289971 265318264 533800150 232955401 692374341 481128333 421042242 582332173 943621168 442673855 299823203 71969314 184360239 125546138 757789496 919092817 62365376 722682179 686806544 769012507 138970814 130446758 845582574 790122655 966753096 644992104 952625012 784406166 833557236 211705545 873652772 82847207 477023809 259969274 168318959 21914501 741097606 589361200 604246674 537235125 884551407 756586228 461720790 68911645 882132365 72026638 840520813 944497741 794708816 527327356 566026599 786195981 510290466 264125524 428834988 477043561 909117627 381459999 113966079 742674863 445681896 987618850 678038421 922705704 100104475 698873731 944620204 841202080 140751282 401383229 230953556 25302688 10485809 545190698 946730684 892618173 617217335 787251496 689632265 264442502 167095204 255658863 50638483 677385669 519784386 331989822 6945581 281418365 713449820 120911659 24093227 11648067 961046861 554647999 934353770 61151335 106038081 731490326 754869767 246789362 985389906 838339674 272092050 995875714 383530371 71339085 888493887 853264057 858590581 430642503 117706559 878202136 686301366 20861393 408104156 58602103 205367566 415049736 340020467 918817385 388477747 216630045 930465452 202040959 623794395 717335573 115708645 729832475 301342250 723094763 976621837 139248508 561434437 101230238 135124221 797481159 172569322 876134459 650745216 31159902 306776962 620968126 761878389 845594679 494345870 169982544 904196781 699713435 437548632 96733600 471047171 826026378 165879996 254028974 880583688 789674391 823880899 996292332 519506865 125223148 571903447 348645053 116988007 133337883 449875290 252112228 783335393 622444612 128246686 286596960 506120865 287539999 907565085 267999254 133134677 254427306 290498149 889847810 806657092 728046780 839097761 130220615 406589509 4977756 384249588 287173196 794652146 60646838 135981880 166675363 38386338 707885326 515320415 155374344 693739560 965195705 407486571 329591304 440156668 388249609 616188264 946277532 528305959 376269700 66793137 513956988 630697006 357291286 256321149 289870449 85338065 95418909 420091063 491927574 100396664 804340651 631617121 747565162 864987488 767599000 766756876 903373825 328000677 134593642 58748169 874256588 99789346 318751091 203847892 392462365 559517051 820036155 338739897 87823010 48822206 405533033 601779997 679519211 762824318 858101145 969389660 700678735 806036405 241997074 45122660 758949420 46337724 676739780 359030933 763841564 296855132 125787808 519731740 624855808 260381450 430996260 351628748 212687147 602263703 555476639 605149512 161780753 228029145 796405760 102120114 276851350 54455144 703900110 808886913 817279462 414517606 630792924 370474548 73070362 872789997 415597207 832019782 771644073 92336986 191050714 388001988 389192117 169354874 907733727 866564277 429736323 191246339 218193024 494939821 793510041 626186014 100089332 807807145 854215158 749011443 909927259 983582859 803466587 466343720 792469771 473262400 880861326 275779046 843736947 953931687 148569043 259334153 638467820 920213115 204187490 829518534 160731454 593379607 998873407 68465180 312460235 281126081 112227870 530653258 776065901 758254262 9355623 728671585 566061407 863570780 330199379 328505017 699669990 133665965 794848736 344656113 606928364 528226413 620435158 303181662 334674452 769004200 562515814 973142271 541733666 766703304 655177156 702465119 212599262 506566914 623446651 525059496 787692994 588190872 908229105 416275247 346445134 917584727 997463183 765022892 633671858 327662561 93527908 333341847 313844878 888376643 677997959 920773241 269119408 150949469 76471255 603793859 919953668 638987068 576936129 314203686 258206723 84629637 869185156 323322336 591196550 345148158 848381831 231405896 933339030 609127287 647681142 132300515 526712013 497660676 897323406 12900222 825323236 990851313 346242069 139168113 731744307 876756379 912457706 863714 27705847 988928960 457173924 800175867 480432379 34110053 114379552 591155454 118739689 836081059 914477789 562452590 181229217 615375972 793858485 114568246 224503258 294055978 99385112 603731623 791716653 996708517 616631844 469556241 840076181 962873912 461240705 424336839 692146643 226214762 277716905 719852489 67660073 734890828 372544707 548092452 621517232 339440610 139247905 592773272 175521669 906242045 155225862 209267237 521618016 949084346 176351834 598637626 95656676 275736945 202369248 887373328 272445461 819001091 356929568 112521641 634391355 818170273 389374831 179054349 44385034 667091735 898906837 112045107 401982563 123967896 512653910 23499794 463408505 504418166 468789418 638930173 263176562 624015279 848197409 784794578 425615976 24549242 235948555 521272651 152802538 438317802 261162331 425247998 109835244 618091898 390285990 596742950 288778522 779660821 775797298 185679908 299268907 527220487 150241366 701251469 651188382 515411627 577267615 114596886 19829792 46057032 606043411 135522705 522588662 306757171 920317282 800720989 183822765 8782188 174509992 336625302 447099989 435672322 761873300 409451585 53764219 4675641 6194534 195059093 636852813 781991832 233255352 936121720 161728670 383496717 489889540 812917051 898908343 67157154 927513936 771254486 965730537 386073698 906777190 340835550 692830869 679610824 141556539 876653633 688393011 168582882 213278934 988009352 604255203 827668585 397460936 510535773 832344226 256171821 705594865 321713390 38163652 938850216 257835109 52408673 174863284 747724649 865325723 926287978 667398154 645356011 550058815 485645043 31429708 309352357 678996944 724260576 988963180 673069834 453430560 529872542 841652715 666709494 370398245 445907917 346894430 767859180 956443690 31755007 24031001 514554906 353468397 914711004 305921474 611303505 967119677 333301109 211544505 684961751 259589087 731459011 330317761 809647901 69620405 214263821 119000257 748617348 938524396 960479788 421687182 244471308 342868682 115856248 911180801 713266926 561764165 110591582 333642458 370724206 142346589 210189810 737795463 495814985 977417165 43716936 107118489 797053193 229534397 171179346 482014944 489123483 902638356 664849056 151287735 972258760 879112876 122804344 573392459 670153624 935800483 995079640 914624931 131185516 110935888 678322083 844452442 525216404 788913664 30611251 748456961 931260252 93317412 486252423 427075236 70734576 382485711 386710077 867787769 612020107 410405774 202319064 953659941 165560481 867168119 104947675 137819240 598797347 80268370 563728050 268950970 16068853 411324042 36092252 147254368 374776281 714414334 844223161 899992684 503327997 727350763 500965996 287104601 820668174 987218418 714179836 891402750 222220480 953406264 611706870 686756938 363812037 666542285 640416878 529372517 386226755 597880905 519708108 985024101 530665626 83436158 106491422 399250830 347276551 142583673 399021550 722052831 856998006 95761062 474561866 212842355 823111825 975527861 499946955 643779998 815262630 66643142 387699099 37483110 20049406 851922320 576756399 236377794 518464604 69689629 765750311 904691359 667570533 137974770 742231811 50752510 73927279 848723233 450003340 421203829 991306905 849024889 143256659 848304911 944785950 470334876 61147265 767897774 445862736 413610571 264194124 113641718 480253712 504409574 3641179 500303117 356331894 580397577 736680911 727312849 650087205 354947573 484520559 170174089 345438694 226752370 220926599 419365973 75475602 670929938 693086153 919298858 519954826 688859164 620120120 317257127 159194039 533783736 85154901 457573127 947394306 201865376 571214844 427648018 706274949 574856022 780467486 915123194 155253598 369664748 642436043 805340803 724612320 126956601 975514891 70051014 206225322 48957841 341933338 134217275 719887778 35019490 53516133 92358955 576395005 526152604 409616082 735589044 59936340 347287334 45678522 7330645 549152709 616893365 287495014 107944009 191749386 67962500 23067203 199519335 290143599 518019597 4860137 14755919 497492549 832891380 937323284 556234223 881849220 131772973 690451497 454253350 19308814 596483981 546612304 595703819 122636585 956228385 183809214 35089276 303515718 229487735 894936272 705184778 846381099 34947638 813128787 890646836 102910137 688712341 90166170 245570087 59248289 947542659 112842357 409257189 632950390 50165640 965491411 367315961 34454964 508459260 821569310 53763778 104943240 368181614 501983948 80096176 176926350 538309513 967701803 480442068 767797247 862638075 38143197 466694697 897585712 851271983 209857884 853012200 392500675 300024053 98582286 304265315 100083063 63940995 713522504 733033452 114106634 679013914 100349413 1077950 39989525 921918722 907358079 144932765 142616687 261858378 77545292 319543037 800167890 897763447 652501456 420481488 612917873 690644652 887176184 363019936 394432987 97034067 68548487 786933661 249574471 19647124 91198976 349657534 83588118 657237831 82690985 50211104 188768096 35556749 51289053 228757621 809991823 958647131 226206737 952608509 73021860 156268380 124667897 873189749 54031826 777169352 293671236 666949698 320330356 33363771 29969633 714763342 982914189 98518119 354213354 85005011 118165243 297928681 434662544 54269712 955166511 369869881 104480815 143934607 257942981 155769867 372692227 67934803 966933349 598898963 873059664 39955208 755167342 997727560 913144956 661715520 627413264 59332543 181181569 947743619 92696313 63667554 515023312 928126853 14702024 869236665 13131864 132867266 167165346 300310759 39653330 122331856 670180639 144134144 118782814 928123620 299904011 343991392 848574774 119353711 942890354 721634437 159308919 550574048 571878349 924970226 64805919 51807964 984302769 245987487 852067934 929515433 309655040 367091245 710158638 324357064 88844261 723290501 309740681 256009606 23601259 349394010 230857814 546298250 493528154 202156979 326938221 793432164 546148371 28029346 912785874 341555076 749663783 924611144 892129123 174058483 849581370 956935041 78382798 686400490 55438880 930450731 468432274 365093919 150058327 31107263 689450982 238902587 754397763 999191663 494912193 630515374 348585672 578286358 29329975 842113825 780443336 208784547 488062340 326591706 236813892 253364566 668146782 986477674 30492061 412792256 13052508 880073430 222243649 91435305 418990271 277682528 21886035 739938897 642776446 24460713 771046159 184743780 263363300 377960274 183935442 758275492 8475647 385037465 189078201 890321973 79667642 969521536 99106519 567729981 148629594 335920410 673610898 816776375 174914436 704102959 82084982 40483295 436692740 156844982 131918600 855683011 434527509 6320986 448138259 929820307 30781699 219184417 114564086 294144998 597144690 151015879 904936841 458136688 536053343 94015041 200975012 615720984 63536576 300081530 35967317 64682521 488518292 709578214 881458895 663432727 413681172 816060229 703916021 850373912 972905210 688350972 558573274 259949071 694671958 6711532 189769377 577970008 78412300 156849814 872115005 528073342 307865692 629568197 986210029 843919034 723583237 39701393 459640018 639636164 339782922 495607334 704318685 828301213 57701899 438293931 344250291 471383071 106870511 900682664 174273334 79775721 589033635 585362959 339724791 136221944 444590842 382010519 714191951 523003141 538860332 438823307 51076482 846726023 68391503 889802863 690645056 644491091 929504255 2801425 136643607 121803528 350925110 693478643 802621093 408627009 131772573 146871383 880010079 91159436 900070398 906799764 170935156 341620385 492162722 363176298 477842328 936753563 745186816 44550631 312273055 284047147 335890289 215865889 130773169 256798144 958185103 673934576 901289234 740205709 529252353 890449192 862009236 880177462 583927834 517146680 288804470 568216759 516534415 21330900 659376194 416604812 928130663 682827701 758225196 272809736 46003998 88583876 62079650 791190813 133134506 226869057 927754311 321541146 442734945 911043831 578339289 253436399 437494758 332144875 993642107 966747110 222594066 708167694 846924572 659038252 225314374 988245393 79771362 741848788 9576293 739147555 10969951 790223307 274491607 621711499 915549395 320495604 710295374 977629044 964202768 695946231 57014452 891957078 17487376 499749396 655517260 448343017 753185794 93012017 780487891 599344252 59759127 3081956 307511946 759200050 514636559 385342671 599961794 594407920 127191458 462054438 186071826 990677760 104794097 460563432 612389258 20343491 781059035 175200983 850488886 597778154 723663565 907503338 342251583 593667293 259769085 997768842 42010309 12954879 90780859 822498199 464815482 3056337 678096506 772327427 614772738 45249417 10186449 67250883 639657336 137377906 529305321 825729162 980572018 634099417 286292593 445477627 654442907 919867980 620678610 357448144 517646133 196858526 264951481 859897716 790525818 524720566 710182909 832536126 390191796 653480119 507550676 855007277 509052807 38163534 479851056 123825544 83412950 490037504 43592779 723070285 479931762 572898099 401315798 313020131 206997515 687608391 758497757 713956773 459992722 231692718 71404916 977638854 428551244 188872749 690052921 219077061 713593314 252752182 904129539 956301461 906232300 264196566 663825089 415285107 302360099 143676144 391627002 238289400 486230000 435219780 961359685 818678113 8117878 215191834 131698243 67631744 902800224 890195999 781588516 215309297 121888717 705509784 45464503 402956312 894382532 735517423 622033372 460492197 988269604 378679262 416793657 747018256 642875828 80618745 14819714 945235926 76811241 406446715 36041678 415557592 694182847 997401362 86752056 554817076 65109547 218450298 622448820 967909771 961162648 256553687 35735419 935567716 962063470 81199921 338524027 708962353 816717344 813073751 169454549 657503299 191753012 438764557 257037906 834628839 371899654 271857619 632381117 301227246 678304334 668422794 716784837 225003532 518340507 803536892 779820607 583450053 874503541 254785778 403876175 835666188 511339465 439611594 623750256 325919286 520811514 962274282 34881639 190045209 627864384 56852539 700064860 819617396 495617096 957102765 506762586 867516749 228960384 991660054 21260346 759781069 512599199 738045182 984784600 30939705 394098425 764605206 466906110 121118317 19390984 723298636 956784504 383246800 15426581 433051111 561682437 536238095 247841745 449080427 578799655 875706128 505932966 278864514 547839875 854066413 88483631 54602461 574099513 317444014 898778866 595359858 77225082 411378065 185921391 914526033 294834121 580019815 531647590 614256582 701138131 403554925 337555218 510438986 786801724 352981798 943490097 201000513 741736244 43848193 650080939 320535899 919554320 8530256 451916764 467394195 862596668 540400394 374513007 436696180 857844407 125808224 32056037 787585840 537186288 70493779 554628224 684536761 650513593 86275814 298793342 204168075 489830738 488864911 567123413 129148814 841846709 363129861 330149326 436099304 406978053 980230264 756635202 326532372 988760520 61068318 646442918 703873539 601468711 20955924 140569719 311829470 146764148 25142107 99415309 536466787 95635886 506559885 73519899 598665830 592835698 372313241 655350257 935182787 861178151 222473669 64331600 555541211 585603529 246997277 991640515 992581581 79743893 600792068 171630304 921020764 661860385 818073222 624894302 115845448 691545497 617980372 427674917 690825996 495638831 379606577 79809135 443791068 886166461 153329033 894973249 331518510 378158625 550323505 266701297 91853128 625313525 183549248 647394338 63433405 283062877 491551204 56014985 362806769 944859624 80161641 136343884 459236360 750751214 761238185 575081807 294813062 231734909 2756723 985639058 579890091 382363300 917964544 23681158 121046112 71293576 771170758 452564622 301968553 174010615 719265918 393821680 799324139 755331517 41216017 862757544 38394393 385283573 771288880 253717513 182659548 851450520 390061396 641895907 454718085 3815933 216977714 749531147 235550841 72250788 587686556 815440931 454614087 505651099 691638440 575660199 429461026 315325549 28224820 731429578 489336163 600007089 125251257 288660302 207854957 18983626 3934197 246249350 256783550 775223076 499966862 439443097 479189948 890028258 81339003 933908032 893844190 150833068 683439178 981911382 223083856 123642085 649868664 530214294 629293183 194023455 105874492 911270561 509349003 986615663 495216490 998685166 439139103 472984099 139861819 646994060 344484076 143796015 745759761 601267625 919019090 98242974 893227073 398209037 988271231 827082427 184633421 734631772 977915495 868072598 569059505 53515702 991714683 218928168 583729995 473524217 412951622 542120839 237311129 922300625 381252853 732527619 773502142 672908308 205511717 913363960 172418719 549995792 57159974 918178479 3779768 976179063 16421452 897006840 226904452 857209035 576605618 411537872 444357158 407037464 132126821 13416663 460553165 976357855 84861182 896799512 302398424 497812804 291436702 539709552 272629780 672689554 272237170 46131921 198114213 330265238 812012232 370532931 880261029 869172205 288711409 736557148 697867619 157649213 486080339 777288422 14858247 62685957 41342645 459215404 469723420 173469466 325148418 782792937 2343672 410009600 679592448 304742095 907822403 971029149 844451647 32968534 496235054 116688816 931616806 694349267 299470406 743629037 64882197 32247786 465317593 206109958 768804934 15701563 363759170 254885272 792989985 231133768 170087580 834332629 690349171 639811000 860318446 15497589 275120288 862662118 278023540 954712735 167404212 38362294 778258235 11855858 71330827 127009640 981061026 2947632 673875258 133047783 599093020 591273807 165295568 916926964 797383764 934100501 932628526 13659285 41502125 578134862 244793052 211589704 264983843 787658574 851400703 125302288 655672514 126520990 840480757 933696053 933750076 7884969 972058346 564524662 872257178 43389172 544050654 705834555 898853155 217925911 838882337 350462526 809199717 4177905 119905841 459099832 790794757 52534367 325275468 832296881 483185580 570068519 43886585 600685774 210243445 747803639 578504414 865915958 726840981 418985170 799612011 513107408 279386490 624186708 77632070 4160020 520092232 474199075 562510926 271461738 692124985 253909615 621924264 353841054 110603871 741830104 665457237 901398627 646880822 990732705 733695508 982582754 413317575 630098444 583268527 623561019 377902082 14289292 489476977 104743062 433274462 141605339 470366822 565177303 765792046 400515243 569337322 138400629 874714317 131848248 409862367 419355653 238274214 31786630 773196706 348878084 626133085 291170295 250276710 125530259 281902999 836488569 108113012 695220573 466587012 543897890 171297944 697005446 558187182 660774920 654264859 843977995 654896610 124631680 409155297 273205007 525146922 831008971 411605636 252377590 815373570 821468002 671733243 53647783 705770983 297446300 402525866 184420419 588616594 505318927 309950677 870519592 341807496 270580040 418256517 660910859 666994282 589554460 357916304 77697815 102845731 12181163 921675809 757742340 989329194 183347457 30947346 366992468 14356427 295069333 619370057 829729996 116537334 291103299 735894130 822308316 588549599 138419995 6728735 29682544 496255274 169195763 900202136 838062769 292292155 170975004 351489979 959286436 613045815 709406283 36984250 715891545 574103797 958660058 326150236 415949342 142007514 209613933 782941809 8880293 504683266 402311866 691126640 473736951 545931516 427020770 148561619 134481114 417957116 7806705 16680010 914212389 177002467 916882145 604791509 469294621 940373500 956281488 281097408 553419314 518204122 318081657 121827210 944824270 129258066 300493797 360773611 123781932 510107729 143715420 132662224 867307346 398543637 676305215 341044297 944475152 103325984 489605915 931472618 373799452 497412619 948152627 140528192 526931437 717551123 597836053 996226058 510440974 406633892 129839817 63860287 924838013 447921474 38203848 722178634 429695891 338697644 82952244 553477822 701321724 79184015 538656397 568629070 330244003 67477964 762189718 127235507 23320299 104311984 911224476 397119750 601724602 711893454 390164294 128656038 281960928 988000346 977398447 792401901 394634237 107238264 708778539 171988601 407676089 746982386 894167234 837371979 938196381 829635829 243366153 639518104 761336196 634538901 60663525 944096550 702016864 822853242 71332056 725337163 927165225 835072883 122456912 381406178 546966336 365137557 362578568 828927263 353137902 192493366 473845515 600288490 152247981 182624053 772277090 412440421 782122790 518960675 102328752 720319170 201112856 345694904 212353626 814965403 980233804 125533502 759061952 534767020 948386744 682910360 260104182 728068320 370499594 235077445 961990850 917465930 600215002 177085769 598909544 805869255 369579134 72755059 406157745 374343467 107895463 30951186 786783887 890018253 402428213 889112638 462853774 603541068 87323893 527723751 271022822 67557697 653257253 30084773 454841068 454160348 565511484 714945249 34745019 936011078 802539045 996735868 705993359 255270398 173821636 157419254 61139653 395917122 82690664 319813749 770260588 43102479 350764934 557044474 933120731 753193146 298673464 248490856 209250565 385997356 776214607 480273386 306071404 281988211 362874511 760912471 736148558 780902346 328374071 770893576 569429775 130913116 767629444 127939485 386183513 793967431 285358739 299839517 189884552 220565754 619653265 960145139 263668232 970418199 369705965 49305314 576127696 668379428 297796170 637894613 54376783 926527128 118167998 212964539 208515338 333558860 973877009 944663895 114461206 302251080 568073822 536407332 285680547 188219617 664346817 671864059 982187048 949705555 971703576 24587951 22787660 443873192 984733090 286455892 266807742 206955406 335761205 842935438 727851185 633557374 333346402 634744319 412600853 304030751 847708857 621116190 637589611 821585866 418296436 604567168 976353297 986370258 140974499 262033843 27106226 657837667 786414253 9293273 460059573 610634180 33881224 482847233 54507372 871130665 769303124 321315113 78086070 105064328 16766902 658453606 591138054 350113303 293197924 3738906 654144054 140906781 477371448 144250016 815008998 895667883 601333535 643878646 734554492 594824385 905912488 761660718 252662052 544843092 623470342 712721624 155477272 657351565 48085208 62500995 380998581 817388331 383816107 311601002 922452659 253099361 970054607 366107064 603212663 115768883 369845969 109873068 109192015 847217416 106639435 924201012 595401651 707972969 420596009 182472494 302797354 179024848 796649563 407975757 723867939 420119905 120697380 879345210 929987821 21298940 941846204 310986402 838687270 178178663 622587403 613656280 431278023 445158362 979763343 887007037 560927244 202125664 996880105 670119258 49343079 103519539 446836621 497261081 664008860 867432629 532249927 966806213 46457476 328899489 227298321 770325414 601535745 200512052 502186976 531523566 221810991 296549531 695026319 60498261 327244545 170130073 674154540 758522567 615288434 506434235 498045956 176215677 708559898 347442412 846334934 610419328 303478302 145687906 107680409 967487161 13120534 492446687 786809725 59578009 821346175 14108045 682419775 275398272 214620097 37123102 806921837 436431087 186188984 354464507 349445699 513433529 524594579 23600239 124472447 139883013 382550825 622518402 168615041 91110722 969960813 14949975 701530049 273439115 13154232 661726809 93442627 26274766 6689847 880252352 938369126 828036022 894360396 473305252 103434293 961496844 510428353 762872481 250444283 696617337 117336987 599889981 62567217 494447917 476006571 187039663 634330929 858557395 809558065 802945970 949668116 779518877 670412296 503714517 905474343 683566527 17957677 998916970 562357644 24647524 879169321 500726770 705199897 626046068 974032021 661150541 440059264 336976726 276539373 690503546 886110414 246392711 290393526 948677630 740840627 766400097 135717292 227687908 477473843 945275356 30633877 279658311 577310585 553562524 783372827 335301279 89645402 653846855 334218248 652003046 678494378 65903920 5246167 236210626 544466340 831794539 897361166 984525603 21287616 173900538 675029148 907398029 420293248 817939025 856075658 13650227 436855473 844309302 241338134 914329316 642101009 124488362 193987626 71927945 678050885 829876804 407229224 620212638 483723658 741447471 124732035 14734388 659867743 129978201 250945013 204334082 961772740 822531 41376036 983060355 174723068 716405183 742974736 447532668 386860559 451566745 461182894 823716032 295876046 702521027 738045347 937977055 827009388 784549324 9904999 357576624 614426127 269650574 977789261 950666136 11098045 102521296 965400523 523482139 85015848 68861888 727816220 46788587 69684418 769192255 882365294 96923837 338113789 477856381 544456504 724974347 929423125 5639397 401206730 77815523 708160423 139252076 15792577 387686162 776317751 878213927 745262785 243260229 380853 723052046 193926365 11478897 678089693 11843239 387477387 763105540 80705126 115293606 662410479 2905895 737002212 397292124 99829732 927632352 875148504 644286235 505123050 804571628 502441984 906329780 882387150 63118758 898098207 750696078 450804920 674415958 481426357 196067704 917676186 481807209 771636101 964118902 345802457 449725793 975962141 733279843 65347685 909183618 701089800 727758163 764605865 290608363 125050286 864435596 70757066 198789 361238182 575880115 657286768 863680165 482209894 392190270 926798923 232824453 995402699 230120194 907240410 329345407 426187897 677432947 811152615 50340350 494068201 9471423 500066142 322546693 595267617 565413826 84246662 148873768 145688340 848852526 439482130 270738625 565804473 510239195 123453765 927042655 86119310 633256885 643239171 420845555 25447154 422554445 653670007 873366204 652674638 413426768 202711611 931378887 943376067 866380577 981719236 437444267 875852000 334301729 759990959 323635968 899715555 844237620 472509736 45403894 545606498 911991865 168658871 111410970 274747412 144628987 890969976 213383073 777885871 386725499 486744979 655849376 809279943 140414986 529215580 314470933 406358105 584443542 98366171 202250523 450824118 80085406 639694789 179192469 414387134 252202099 502828437 166619040 948956071 975338172 64539286 494562568 739846388 85714508 458489889 867110151 230343494 349459865 80493223 8229365 736185363 419754554 664078740 397981657 412685891 45810671 564968941 819043995 630254212 663335111 21294518 933594682 743420516 513505658 112787150 10324002 618224109 468131938 29459393 567180179 295986461 93998678 914259098 888349201 179713185 372748986 755459351 410056679 574725202 688468926 270802395 163426916 108223479 934881134 561408573 373425721 833208157 126377513 44986067 315978720 642228976 66280584 249573401 238165843 432302594 214876903 248489844 50526702 535525192 277949237 470223232 831511653 224464266 236998681 572377205 404177451 609747666 180352907 666750481 36989220 868821832 937552875 200416135 829561662 724950360 761824707 55503734 558158516 740718572 100489801 874137236 235463899 19286736 976226988 473629741 451589329 43620242 722119585 354632382 579145434 852585173 677371965 263173438 77049438 914370645 835550642 333743240 376634663 15903548 493720 413623882 737241732 938046594 614040016 419319745 515513306 228381075 474823479 73671821 969099646 575313279 800325408 57079896 594600014 629068748 530709636 46189343 672688989 105345572 253338076 251834422 957930744 930710041 515007859 34980182 697597037 203074852 221239773 74231699 218978400 221733493 487855580 956220131 12296438 101895596 228056227 527809743 182793022 702879705 453997916 4409019 278192983 106839675 61488914 872792997 735908422 592198549 771498691 261113763 697544121 877353118 512948184 655474864 660579510 880472395 542971397 358176547 83547246 764211170 284924597 155041997 838461014 772780177 111262127 850757451 727192124 191834706 231083546 909985145 894714410 537597813 914394163 25423745 644437487 975883076 898216741 232862261 420597976 522231783 493976023 118142096 252101252 859440558 626133312 912680762 739912952 21621060 123373660 675976550 785832229 408298256 831018546 476809594 33594784 794797025 180083397 760786907 986631730 411166942 523288403 881346139 948764754 290198917 906769883 445718592 118598344 657502975 531097204 539196320 32251109 25073226 509854767 284352361 737030136 135988078 49549474 329459439 157609138 172923133 5435988 795957718 581221388 836454534 272767312 614816172 483767910 452850708 228119430 470399639 716534001 751407833 204262129 517815106 894123101 963548364 963533697 12721445 473567690 347147253 404434116 505818799 224736830 914288882 642687511 961766965 902793312 692236984 291226404 60402449 865160116 149178743 708876518 446381503 985633276 981643829 61197674 321917537 287010888 141833456 792317175 3544888 893241288 849095656 373876345 639880740 812644019 189926394 505118536 138728060 537073646 909552651 644546858 761810475 676357885 139750720 723577440 431667548 831987703 867320195 344586348 697147818 16498937 53462865 996045673 854648565 887623046 909759698 176566101 27150285 51593153 821399628 30695173 797350792 670495283 257087869 437231532 335655653 447014262 942350067 474383712 984087907 704419070 971446922 745898382 233293306 111197641 321992173 664960853 943185344 41828719 9547200 492849513 58327655 915526416 341411537 912976219 803149461 251171235 942058672 830299746 155280739 763458299 713511270 952631531 286469933 970599138 242379414 474641937 270129752 37245832 949025648 254217658 741664901 772988921 852632391 827474558 884186562 27140915 344951762 679888257 68969633 207015313 25254121 127297288 122541729 366665658 892789858 778207541 470353244 834848529 461023638 625633982 450823179 27051259 578265512 589809463 997650397 820644925 64451399 120296500 857890757 865993399 374514157 452072009 638982319 79662900 132062919 375685232 106803814 477014680 908089840 175773447 684029993 933343961 303070734 806571721 152525970 48376943 437295613 622879213 883225472 898319251 101029546 186565002 925370509 679295058 776374465 775537257 352456334 693342215 895833756 62863442 559335613 122864265 367451803 50834284 202527164 499514721 279035867 309330977 976529400 187125707 485104423 660559392 972986019 788175156 319647464 125511988 836552099 756943077 600907552 572293922 507778679 701937097 611375275 433149187 233748506 240266091 61202796 438721192 933608306 957036551 501584633 345460270 79900815 869036435 396294553 282427978 221067507 675330420 591758955 197596907 714972478 76863377 710672650 687958496 717554885 30320114 665986835 406623335 639779542 119410738 831433608 74572 673864186 442808882 433223758 907612692 683074973 494426553 198850235 469199630 303979456 700434867 814659899 383880270 421987654 63470804 518824600 643055160 738801223 110583554 693168418 306290052 39963282 403841068 994248547 610034518 286677533 512751733 869174204 778973426 484678822 700607811 779047997 158543007 995933045 64788106 918672050 531524369 559214659 117522284 723998 863194114 670473503 815383896 99590735 92461156 878854699 618415334 588032667 470172273 581515239 133717437 776462324 473994873 537558504 623227222 936545742 676752388 988495306 805719946 455725813 473174127 358844108 87290161 484233486 207293504 152078266 402905535 738817872 711292924 372944171 739541869 427003389 43417673 407442117 379110476 988395180 138813167 997525809 428944198 461501792 431557400 562661634 90480467 758068624 100220137 713707689 694614365 629488876 554719346 352850662 85214688 27893473 564211122 25021200 364643310 771504625 177099466 767548844 510322497 888392389 140493014 102380717 167912130 36427038 362339185 547022605 24822217 501152352 397064765 306282767 962654143 681138516 868944400 53134609 439207139 821680889 619358649 986337856 451169764 26594347 191704869 388900804 54487819 755915990 413922003 271647480 527420615 591021468 39196323 890259463 331930209 32205689 992640179 352358690 921149078 207495716 899381294 798487647 708648067 148962410 104770413 523818561 830100926 973714812 429469521 121824416 647912052 901344522 108162271 99081816 927938868 152383492 340498971 834943038 908299481 606937325 106590517 288236447 50475145 998303191 178495909 382405353 883025231 23652440 734764042 804174309 231148155 486661687 455178307 792312573 488140448 559948719 168647485 170757725 386179882 598117005 292582141 34091934 351977878 253260763 985690101 279916745 405644254 178705423 114859782 166460087 785642747 73966650 454696533 836117891 72269841 633192442 71039595 807811423 509361233 658319988 464502083 740509387 144981674 919680389 385338311 485638474 332145459 553985795 656396198 718325341 4619151 948978338 604933626 356597029 54755453 443140078 636513773 312916058 474361852 603889907 479376144 112520950 530372908 934072677 948638841 455159100 419781470 872194787 262970523 929142702 530514775 727472605 522168440 528012800 499669346 907506750 13651273 831814804 461492544 522563823 402656496 466111694 324058512 7590121 822708722 378813964 303246550 311738847 691730022 777608401 768145105 23622517 890129351 298518012 957695193 691284543 753677112 377476662 415995681 869163986 159135715 946510455 449152942 681304154 327039607 948822287 588810903 193207231 780637091 902819798 715771053 35809938 221447844 39829565 43400059 44156565 271159880 199162960 208411763 815406253 829287713 976556867 839028770 571933415 127591231 796723962 115734309 733784694 26716976 531729989 602948679 185852690 330756796 52101620 867156844 657796402 853440259 308484098 703519984 486593701 63820248 271807389 522403638 285268091 164153305 418320048 181941007 435313184 617483008 390352770 103235789 299287072 219425988 942264558 871220486 199533570 591504871 986954794 933318263 618221846 518684782 388783293 656590888 849441577 293401265 376264083 359754330 146841523 684748180 63274314 633435223 748568427 187598054 8355212 33836517 351751358 426675260 68293876 787064541 44158267 458646645 890300329 195961690 530588984 685081238 67182175 730122554 276586109 54136968 663440816 747324306 425338101 52224109 403915193 127296030 198141725 780179275 339566711 344983247 317443807 255357376 830934821 918528585 442955429 839290032 804881454 794706786 265965291 873175329 434287679 162639909 184338325 177104359 358601598 714927308 862185597 278300124 445049861 138771705 184953443 961007029 738612362 610291544 865747489 142527555 590103925 63889213 775223181 929670635 261388811 945183339 185028011 92323631 863711924 627983439 931613662 521109729 275206577 50095305 394285057 709494255 65251565 578623381 886598613 423853163 146067040 748784209 702153286 591116901 740072265 887106729 404640281 331200979 349914624 270387769 326244885 940018548 186793333 101468065 722205534 448182143 899167756 907233544 540505773 615396031 387733335 324635786 136505759 662939911 227247442 383307167 224950517 292499007 961930547 111549129 716352169 107997586 712849690 271021806 551630838 305438306 10644886 956271118 636639284 213075861 79175238 962884168 5610760 265968570 916868585 727816294 714150712 816036340 487566189 107172836 283948722 875299523 284324974 420454480 390755785 511572415 803761646 615706301 804071421 618208544 579771782 372939941 578722481 292621471 643961747 982869671 598059776 507122984 791657140 87215412 720198845 870832378 50099579 725809604 989317299 966968163 453625897 555984363 635520854 941192086 663157198 919469575 669007960 947482171 192440406 912280097 311570938 848718403 380502749 115642358 319443298 960274530 488582299 898165779 105412352 985060397 733551801 703472128 492183380 525208940 790687539 64898576 248557669 693303469 790708180 90391320 512787984 96850428 646375682 825189 38042513 162049231 920294764 559566825 109531402 965251521 324363273 273618691 813969924 704866021 389261048 133413221 665140551 730359698 884095351 770552902 715420094 470163503 326541381 60119826 995372443 969745271 125018401 96446463 663048740 915726580 186837782 28353075 12577008 833213463 29178263 903135872 995262694 949473026 315219048 957310447 767240899 639582320 83445489 433727174 196964693 472706536 419656746 862105243 55582586 156268449 485174496 771002679 626431951 664232229 683638856 474320745 633977499 808657257 570767208 149542590 576900188 610121341 177895664 441993547 295851156 207073927 197645771 143630201 9063304 365381170 100940647 776304202 4963490 36902487 62547727 54444534 509609022 482204473 916549776 565191607 638472921 254240623 188710638 264904871 918472851 872349493 739225616 404966702 533523101 162509175 407025643 962939641 772630515 584921307 257449539 68481670 644511585 455095309 64628222 653574888 820476479 18085220 282395442 677956320 54987706 344943168 732400853 564596728 827147640 501466980 982304686 318136912 608223954 23531675 583041783 379213157 895881168 174783750 784179858 281920620 189809276 43721852 97376612 962439790 628643158 354826151 883437812 125671094 809921459 948066033 779245982 482914289 966151253 914157775 13386960 21138958 111617294 598304164 438252037 938764934 99771143 273073075 109418197 560511449 296604749 692459979 939724605 45002268 719760080 576420814 326922888 909569355 620142665 424299499 724525497 101302175 779125649 460479660 226973268 441563460 261062044 6219249 776994100 79729648 772893375 790381060 100868606 884510669 241201575 391636994 675791954 193489070 664710068 785210150 754000518 961314817 330186481 693725122 6317084 49946560 122662287 185756323 959515915 742804951 462572174 536557763 844107125 94214174 997037422 71080393 535777633 258099465 929815993 165288085 337829113 702709368 955669144 291214070 439736388 49387070 535367415 115528341 242876139 52593835 900738490 996876656 13908651 83441322 543118129 872742086 133387882 665780415 911014761 945420148 408585366 373586934 481977910 105208842 467801107 331531683 176289234 856095092 589631147 106105227 21383176 779976611 661330946 829568671 71190680 101067333 878955740 459074447 69112025 121831879 511668281 822366866 118708534 378093283 905808188 514343015 103351720 39196069 180123429 14366480 837132568 441225146 240469765 171626829 546433988 708270872 503158511 722723221 416882315 92789657 681344799 438265490 725282620 195192096 120350512 648989651 148775780 999306251 108064097 70404156 121138129 619732377 892771022 92363015 997825659 798579209 459222381 101177379 690291629 639345809 968060210 379940548 80570955 208529975 551567376 479521294 769317198 54725886 54760866 186199512 31894 736105665 476981353 725314513 783814112 597331864 226820516 932589892 596638114 334884612 2994047 570292595 807133341 748281420 515171961 657475351 399376980 974394341 611169081 89668608 466256501 579229291 322125507 399343807 640275617 873692882 878865100 409592814 928418767 933625966 448308677 780967013 522247982 925290029 358797877 158578445 522621892 585618392 91168336 971776357 920503004 946678735 394585303 580152696 547476506 909757263 237628046 946853486 736667955 848797127 889038445 55440808 280542769 211163952 307300966 920818385 84856833 38682418 182927550 865791952 972308383 631236226 499275316 347072716 409042606 858073192 505651160 931664497 443691584 449335848 755957205 216710939 248530934 150542508 796863634 796007439 912816122 887008031 595377276 502000429 588321509 484415721 557441236 868864277 548096024 864742201 642199013 485469208 903424618 677642914 203777511 728249352 161395491 703052826 927838419 570438096 561126018 286005931 354618944 857333953 735341778 110576149 74044891 836389063 113635008 723424876 484912853 26451129 462949258 80290129 528451557 51270767 417222201 938409144 772651395 965318224 655667697 267366760 450787431 411608666 945009673 654564942 139858018 106405164 210134119 920212788 676843259 771260136 206218718 31462203 481110440 794076847 994554703 407671682 630465909 108189710 131096557 115378762 134640838 446562167 48185242 515608747 497832933 465407442 306534242 123000679 283242017 962201938 390367438 734029447 373810604 335377111 241110740 366184973 294298626 451244859 138914112 971141884 75021346 345132830 855120438 556131786 139209676 702191492 963803467 622191937 810381201 947416376 590087050 797538391 246494894 490788643 165663489 744327826 956196084 472197730 867328504 91954452 286916020 110212294 825983898 660726623 445589404 919610990 879427947 739888029 223372200 18342058 563546264 298393545 215991239 271183054 707041682 207717267 973374545 523361501 829909203 636272098 323294228 272512604 286326840 569789121 763301246 304506680 166633298 572013681 776704409 33961801 663968132 63620428 144174094 342468381 576863402 442279849 114595722 308807700 34684229 337967921 327149758 450746845 636361466 543140996 721929898 195919499 750858262 547820794 719280999 433283816 36609243 42575226 558312771 175452434 612364346 174130368 479959113 778997643 746144048 109179874 665475796 262628531 25316653 662166241 457613264 602180055 956962442 572208985 910987754 991646670 910176906 90653863 294909866 399054723 486311211 16839763 594974221 89685824 417176909 314255220 522969640 306302503 209346797 81282410 481754937 821711143 107929130 961714049 453225137 854073177 70893922 971217284 969218060 96210575 485899877 426831323 550906981 442862318 999040307 314411086 287025339 761733564 405064949 581935205 160788286 891376159 451291319 755762507 981061982 720984579 922534078 356547973 27287082 131880874 290346735 509042018 806108368 398275864 323272418 111849857 104865392 394166340 83067140 74083451 342893266 568967016 353431125 893800246 864345685 204987784 208211331 3887376 966721347 465792631 585822580 980025985 209685141 889630250 588304843 43263475 610614829 510838920 399811447 490418262 495236145 542674533 999460279 301344513 940950396 175249048 413194369 898332140 569415387 348777860 824931942 912308652 917744876 30879419 658625249 634606912 235867202 866836580 638494287 55104900 185145562 76833218 35130884 394830703 966463468 475952078 438094177 429594648 986790997 837905623 920012909 334543494 233096508 771989539 635888006 26563255 947238586 901598726 924895394 369170325 250376585 749827336 133995328 20637812 780706754 792620577 655244724 869090307 511973508 146255362 924195206 697119069 223088580 811842442 91949771 189552047 140310871 530043947 619146694 127101868 220465922 391675954 314161713 453562429 163665492 950049718 480125683 110904077 704164795 257537429 332590753 954541379 7364764 466586081 827695543 640587869 259206657 335456618 362194527 771180164 481711979 138906084 320815584 704800558 950748525 412765355 894352604 91059396 795325653 366015649 70677615 15791574 757691602 237355679 321870354 773873445 39921748 654512389 737293874 744086542 912049817 69884626 551144272 771930932 536470706 378839814 265035152 648193714 714296431 627229678 271890229 48524762 766135761 592705813 753325319 569400638 5471167 500194275 512976385 653313171 866209923 436170351 521621097 476417877 673526029 843491450 102807673 713447776 350520190 840101546 457534317 262570006 909986172 8678588 34500937 298973229 240034754 152052440 947166943 806847536 779282117 71573523 855372297 545417878 664279335 608697616 114818515 522266853 108891890 480311251 175580024 827618164 916481601 697201120 156552392 590007629 393208921 259360065 155971756 743729111 99461610 613506072 858815468 861964133 474701011 745832757 13453714 567252116 897885196 813137008 374099652 677167313 884710530 81988300 75101542 548989865 690685915 42436408 71256717 652094156 522747658 99353092 332228672 291745610 649070563 341297415 881753238 42279484 600657479 37724993 638524946 552635441 503747416 349856765 267115925 830964778 95689521 133085990 398216894 993574717 946222997 624832897 523258381 830933527 706821196 450876274 232439743 250023463 493312681 156212811 902117618 868576690 108082255 86862641 160322299 757152817 428160056 894591888 651948652 881333886 784833232 142989949 286485678 141096999 492846714 553601603 972061776 588536234 686687592 222795021 434627302 485426941 847627917 810402034 168876819 554449113 261278307 401316561 804472575 607107339 410045723 559106544 475684028 518127977 498485537 488522678 275280794 926645592 383114565 927229445 660495829 20464148 70219394 946981507 161561146 415582459 353099461 133622922 4118692 39787052 356417942 291262346 377730344 56562211 101664379 546607162 611011323 215459038 947923722 268000249 822566376 210485797 679623144 150766756 728613773 178108680 639289433 3894566 957270623 874920350 783640363 617766452 895384497 706376108 417264310 56945643 121958566 770363770 43084916 978593609 662667173 399502857 122372306 40397517 456065067 76553037 587004678 919592741 144528426 387444752 40109341 967094801 597930548 719732485 970377908 179060672 897841164 462183693 35471590 707628139 337104042 819111952 177910942 85004890 378004411 595175251 141950532 352479328 365539020 185035447 183589288 28206192 437054656 158477946 921120060 893119722 235030982 360641090 665228815 379559407 748085841 705338155 199170559 198532740 425070639 22064819 377593411 175428155 484248511 413065000 883056293 821352552 84693303 60967234 906357441 315214065 508658836 900824325 667693392 874197855 85859771 703799032 754920398 375430778 862276977 528556810 121066852 97307958 889197899 786295666 329383716 489800091 491633820 381070626 688332830 769220811 403135444 918442592 944648965 887383954 184023944 680221609 561252857 268717246 593705194 320126650 583931311 102364029 220950974 104141054 829078235 159327096 807940085 436514984 534757874 522733413 965071793 655824725 472557722 706786043 294636742 801941437 196586133 786270561 35528415 737435314 408007723 438663858 655877906 205173039 326047812 839901849 885394647 887300668 961135446 331616192 59943669 397583108 286496572 280894642 501724162 968091158 292738090 162180598 257122494 827495963 684914011 74710638 335837039 9988084 781496681 630473780 811929521 978082813 269260692 847457935 568034479 677268415 138638144 76428736 882441453 464685955 916330584 620352452 204502975 729982381 804484995 264446643 127565489 90981567 397857637 481806002 911589076 690595726 643986599 168711569 370608040 181416961 243422207 706445078 191405045 24918887 189435209 855850917 855518051 311212252 555825203 276068881 988480666 694463346 352497616 723438471 11665653 121344551 196307274 216168627 851326932 792268 333131621 978892420 944290186 730989257 313214773 708395614 421584982 957201371 877107182 792193021 991134684 973045740 351154450 35056080 850480978 393106010 890906996 558515381 704318262 446732198 834584261 545315279 141195543 187081877 121270101 5377547 308426427 317577374 221546173 12269710 170885994 554677794 991162129 967692531 138183402 156893253 676088144 559768384 114094624 405711678 204477756 957745659 231273769 408148558 992801738 81754747 801254567 883708733 640270127 505572828 182957282 327370739 50888107 176669176 514452615 24674559 182046723 675395394 342251933 256109247 687665103 365654278 810787040 531343584 333346808 948970442 688236836 861951304 361255177 654847811 120179333 418249284 612593469 351453101 826397841 457911558 433207847 627652408 194136642 925994325 985741587 377093923 253365064 889146045 406279451 620334030 913820604 588326173 295729423 108588888 844435419 983394526 474243165 507738811 367254461 807589972 309225604 55491296 522057627 522997132 710339107 642236959 941246415 175448927 993690060 767644256 633360485 279414258 247813015 827497126 205408583 86070953 57107401 311289998 975216998 463386851 931624027 889037601 904229375 79869802 997626488 601181145 63264327 324386004 108919955 283035139 131975975 270661910 338526434 506549954 793659041 901381892 148786912 587421808 76830819 142476971 207582415 562707655 274407581 455395429 242721132 479816163 541466381 152344884 791106160 369199730 615731734 575246538 110753682 372477460 655116339 108380169 973658605 570897017 285282524 935094911 853932155 269774851 58273173 44974941 776324804 851932213 946356832 925111715 291870372 875704002 920105038 499452786 290928008 47028970 954848214 533649140 526845132 348830947 685994023 170467643 718030676 154242109 745714180 828784358 526719568 253346871 789680878 352894524 824243887 74963402 287989435 678176042 197254604 346262607 723150982 973579407 50711171 522024165 751207473 342581543 397728167 523828862 842034328 688656174 570857831 649398894 74821665 97702962 850746192 613332040 120686956 421293219 767574148 718917488 102593928 146810067 972264358 892274806 499704591 796508244 819754559 640210377 327200637 17009162 986472983 902867970 843104920 889700505 424892135 594312392 84798399 675136653 118141254 926832727 216309178 541515436 428747972 291130843 491734750 132010515 904462882 612421705 553303733 524553381 183855544 655897661 523879799 156119901 400688818 23584389 805144497 72959728 516311117 132345133 89968889 355300451 887729455 785590160 245000956 165137941 232418903 329799354 840274593 203076508 109148432 56583770 744591944 390412755 200230964 236326693 522423269 104693845 701264749 75727002 481763577 885120293 731624662 5643376 41240193 132313479 881744116 698901041 57789558 250571585 683762526 274798 605872035 571491980 785864957 850872990 736629920 18283859 33188696 429420864 221360367 142337127 486004633 965952310 385266234 686235597 54795354 907689502 643445793 756060102 983416503 977725722 493696746 567557516 835885449 387453291 552387346 570145916 86354331 610176903 820717500 770116856 610451700 426589535 194125187 248833008 129978876 783271458 267116867 15683923 212692321 340993585 10537402 551213306 159462246 395803635 89965254 214257599 303493136 733411046 822834052 139425991 563653119 316530798 559499858 399538567 703984088 111887204 969684483 642854770 574580458 642918334 265487978 37548510 69507868 459613164 286381517 52003096 95400974 406014735 67687018 308093294 747008319 78224419 859306599 906470564 474028053 949271852 120728162 630037541 535199250 796078566 769463531 98852368 112609363 181479740 350907287 669109802 145883295 173108121 164480923 720463753 816026454 429968900 610528614 738050674 889582064 896910130 642570121 984983037 155441217 710257138 145592682 902449535 640997909 857415633 808920099 115025961 659203836 782164612 597579853 46919437 430759529 219559735 145771805 395885243 401039475 349195443 64995044 546922769 374819915 81992319 119902873 43362720 511961218 730431486 781413393 254059633 479857968 276499865 91559021 635299184 986757003 237151703 537748718 480271263 94567335 199185168 447813575 606287522 833866132 45393428 653206959 264625660 264953162 651495115 660510903 665992636 690557 578022298 65431757 228026823 660014616 185334629 271389542 24492186 915766115 52802935 278551818 395624082 181819151 370110839 30923265 21092505 607262541 421188334 501363767 554346227 472889854 949177342 13150100 306755985 994570769 666357058 423897996 112040282 317852172 84408898 630549270 171059080 514947548 695981026 399085902 27478515 881315654 670475444 51970700 797081768 575794730 330522518 45222201 757613880 700633356 928661817 778706385 160412248 202366503 132586503 567274826 675256356 81763844 580424925 982012340 928850964 246781983 258426687 40891246 417150506 195351937 523956867 588209586 710299484 219937892 839811839 590294350 101253545 362803634 642265050 750851665 938598363 825303919 648590217 548728595 378453626 577252034 179951331 538865873 779618536 312537833 106140698 307391243 246818029 539081974 141919934 175668992 785863956 400346620 69076589 55530814 595698556 593033455 643740399 158514391 665487698 336068589 748808741 619257595 698872223 243590142 222625611 489986937 68894060 871215827 38715531 447347685 300984212 71183213 838729909 80602747 236237398 797386958 240510341 483055426 336468931 382430274 658724417 974849239 782776894 580317358 30380052 378475449 25867164 526636802 536989840 691354862 862705390 138314932 310612456 561577612 381905073 533238066 51564549 450799132 256970244 942796431 750663168 557954456 866495996 589393076 491073554 102733393 239296385 731583895 585788818 575765315 114014168 97029586 403130905 896791061 677346943 433510956 127782862 703214107 960147757 517289053 247085320 675369499 655603984 557697775 89463462 37509056 943452192 141028010 340824539 200422435 936340793 91487706 758376890 655353140 533397133 101966796 758086532 772693517 833550690 196391701 200975183 947564857 145937638 604106088 696872270 823284581 37617043 677171483 379015039 850281152 194460535 626100358 378167002 850064518 36314484 467630463 740089925 979766675 461174825 80914463 32705461 250031969 24918520 643598703 905385108 558315652 745565498 515987991 331009168 579116187 712379691 531984350 379197395 858317328 136090437 928586016 534118260 26223832 605757498 765649650 729021335 652734384 244266359 107188336 355315253 280580842 427335150 95405177 112863868 888509974 28835991 145569329 138541942 53754510 641684383 43927049 612070161 387249880 412431391 943079328 818882418 124811081 327580030 50596164 835644761 316186818 979182180 222279372 194927001 437456029 987929022 776464687 90190413 84711732 736169374 445505665 365292574 163504524 393427194 330672793 52014497 422263184 328758473 43072791 476017694 970442855 939516191 88087854 210209086 351947582 883683534 29091503 329275014 63779915 79687667 17436126 379966732 58869846 92231850 427410085 348842226 80160871 203874771 439032638 17388954 940044145 737054655 382681527 956065020 130481848 713354320 860595868 552745031 42112792 903668658 28762724 865071999 695701201 969366930 75281084 47648782 853050463 104372587 229440147 916830377 36576605 99392625 149313460 947962802 191624474 576723544 296805027 124301696 633114667 588354017 141690649 425675163 325408671 524372176 381740182 308406870 90242847 94852401 861151900 984871990 998521059 742430976 849943988 546738611 564314257 777741424 446903744 269881071 734630362 676343890 39227799 771206966 775736514 188541258 571686119 967360987 617781154 868491145 91662682 250895820 309361513 85869683 676570982 634770183 610241858 910827515 943177052 553001056 5679915 656845304 537873045 856717325 251792631 240333385 403455935 816106887 18074808 850359678 85987957 605221521 379219920 125215755 228944838 7472785 166273364 800630956 827350124 784054517 521638452 771529157 887466688 830999965 857398839 416554021 318286499 320157048 327381535 113979903 873158103 185577802 770825206 263547500 42295126 875134188 503880884 298267413 543757426 374472043 1143442 482261734 979693563 380363361 459993840 61154752 240352498 626267203 861785707 67702621 262838072 383424158 839231777 2821111 66940474 549146968 419375132 385226973 869304015 746756666 499206875 742462118 932334467 122548432 6009617 827145945 997682619 362406852 125413357 541440044 589395246 126556798 23701777 421605160 359436511 336211968 482759911 599789008 962479170 344545617 667491628 77833593 580486126 359239756 80654704 647426600 908386723 500029835 32653572 630207090 99302852 531860446 225185559 884153671 654408877 83711527 711299615 504607847 446118378 689229323 46047890 35513623 815786120 922266018 309635134 27738982 110994337 792395044 627527989 73473506 136940660 147535968 3823451 569943137 506775724 84478154 217369736 267678798 437024340 102539659 897885887 388843543 634400104 123071445 272997213 141325332 59299323 836813179 645933178 505417700 526042501 544497419 393447674 194344973 319279788 703082807 222083954 430274124 347994202 849611943 356263982 337451213 997147910 212603784 907394350 356439985 149598289 124764085 476635135 586622628 79820096 227037373 975466170 714220199 202625170 100979735 708061883 261924492 937792913 206511412 767342192 316351766 751008831 13306217 363213090 922804970 568905376 585297043 205595446 916899577 287425337 561859427 254350790 137089599 774463210 14261491 346045935 924061498 139025575 822681069 363200477 71362022 49718442 191182998 785582221 252343611 144679084 346160455 514268102 82471997 552671866 134126645 251340114 156197048 147432862 614553203 79002018 568854589 52366597 284597463 485754165 192308286 698973241 592621306 329397884 325952802 606882796 675443818 102530651 598424723 350641239 465731127 669786744 400359680 509430476 307885316 505219642 654109560 654045770 19487743 589097908 206717636 6130740 840438021 362914683 6079953 307507575 294433052 574934541 212390523 579030514 913205057 404698808 130520106 505826363 734096691 456472907 112709158 262056861 559003557 563650232 612698099 24734683 233436976 865574130 386681511 541322291 370793771 40791070 47884413 242797865 629888977 254602048 101444956 322843349 470033082 107524908 482867275 764466134 534975800 695257797 196012999 448180857 99956605 326533105 806523571 686569647 783006011 771749080 948626507 342009568 335399312 413840957 219260602 421352639 131931438 605942112 962674929 502725208 499249533 10559341 598039425 129138509 117677740 699484380 304498209 587710822 807009288 787365483 204693307 194501439 335139632 400706305 642682295 435096236 727239409 301722217 121665882 510245420 73471297 922808741 704771339 261386960 189166049 924031940 682739598 321097487 382490404 497930878 676339046 881739936 361006571 274378470 863394797 478684310 973862850 20409357 918911483 633388489 660291192 123604789 827889927 995430823 524311094 323088574 283043410 104066854 624810790 257225643 614312273 550798438 32550735 171599963 812185397 221716784 95631903 494924994 395330622 330638658 992855872 71669667 64894945 206378794 198564489 780806093 685063103 24943690 801215450 456490938 658332178 314022993 580095726 338738456 309453815 956923171 514343381 592497224 60990025 139154171 849722866 527818649 542468960 882273601 699418612 354654357 956506736 647566866 702095702 351837357 978205523 547467925 276023375 895616819 753846718 474587863 676422912 291426173 499531552 330154713 747917110 10380081 644177705 180529187 349118537 806147871 137452358 863461917 251161446 50958734 855132439 100884311 578777382 250117751 835674263 278195993 604772107 644697350 925762858 159384160 996534706 756484732 706852085 125074433 504617903 460698802 599662295 33557166 752124974 99193847 363711878 352558435 109573927 860405934 533087622 311208815 666553804 670539979 27187084 917715249 721498712 882319522 871115911 152792445 132437272 559306526 430988438 589725730 56520227 209267647 749109890 53054933 818268731 308478326 30645717 322886633 769177127 630308011 356443798 373818453 729501857 572672027 726376887 691592136 433077960 111980860 2800950 952148115 782520838 29988033 722379715 356535901 764823907 446011977 509328346 749777530 5318502 792833135 192019612 61838729 2100781 941129501 967410013 672885863 102124178 998055729 995772495 871301304 480880091 204732644 97636108 62898300 777404670 676529347 754490435 62998981 788510206 757291384 15147095 423547396 639795769 590043161 780083296 404619675 36055138 141927993 6913556 893889991 934761127 198933167 808245071 789378260 140062667 628171435 314780474 94703196 478743515 163069321 966004500 959623606 367801964 916156959 22521905 997722986 592686305 777012339 60721966 233712863 386820074 928385413 657260258 26615842 370944925 289859905 283751868 407000062 431787898 290665424 153406405 219065376 489598590 961651475 860959987 482177609 589822910 175740461 576880804 68566424 338809781 395401655 880706381 559128096 164074966 903228285 556851081 756761270 532756975 470089399 990474132 772093401 250991163 500250741 651225594 621936087 790110646 934977462 881452501 74414895 78159237 34858905 293480270 420274178 996510379 6956609 902451786 438849640 182697069 331848942 359932416 374023201 579766948 93155148 933151296 743841913 996383433 342518729 353119535 381656759 812608127 196110018 6266511 916115641 696360759 657492105 390568079 486471404 444985918 272020579 560886298 523145154 159395835 706882919 943419331 8422566 713839527 698387469 447272205 896536595 882752762 659720972 123076147 462519709 752876120 56227443 58877974 601775904 398746171 411997508 983432662 63870649 608107525 989699173 979986289 304468283 499707629 223070719 643456038 944693546 495091298 56858687 320355051 654487132 763741606 116290733 662909697 477581132 814678201 962698254 226634079 549947314 622419225 349710225 12467023 227811696 258454019 71344996 829587599 657200189 335858855 665536613 573587189 943966379 507752137 406089829 100951014 7459765 629160548 744407051 952153310 124251845 801265738 125024712 631255328 565007343 241315444 146681377 895104826 55993645 109379630 121738904 458457310 584315206 323965481 323440684 812126902 582419499 247302031 494230852 92136040 583160885 159767464 665723228 527127264 667519600 71813057 628078277 527495716 553489956 225001679 332165377 530258152 26267416 457190088 14029831 443791110 698505532 160711207 338895936 607015528 122607188 313151191 65472837 559438746 489633023 388913521 224081999 72052522 636215551 718312850 16704913 71892788 878080314 534944492 599020051 398116265 459273900 79614679 925611981 12763855 304616357 110293709 543022006 183400125 567483797 557051837 627191234 265989328 570279395 966087169 873004855 692886583 131754712 790994043 104841680 621387734 32423915 328923678 545956607 668639466 47236527 415177871 740532253 777833192 950122363 192068655 28465809 409396262 124199685 954077789 274676469 428816041 64371497 817698474 612216165 484371645 227266662 91923751 750360972 797546057 58010919 475882178 342948991 42281982 119392573 447790670 516186068 151816487 776714347 62142674 820455952 676467225 329836897 413504556 454300417 279959259 458089562 482766225 541871872 582289246 289360365 816548340 11105287 206248213 486763166 475837803 690619858 714029827 567761553 293497181 364092235 478288824 621895711 559557577 373087157 741288283 7348246 889273224 893104769 636578944 803932250 566077073 165562521 133769146 979581628 619862937 266244756 290187542 955145513 808116627 872476787 97022229 624664967 736098425 303270441 111428132 64452580 846406650 677974310 632214132 139903831 894582897 963019307 614315893 454140473 336106464 355604175 314005071 77896039 101225295 803100366 881828288 667302367 968662886 15597433 499400347 441042174 134358540 789587888 396187686 942475167 662064674 493209914 419656485 250679451 648996707 383600968 315132030 495403356 61575277 947346161 487823538 808674525 762881820 102139430 115331350 98988283 310259956 429336420 29400673 411485251 84953137 911228961 78787617 53616023 779342745 430704315 494658196 913701285 220292202 743362234 856176451 734873228 89088499 128349287 985552678 738085205 511950254 300684707 86004913 426041882 100547219 573828450 234716407 863429038 528484232 350047756 814933672 691260539 631900527 844334345 102745789 716853663 608079657 34049758 770469685 387422401 317270424 117644233 153640037 537562626 861006466 9816487 124952205 950094964 138165773 110504882 540696521 502632378 263705940 626701433 928674260 364253158 53046234 15907018 80198548 581530465 365954773 747648571 125307356 997855299 444499267 80569496 567225313 52578923 114619253 190211350 292517676 284406029 307855582 446157712 821968654 21378399 308490551 946920858 823989714 299172675 909942091 364686234 801805053 173648030 991387666 730479312 390417539 44433900 746386329 470616086 478480716 964857453 70781009 603788071 815229103 515280275 684357567 382454415 567859198 651493171 572665764 860376873 935899199 733037697 159050936 610384204 754416095 467541486 409821413 430922161 766714161 172279855 795608394 568519213 345927884 639512412 151514876 736345423 536462663 750417556 59477860 867459730 715275008 130258868 323764153 383020462 645539143 8121719 765474876 65914692 512131241 190656992 778807916 300546792 923694688 937858851 763447347 530627135 405400337 25785112 961549295 24630849 198064966 609674040 593150061 543992850 101702803 597181288 132854624 490681817 347598843 44848835 358141547 915390202 175107703 681905699 298410663 673163197 542543769 916401890 739077888 907191361 107058881 370402155 60254504 883269921 308261005 823701851 266413407 566177693 849486962 80479053 590808541 47551927 542669444 36474953 444061128 644372247 633656240 576915751 135054063 981255082 621764586 345711961 749161635 649388640 880134011 47572297 322551836 275194131 816490539 914146075 182385492 776065771 284548229 242639995 511852043 445325585 66341845 778265449 11503278 768345158 711260853 602311818 815897085 253930297 638786771 112474564 750818895 124959362 689390315 738389309 106214444 163671252 84101270 707892430 813059891 816751632 607981079 988128078 91945763 424471617 902274152 126847606 53053739 39338732 369487600 564905782 484664316 288345797 195687582 348683945 56690954 906948435 950995763 725104390 13395083 442298885 837578954 764213977 567258246 379485620 502603285 525989041 395673223 439220906 86397823 61249465 108488890 694378901 49377542 200434652 118850517 804168045 327282257 24420607 843506776 549286208 589326388 180687443 837632004 785013970 529371388 746839310 691962404 332883502 324460051 705357486 627698738 14555356 322087814 47473335 246557327 824691098 573462376 642230549 116428356 659860198 703480013 224917245 206755450 752857554 277868248 178122318 409541950 605150504 202542924 105565077 6953063 791869312 286252520 844585067 576883281 668140259 443940728 121362036 1023760 620917130 679235873 481238849 635472486 1323686 528712183 882029812 678531135 102174558 376776713 794959490 614551107 80256725 872393086 821306556 685630631 150261333 999428873 95172580 607928188 54488149 200737657 614881251 846357460 339506528 311982669 275757092 7646786 755923396 397119127 861186897 229356877 76354999 342425745 864829362 930195036 871137927 599375526 608726170 825828837 976152238 256202012 292896295 908925314 128595097 966719203 594555944 131372782 818664427 542244876 739300969 873152575 742982532 206698571 719510034 82489059 518681239 995267125 942652196 127120986 244902603 803839092 356477863 173773953 998781188 73823576 103968988 722435466 673199101 565211510 400780654 501867690 673929873 693676949 263309356 655041321 512912503 857865299 786414102 331576929 252626526 378231423 57245856 995609057 584929993 776755889 930614467 103611232 624539366 725783014 83248569 721958320 382138457 439726431 895732273 380919644 513550007 852217612 103355110 39265459 269945473 356652115 541133149 943875345 50329063 804442504 451433018 415757917 514824154 90363471 747334846 767450680 468594893 804580701 615576088 906041238 433852941 398706907 862168821 910908658 124489920 945417389 632866978 359144729 385143820 381115602 740064372 898693826 85849565 695935833 937959284 208311390 52587948 331608784 4703086 955433362 988567639 456136103 223707631 355908145 546499574 971042476 123358824 15094466 628139528 591451263 773652055 914508820 842674521 635820875 825417478 819680793 433754616 310800807 178825521 818898435 544432760 771406244 570108612 630282324 319858429 360584247 838593713 224962728 544709383 843296799 32912441 533277021 151949253 256620071 889185165 698448826 80178898 865060340 566059644 708318425 309027955 339711698 475343597 4218827 828048925 153277426 823899619 261803540 464078232 2725139 933218326 8510991 626647735 355843289 491309666 946506163 716427535 182419731 171468890 113653269 878232881 204381330 646930290 30182133 461001401 388631806 728630959 541180298 106208498 147206954 102015075 267752804 486918651 577358671 271971630 167483927 730636096 95871249 429287466 47230679 951112739 215022143 908258021 577760473 570865431 252084038 376782987 139809318 434503768 548251876 253462586 165253000 605149558 900392875 195435133 66150958 141541033 776582443 459847607 100265882 923789396 414379033 368018685 263224398 991737703 639990314 430708325 574890150 735861562 859995790 474637180 539490653 75017933 382895200 117251125 498399715 634979238 346550464 638209032 921999357 894802339 891671618 87252357 352468248 644580844 135203841 271135557 786121876 911786283 730983164 886387757 835575678 145362196 106922793 98800075 989616251 746913107 382024751 417022752 335291020 94536893 891659932 874781672 22071177 127071483 844549149 520470891 614567072 191099612 158679923 536566429 938418302 50351540 476335137 290886550 547448735 611538977 562022106 186086963 523325259 145521621 72474719 211417288 143400169 31913864 162733714 985532771 778826970 544758465 255071874 114117989 639295357 146731805 988899661 661366533 126319640 685965161 34353775 740886711 877064772 193033697 129969491 667999425 95901588 606304627 958885974 643350323 70359955 373424432 829437285 593685213 371462404 754428355 657618852 514862572 786342218 820352566 352911694 417685539 217627382 607983568 531803528 709439090 607231724 373219540 223321974 733551363 59184700 257675748 326954426 788765823 450709445 309440268 309281599 399127384 915744895 120683925 42477706 986104849 494108356 724431342 432306414 865570759 331376049 89925265 232949683 970234618 762794182 585861376 387920157 832937915 46361295 772240036 542377004 653593019 145459575 765698977 239660733 57160626 23374725 566615158 698442800 326600521 876055426 7724398 725727904 644316672 128408322 620721962 482937872 475033029 197669655 767760637 193120140 381562055 710202254 278586174 351796673 325512787 864447549 592233181 158450702 910808844 364473216 553344057 416918214 362449142 171559386 656578946 272126119 47450462 75710456 823085270 374050982 951765881 683326019 952295237 448598904 664250693 425533550 784053127 139283721 623203205 551813764 184920212 4765259 114532369 463506385 209078283 440045155 180470286 801311463 598495856 943795481 18301030 4356265 360713694 233266523 175915650 17292639 505392641 223366111 93003094 180994262 597417092 897285326 864320281 402228680 198400581 528570973 827762230 982453708 520371045 303481786 386783823 557807609 160763396 501316191 21313993 369841679 941361345 54300630 23669493 392373553 998096110 41970523 396729817 211326155 127753397 572645466 81135146 633146038 796011576 26654591 814140299 245945019 776456269 530976931 648173698 974856849 59547903 328452279 809826908 432435300 631934064 49127082 990242908 792697460 402959624 864073252 15055490 196837321 770890234 38724982 589210873 621502695 933211856 838457041 832828850 60965253 263618858 766480347 546627642 59630433 793134937 213284292 158091803 422107557 744261223 658781852 249480758 656325477 987234131 59307665 88760776 619168194 960951099 931520035 264382005 363910722 648109639 279437494 560748042 271516224 318162476 2475266 893018918 103890683 840932306 578364119 164855935 104551163 344844465 711483576 16697947 990495754 924767868 27306101 412603310 521545442 686087953 662084067 177870918 525838435 573908084 119148046 145006628 387375534 903184432 261904985 751286255 403810422 541342478 164550649 675326645 859504953 19542266 568345563 963395636 860474572 146709681 980767922 817542086 344070498 544767850 686756385 187082603 322052069 566578837 599685912 843597510 105183141 114286331 21468427 631021575 540710766 993132824 628544555 928086299 896317256 890449539 531888905 152644029 431792016 696439553 827970674 143813321 715981819 248832588 959725308 428972742 248058620 940493229 99031179 592129117 337777430 638303915 779211719 659829498 204882752 231413983 503427007 310065892 198216665 377411786 941087467 738927430 223060961 422148373 667013728 119378216 312597911 51418984 124538597 596906278 747858537 952509270 740719598 316356707 201341857 552961257 597845800 449400476 345970838 696876978 894045945 683748267 187697245 525774015 343577765 392579996 757187997 699521123 555162239 955404661 76932908 348766057 546848442 152510221 770914429 66378521 124404788 83512339 117797505 248943384 532934969 865656041 201452653 126170918 34529099 255310861 679132175 632374898 704711337 25103012 181768227 451273633 708851278 369465471 977047647 904945394 614561818 586751996 604466517 169724057 394673008 533915776 518490113 941521450 686425996 141920894 7899970 810830784 77949584 125697474 59774167 610884552 843869866 113743172 737055470 878398964 369054032 416187644 363290213 926281720 293807007 397574792 377555352 2658284 767040262 207119351 760120030 234118432 793871346 217102898 403842488 188544353 751018673 774848952 130065802 289961021 916769845 990482124 953308156 994719429 116179597 865598674 605603980 812565815 979341845 195175801 543481130 200912229 611363444 906771343 127193948 905170450 156862486 357265652 760345086 923902747 564385002 372981467 10537530 210772699 590084364 414380017 399317051 193619388 41745321 381899205 483580408 958515165 224897680 289404915 953234593 193593628 155003589 411354925 6159442 986861785 606530725 549640572 40290365 70410521 308928266 20000665 828097322 465790751 377266316 440958759 242209849 794167669 813940225 252747379 4940367 404024588 519643747 256773769 597643976 561389067 638672973 933740735 519904232 863570652 223145650 325655176 57164280 230665590 589526452 915840073 217527374 48573529 317996996 257817739 118984049 626925261 277818403 947081370 945232363 507601070 240556481 39958564 301768738 54496705 292705942 159225456 311037645 812349688 415999224 908681620 226255107 54672197 694938706 746159338 770759200 918084355 924330865 680439831 1266296 513857317 448796256 218793670 562430845 766793251 329127760 533931245 246234864 606946162 333528966 191467226 114547231 574085446 231425789 268832320 628582151 376648082 428057775 939619795 41514122 844056998 700817766 267769228 751245546 248272823 13928565 374521098 18873530 790775781 907477280 20139825 157149449 356273535 238933494 719580293 123066786 568061253 106027889 221818001 27523766 439556855 413285226 994587348 13642300 497227367 115936019 494740802 873875448 543993793 286876948 915389569 240567143 987694713 183158796 844329040 88483888 49603712 71366489 107357417 840379493 978843769 127497241 997528941 187633655 366430735 569625586 163216792 787008339 675653474 385034792 814532105 115210328 798320018 661635804 981368980 148063736 777571823 476109781 21939183 174081967 762986729 937328752 414649109 603197793 973003899 111494501 691681680 22607611 182860989 799039096 715503455 161704757 926536337 565548747 349338412 145483423 987690684 512555203 932491761 515860510 897589995 599540217 483587189 548426364 113692373 464956168 696490099 891264195 793582301 570945633 65346161 409085381 360790736 332511622 12283173 333794635 444006122 556481205 208918597 626867110 208036652 776938403 788571867 987089340 195003501 990426630 132572762 182694185 355498184 917580875 698554694 105604530 369637443 34658234 654030893 483329815 499614402 203037343 227110361 145713054 773982976 292456522 554798434 134773711 624968143 419597958 321084697 68974264 976079162 382519645 548357725 36632166 159458047 189445943 23721505 354461548 179872572 8810619 389672084 535370756 778907845 88226777 640975285 1061639 122885010 147522530 336907806 475015763 203076224 564018166 620728816 977059199 856474687 28043601 964349262 333959181 447641559 137950310 255449796 276237072 520469955 803807521 312869237 532444353 993253463 189107094 886905900 25642387 50434064 129094335 413529494 681858260 69837463 54504778 682919898 45238825 54543659 19827703 520254587 257619883 436362221 993499755 87195433 145353259 21543355 904061046 479312440 469184913 42011356 587278587 745421985 414997662 243602459 910807573 947442014 89372274 99914666 686864266 115014660 2865081 815958600 528544153 684723340 885796063 435565282 220159590 931034887 342625293 92503644 303805825 600245175 528865864 149821931 539956959 674219123 171365286 444018005 6047914 493066550 338545712 593326500 91004886 606059725 836928959 1812459 406018090 926301232 954243476 92882355 893832243 957108557 761357307 274892747 494348248 499669721 710458028 567024189 283220959 53083320 659527833 439543135 505844846 40910048 589365066 45801805 567645522 760730351 342336161 573693435 106313252 533398224 19536287 197318138 139457948 708981597 199130596 545476037 487799180 5890423 490874744 381631422 962998979 104748402 656524168 309863579 456934474 219498547 876887767 740155432 125098219 388931951 32214918 483459416 282358351 621579983 381777572 850003872 234826685 724113732 276213659 341139937 110028307 295749945 538458074 249486254 4731541 737588669 647478643 345047072 743479091 138353386 726678493 558994422 95618139 235719012 721374352 552552612 307733910 450778470 145224395 432832128 839710421 177439312 916291544 122068771 799019295 150585467 824588994 33845979 874699199 100802652 227502267 984727505 249068948 765960340 86730111 106316840 356065360 734208753 451363911 99544451 725078490 30558755 511055224 673212980 266277766 84945927 78281943 574011676 535724396 223506337 859360155 227951168 253462000 628168050 202536290 52481294 778753517 27125284 938843625 505969067 127927935 18862243 343212923 229513235 784822583 429943033 335830074 140887942 16668137 787193985 92948744 594262978 817752739 456520319 267475957 84030505 541466245 345757899 510558532 77190641 421780587 222435038 305141808 675242587 850603088 507678098 580240232 629356604 387319733 371600208 135325670 367764019 390462451 331054944 597277253 175285033 760997977 933107327 168689326 630182465 720301311 261638070 224445443 390570401 718158388 344437751 327117257 112140985 690195650 837675788 189331625 111976236 60110826 346989784 639735174 763230265 854667881 219975406 245103220 94503965 591575613 232945241 462267984 982038063 564000184 59545236 9839447 177514512 992652562 178528773 807696977 565470224 292683194 32142419 956040625 10841581 229096521 135674233 122982565 919292170 973350021 164830541 883784758 885977198 511820325 376036283 501723814 219004557 596011688 746827033 313508522 40103653 979772273 775776505 874658067 543772456 687838092 884497514 721286968 533007006 915542638 381500296 98477229 208225831 266159066 907034205 71583763 495255586 42708438 47082680 267064108 868574810 64429572 3365217 607068359 576249896 379401499 108792172 647770805 975413187 708135556 961279326 868033191 687907828 589572182 742691257 84196635 129926625 479705122 657999954 662933630 247764111 39500249 613927211 455989941 305659314 373477767 380090056 800914900 268702556 427172735 67979007 137277365 491602306 71344223 596862075 920368554 303262073 558170598 568139358 131191611 118822505 381935035 999224801 806730332 824023568 594432410 743443319 953950192 74137531 401443272 616883822 174417994 293459873 83327384 630407934 599119186 456805150 10497989 252550437 725507706 290187075 173045795 715301422 634305733 96906369 164679849 554674286 400168442 722850446 975329995 531360052 841672951 209781381 383101205 500919634 33804948 977533614 96879304 987755139 904187496 498322576 457155312 78605489 791782448 540482695 561529775 243417985 997287845 424544115 348484774 575311902 714731190 521530568 290613323 201553274 470953289 455293171 756227559 871121730 30659969 584073905 254998133 724849271 793855285 638099337 78285256 827660232 468149302 175164560 667931722 372336798 673487135 977603386 303458638 317785934 370602432 864988412 413720270 220406628 289532527 762205043 795718529 856780068 136251963 86331852 58333341 607205251 394141374 667077251 330843332 277317694 251151155 585841464 2166964 45006439 76457153 80452220 725183022 544606454 255616779 245631095 769459603 781620265 75750832 72918241 99406198 446353264 937906652 365642819 666759891 79955530 127847862 462478420 936735597 264099824 401326623 847585289 871305074 647984348 514662539 54664757 925302042 618330045 640506220 927469005 515852835 569479724 860437576 93552208 114086178 116054354 339183303 736062132 750190970 414934134 808980372 702113519 861287397 599403376 67756338 380563640 531875257 48120551 843042059 321127206 312220374 96885033 168712494 36041799 744869380 535891385 90706555 522687773 154221429 583729126 302673130 670074264 153208850 163110705 763626471 119811379 131681411 955326125 855873510 881872380 222776611 517370234 436502251 84064007 969289961 504258588 317143998 501165217 552379138 12702408 822292422 717115863 109587440 843521268 753157661 706973172 379412652 696380567 229660944 386150432 280109692 532334073 56224695 285834893 547961130 672367518 405646271 679642540 480209994 114036133 414031271 702986604 483922718 850533521 639566963 453212678 207308460 956710960 806894246 612203949 969413368 481703020 329319811 79000807 325224287 934993823 638490330 557153290 631374389 868151274 943303721 764000433 253001698 852044768 49835325 800962827 376928637 307997948 333121718 857138630 422034080 599669341 560125234 905956797 302719213 52208548 211685826 510027673 8919507 18580071 122231621 978332874 352799442 304067784 909850033 678023728 91577958 400856714 87693369 722952347 121524339 30997090 339469131 374526037 883041857 389304455 28005215 112486845 697302402 213643285 969625474 971852833 813312625 382267059 730325981 116031837 434475606 942011806 478575861 443395113 813108229 453323834 274244338 18424022 757391617 36610722 696447750 848969574 437467436 784141118 424438272 558991774 667654559 763907402 786034162 403212767 5728209 814039377 515699611 555546962 27682661 485325085 527399795 693511637 867592143 110242127 809543473 154584101 52253933 140635686 597979213 717878513 593959519 724739902 736302534 203867487 761350624 285266635 52837060 51334411 921924105 329791684 462842536 589578663 946215437 248876698 992791430 951943645 915432426 361007392 360006959 795631438 846332476 887406753 489143074 566440971 997648879 151202898 721025071 902419163 291838583 171520635 472814027 885798101 896260536 61632913 89665587 510127511 199415899 995018999 413978273 121340003 177327034 876820809 563435018 123542470 125697506 408742799 928002467 893646283 769750190 140525777 689277720 468599018 27932529 30937145 35039988 878097759 34656394 608581410 633033274 326494977 632618396 958363652 64809429 381395283 19996564 6991368 891522794 71928815 854526718 158017418 193268817 31853751 34838226 756703834 7912572 13052083 17962984 788431390 906698365 787713174 928957166 448492436 256312191 809406046 331945932 143868530 540020157 366602326 604966291 25569782 693097302 237584686 983933433 610423082 618979968 856446349 617414449 363019113 928375163 324457518 521036531 974160331 208827620 408391108 583380517 69256544 421443191 601343500 857687933 180657907 389056673 639161451 481666695 497885215 301083848 813612626 641753744 693620356 180214951 99236386 719190137 725828604 336821071 555639922 336251686 808317391 264602622 806182486 23852855 45494136 130640004 544889385 19654466 339467623 953280493 455551334 408724166 227240035 56894834 118928451 260414293 298467858 610606253 742080987 796353073 911690100 555693613 290623168 457826808 588424915 389859554 29533296 314253519 726680624 585173217 503021556 387514366 702292190 309204041 411367221 747786325 292360396 956256605 619957143 631828019 762053449 75508476 893068536 841809835 984919661 11996986 102224128 283387519 475119590 844305114 79740591 239326042 252515078 222880110 697152849 840939993 612739663 726686144 7709863 191936639 164375713 510731418 579451004 866667902 672451810 990818224 466970579 964812206 799591181 86927721 449156576 414160981 14952548 342225111 255970816 852388561 206738449 210711295 135776079 681858038 55016408 68033021 921184079 160047838 143429482 470853279 853504182 756169145 197539423 861214044 948105783 361915135 224461813 527556786 81099388 896913622 370891362 548069966 714242179 170482542 487514038 163398754 584643522 354982938 358140217 693130689 207371498 564878665 903841983 195663928 99253054 811374743 116213300 872953485 971422580 259642781 343806763 677443113 15811925 393862537 391173508 816434059 755777671 615635320 196507197 836877059 365065293 567398558 237463376 79307472 737881099 724977414 95222577 175040972 79960351 453362793 868171661 139848200 870757809 624529995 335512127 970010863 435904737 304241778 695480699 259843668 563884558 39287461 937286780 432212835 285666350 180976639 101163245 41444020 796611958 297670441 730837430 14193603 865068998 968300806 946017426 455466448 545794571 41240002 630507420 625754921 347119147 351195432 765603120 70393307 975725426 953631598 40404169 264146515 257873375 588401219 376506534 674274284 480205032 166309666 106487118 765871381 347286304 60166715 659831752 143898262 357837155 243185534 10608216 222906153 64002691 956625641 678372600 609797261 850381994 161396371 88068533 50017492 365108154 853671652 120410799 193349932 659819601 13331319 457496446 917692975 601732538 834002979 444483610 81937569 312644 403487080 700325301 200115300 463653794 360157052 196529913 821490948 603342585 207138128 44397100 667345275 16280120 575286052 129658887 719178465 589198774 217727419 769195957 954306928 71399070 742123107 147656859 583735022 755454425 457669656 353944348 209703314 144188986 798427958 144157234 144501630 201915037 844482534 197133281 665568830 57155938 393663193 339576129 513014874 600801320 236489581 32876501 469597791 811775632 162535387 188776255 253490757 380262806 810488563 207797684 304178227 552611669 207970894 887913249 160582446 665640549 241857596 222802111 809829535 40285553 366959345 806847516 94716941 63958230 3980796 612802122 121114167 397643988 952378251 486645393 850961659 188867831 519521893 320559449 853159814 682057279 361852055 106650570 62320084 172340618 166964606 366498311 577468638 374935499 106927911 738051083 40576048 348785506 960853194 850405582 241587411 180328890 509769449 188820703 96803471 513750244 801622825 70433990 763910583 754001075 557079382 614872241 795385257 76601274 787948041 648545070 758658552 149800095 607711991 673494988 174657064 774676596 39993298 752125702 149612095 146921208 342693136 42704494 348223065 156062681 893110075 442326827 336391570 255395875 631147530 433195041 769146118 432770354 503629030 385573052 39287780 60708411 445292 834673036 989826036 640909684 335734457 601000939 790709778 943446447 274495926 965366842 570639395 167005575 570008895 720251489 166443134 912702030 762955982 367182551 68764711 508582408 809509377 257672632 763978282 440656906 690867672 385640751 725943611 47013053 771213802 765231390 960237815 624175445 452420777 950063850 117601480 640671585 403581141 908311257 436634384 678077066 726194450 7273778 697598993 148719696 580041618 864042126 61421726 195513951 83741028 130186436 704096358 893250405 240375419 320590991 186423662 931243091 558748093 912367273 830772495 182478246 530115014 791010310 806653690 982535791 593590511 924255169 475723727 997171651 685082777 912358110 527765069 263793579 919631887 77880413 412513274 352189856 941922538 326451351 547703806 25663566 309154138 104316515 771430322 549529557 424907505 957853983 333288999 983655597 870221255 164061493 18650194 252852621 807588154 825303883 87904763 253695017 602075403 563628489 103383019 139674532 475986599 631148087 255984462 248134837 709028499 668497735 600324693 503467389 994949086 544850 381647306 156619575 104861365 5593979 706149131 529768869 963447961 39438129 365940818 686185568 56015974 384591011 939038188 863604127 62411246 26942950 117299143 517003000 590571438 220682162 656677531 919074388 704346600 912661992 19725577 265891451 433676079 620050269 769358839 281141516 620595118 3522496 437761090 725456482 9116474 143910221 107741703 972564434 35864701 326198872 511266353 91880674 710789882 450304540 955484801 625717479 329763841 925300295 142720479 920335279 145982456 651914361 691926018 702845408 417092705 711651594 968736858 850768783 184218214 590612048 984426650 804813332 594134543 274704091 382786165 455767368 271130663 343044219 280848153 306995364 669243090 792114506 251392389 232549324 94935397 59393541 858266802 424699238 984693836 987280 197550868 983192643 505417993 889476885 686038050 922510697 601128479 507291259 625795831 785346692 97903306 610222480 442676375 544554200 884926570 677978892 321567 8573585 21023110 281169720 315568948 690266200 73284225 566961336 922815523 20735973 626354877 633598676 445435210 463565064 487102308 642986077 446757706 992520300 532462962 985312108 915030996 986107792 492603366 393343178 623970835 443023024 3565657 66647210 987577223 741008578 597142453 987898790 749582162 618165562 121584861 917667461 160948113 47385437 337145149 936279987 68121409 963500025 569878663 513556619 279581440 56980970 9059047 726339145 902017621 541522008 564167604 669564968 380146151 56770970 62908145 4116986 352310345 918990153 923280547 339887567 512515082 520422999 180302708 114613596 991104912 154403920 32281056 4569377 201789356 369426204 940849363 122427117 185442580 363244377 635983735 465024019 272741698 645042781 43879516 174759318 39081141 608047119 844324285 419227291 517334440 759748781 275860628 869644784 678738933 199141174 62048703 43770367 572080524 94867762 158383962 563185436 249271682 190665017 567754812 451061037 412607573 361120526 573488153 598050152 724364903 61988239 915590523 997106600 559547372 959470038 24382270 598628512 420033508 868706554 870372154 789884300 480971687 146232782 512045435 12226971 197890307 574094137 55997337 769970831 668961899 214381298 185672618 918233580 405046315 753427429 221810968 817653887 114547954 647815473 268220390 691429208 709803711 36327264 688535808 121867434 995797301 712918077 720495945 268347161 434140982 443384451 58231460 915112668 589617232 422793246 927339639 787507538 996887383 983336975 409994720 518365633 50234625 595667337 289115564 455280939 201611117 363442883 125451177 168675423 11258355 246187918 860104630 573578418 282515182 401156789 695445851 130828834 114074865 268458148 399175994 400732199 711842598 309923805 168361218 153976181 732717051 948217208 941483718 582120785 784070535 203994790 953002769 834305159 799662126 94634684 142102449 1273243 458077566 267553625 169948665 469335921 513741542 30053294 42914338 796256723 283726435 590876540 927085557 250317651 859334687 178777902 651049849 571177284 341218059 671927419 725153464 73935109 620144626 519153534 508572245 256731512 723148323 314091365 91036670 375326800 408726048 233139118 376600042 866803613 353209094 399065058 188655885 866950636 281634704 84086574 515723710 565361138 674963114 295325618 815678788 534297800 326619872 319244989 957991436 667837930 991172407 535661251 594289390 463833384 54814784 102861634 720564896 630479458 269469350 811601565 5806258 678195397 897257035 234922651 544999009 250466128 633987709 733654894 969933115 915622412 817741467 338173177 333499901 345220932 633498794 149178688 879518732 960118665 468423676 690026519 480472946 312112434 225687769 74762335 775945818 133018905 30140320 496510713 616014714 299609669 160628629 474337323 977805065 57885663 709259974 375320426 160868143 195764034 961491671 130801257 963902797 631749489 321490785 297402697 976970421 954989579 299097736 709005504 767624595 767521412 399032022 100613893 79633845 477236142 175376227 708096014 610255046 58032899 57123078 78786112 357642567 217751707 553123434 187963984 128153721 114899759 415800761 141538215 310663792 377292431 124855824 127082940 9041919 446346608 424485636 838528691 253852538 723583372 547534194 21477133 343621135 799082567 122091025 275771331 276318709 149983603 983867345 739090106 208016501 40990422 817876217 418175420 111258480 370999651 606139403 91928553 485899409 21940163 233466767 649079553 251748945 358322590 776162492 113307215 804669198 53164480 951835906 58521735 776747851 351886451 932515219 972885337 3485370 907122595 101173019 279804078 57106198 85040363 18894183 117639050 978547137 689286752 535814469 942321968 60286402 994470223 34250520 398702162 868926737 267717287 47781714 120675681 626039876 676460558 86499248 283225425 729625037 890851505 341747160 358889239 95254307 126778730 331774575 98739676 33901325 432947593 378543753 943523874 370504308 249954288 61162923 201567796 939241039 449493744 143889763 852043792 296480318 30656635 103262305 165407055 150890273 3560371 138599087 776930148 680020928 77614686 60155573 262162316 968466190 254419084 621051554 63720497 381197813 952826128 162460172 267615489 238290072 393520277 211139362 461310731 643474564 124818637 662878526 435231954 426828732 659284641 139792097 723309049 542457627 95570753 888716103 693347899 99131123 879831542 322794398 631668402 957446227 235466322 893830717 925912417 489885405 514882270 842149265 723599570 320224749 4609436 991215058 411031173 250646064 54870772 872341903 894120627 179689408 387736781 181868932 606518139 47021421 174177380 182343539 441995399 269748133 71059642 135343297 368879255 803407535 458137694 547657 760853761 693604016 746894725 539282529 36005772 114293347 233948145 759605341 434518095 91073933 603336751 845549267 341719996 658207522 570407522 88356975 837896929 958144302 270225906 296931419 857682074 444403286 479274957 299677472 714151418 402850950 287537120 935547024 58774836 745674813 788611032 819628597 291795180 535505757 211427477 180317304 649799103 445375622 939922644 936833549 536449554 395775746 634899168 878169549 53983267 205306689 966526523 744396547 15967342 89268781 41327965 873649415 386188418 373119274 25843238 100339835 628486575 313380357 888403210 687261411 59055169 677014242 359406359 203366701 65036350 570833835 383684004 567351804 868725808 176122999 504185352 257691713 571898745 139084519 135861262 478398363 196907559 954904136 222794910 212874900 896689268 116639226 86524314 282877685 342274851 112367551 235733871 970761426 278264259 124137081 658022836 189835780 653667674 17429194 393202480 571220375 440779380 629402835 138572178 162021540 805525833 495273881 419713252 229940929 486874752 408090865 708339292 683782310 215511353 783650553 749173562 112200620 900289778 688214227 247594657 95080981 653098130 483328527 65842406 931362388 459981959 576381593 121198167 966165984 446327138 366916998 537386358 887106517 996319832 528474887 49128056 654362017 23748768 321357660 884302945 510623519 729448524 445158588 46922180 944959876 81325492 796095741 57160496 981615270 336826320 157271504 76696250 989924449 640600030 995055007 921286836 953098341 571436599 895001355 919264324 17763736 261918352 309167034 757386604 110754536 837641920 659031012 765116552 713907039 980388671 501935848 77046909 562353546 947094436 123969089 507313422 28419927 772581181 416990269 862551548 109407500 574261772 791764149 99331948 67378153 639335507 873135136 20476493 63288457 620652842 792257169 81052192 882571193 953940554 690955148 993325728 644098825 202502511 610958631 358005864 35407533 112894479 435052772 597761078 912505266 411538212 957590851 793441544 184119393 227097471 508509444 146043244 801359242 152789944 97891544 721253747 792125451 971026679 594246591 855413907 444195872 239020111 788982451 179283416 192960664 332453950 25125496 837059489 534956460 636084126 47581704 422880344 748978604 335150827 20641421 514000221 746689039 830748624 307441765 930808431 57846094 815951208 76851674 711721688 968741151 27259569 432975434 613382953 998286247 27222024 468796860 294998470 118758487 110295662 474281886 311719150 442749611 499407381 1294990 977706070 135491506 48876693 253102765 736986462 236543872 126260537 250986682 983232910 957009160 410944798 766557692 14855254 79412357 695925717 579093293 48153508 723185286 12068726 514052812 573987884 891807101 982849671 868986354 10565587 93145332 343268239 174801089 388411294 842675619 28612430 218633715 830683476 77489123 471736479 567669937 166549346 597997016 671172971 149782255 555006175 82117768 916339946 422377780 161530125 464782014 1471072 62199984 187967299 866056149 576252795 761955183 610379602 411618818 483457888 473461540 357280501 826726126 500778980 745691795 521918096 529391410 964325509 205117923 459396884 288578340 772787860 625946229 886575355 296477182 775728483 294097881 378594949 544584780 716475661 392641425 9366793 570463084 454841408 49850444 289035585 883610555 664321978 751931538 147745724 147779865 77909429 505026224 827022342 578688409 103234370 201456789 108079818 920076231 406574711 567476701 208654570 31878922 45939281 95229924 328356103 821667763 241844156 706951052 218768894 958319816 99592476 80652038 381299252 406950236 130502481 522851188 143077142 647340810 274782725 290822865 795120674 352692153 795849088 474659367 931380561 751599810 676116155 891976730 671676040 82690866 311969782 732846961 114569787 357909062 680593236 442925890 32093176 922437391 2393293 250862069 733273559 954502120 184030459 114572810 213968707 167049291 489940349 357045848 814390101 764723073 647868712 462027126 969931577 296234152 936686493 753828490 47833961 612802647 645805219 572026352 548009864 957775001 304873312 662579651 168200414 985466547 958021892 200293590 760420289 960415184 451155658 493693847 767433655 635186116 460783008 981402362 802235407 950723356 338448209 469141859 567962780 986316921 931168984 390410709 135067424 867855476 144239198 182901384 333174475 642560768 754927735 881184338 452852120 912317398 396280340 621052534 750300296 206818583 821346123 510720584 19750118 125018132 856930783 787183773 760204248 170230142 768586134 414956006 120953498 959550694 884097864 541432629 798383966 667783199 931843337 933451389 388155027 928598886 116352772 721329501 571159654 723796858 455030190 24011773 488630607 703826882 497580658 238930902 910645464 318926780 602167838 930395582 443944912 459098620 717579354 56665511 629328761 338681839 324137868 602798610 150748884 60752083 996747591 949132850 728535281 781107279 882584238 116690307 709706165 851453362 690536159 133382170 427766571 145566349 9910294 916397178 701909582 507490952 7844431 612555045 678934083 610012268 395466978 122878994 921627239 113046331 32060856 403472352 304244521 356198723 6270961 454993405 416950805 855534903 256642606 145486086 636642182 139226843 114692744 198864698 843196556 805228903 184763219 123479479 803311603 194673512 892393008 357737536 554680815 900237438 970292580 233614898 362766058 218275910 209010243 136909648 183838592 93587451 540381999 488083113 449786173 399169312 795592869 719253330 254704214 52235474 717255767 743862747 43978668 831948510 942727444 739691576 489693764 127490662 863171054 145521718 174680526 608080413 503259253 729361340 360834202 326068185 815492589 723600259 544344094 24502832 860509907 728182685 118090282 253408257 68782149 420392806 652577568 864375017 139646135 907281782 769126842 709418253 503660880 813105510 393883115 298904676 405313437 883576878 278911689 121000842 881614948 453592214 729081254 237390552 35469906 89915455 563458736 850962494 666032066 960319181 727981677 379058324 541018218 698588310 632466580 609800366 971497468 285044148 326691735 963659954 44842281 95818576 673078207 548503160 761440437 66961321 847407835 19270225 803054550 126319524 140271066 537185849 432428089 869352319 774576401 320414346 959267774 190551488 23893192 477816191 150870669 751874868 856874514 691888886 302979530 489341093 154205603 126993349 626901592 333413689 90653302 671743872 281748617 616247860 72763384 43189053 535725532 772687570 62459278 191296434 751523445 55246695 728482282 36467886 924599014 503058682 356882231 736383139 693610170 380775422 214199329 696997190 132650290 71073842 241402427 288146171 412931286 395608029 415139519 39832878 729021718 358309172 564093101 10770334 974557032 489372836 906475738 510282563 262060406 821451367 701578996 13583850 876698062 282577630 50051735 653813427 785636311 259450318 390196565 331762832 640225739 456912245 28760021 625392380 380502438 122678799 913538550 793433723 518286828 181194420 685782952 99824897 539503592 102392405 963111582 366576975 591765240 722103671 876859537 706341997 396071390 430954885 572442199 125285803 713532514 475010285 779099229 351685176 734460602 21812145 535964360 374686341 478724389 417240732 78720 859226826 539919531 766133622 505176900 58206358 799844393 43476204 10547606 191864336 145868608 973659187 558441310 590150199 548279209 287817199 296492196 944350598 718772083 868934394 69636400 284820948 196461030 848735628 489022475 930921632 870547772 24986834 158124324 201788512 442227566 10719395 61015337 982147096 776853016 566192237 892869805 429213761 609668440 755933762 621078096 608053399 582109300 179519406 198203597 130388508 467336604 347212144 74739106 38625038 68662889 996891857 175962337 265123919 698143837 664984811 196045550 421207960 689971645 354169873 622996472 984715562 364889267 684011808 819379009 994258635 102720396 564765165 423472395 564905187 320698926 44550490 172958585 902808225 76586247 223678534 885713084 396439202 570890677 812968541 435064239 639553566 809860398 611026575 904677484 360520586 128527738 100723033 781728545 818499382 307409257 404725016 655731295 524814875 941253176 475110303 519073509 43973571 39875467 795062255 461395110 213090744 692129097 634353694 968415320 768715343 858032227 854128403 17670897 281439256 519613296 452735135 920992821 181990045 916278062 825670304 542510630 44805799 778909688 324239174 715821532 938835296 581480542 371552826 463650170 522733717 699179480 835240031 419223639 591571298 630302285 880618748 804662041 174947733 367488794 625593712 943663076 78037372 332238466 961333972 359476627 851851761 266585458 132985799 33841805 35379871 958656102 576352434 80185669 590082141 753107960 796007200 381433788 334588501 20076377 845083958 709838569 719255856 532840340 129062207 163343505 15658976 862197307 968005545 190606709 82202452 446115608 134269784 12756175 778354074 948120107 372232802 630205834 67221916 505218600 516563991 102601787 316391054 92916424 35303807 758989546 698540735 831311007 140423334 33129235 703903735 838023643 595484155 275675943 370863982 577062714 439019447 386522957 291776372 259541344 577129665 373978823 705656951 563915800 386734997 484011024 364552258 611484150 966733210 284290526 116702750 483297200 386892312 285610155 428729975 422196118 44599700 127270710 106023476 37539385 12916296 809927211 875563027 460916803 85603153 98943360 37979516 377138951 337982669 329755887 636680294 915112333 556251061 342337245 331544485 942986057 678864620 548613094 406986559 645597829 832903619 376205660 981411380 72312282 661815814 262657707 494508400 558931865 242444768 453048227 448987602 107877415 115491789 177066980 568794217 53611293 276010340 606773732 430750244 613993008 789045970 67430537 381621692 345297030 262284133 565682528 140799439 941148753 114295622 547785997 439262933 947199240 923991656 420674313 19511522 438323821 683332019 366536273 849772037 925776786 819584499 298759638 33654200 935076288 475826618 454964769 988687580 604353309 61738500 271954175 70862668 703300822 339384712 452484359 48597851 601668844 18166887 41913641 395333948 984978860 442215989 834596881 784694451 218723996 107787545 656722324 657047816 791119563 23258596 359336205 569412700 695359447 658095842 455583251 482952086 986438811 910548019 324156017 590792119 824802871 596110192 661654786 380620044 788011255 966655497 281734246 242196450 837338735 323647887 637530398 822317594 765863875 472127278 459528396 984587871 579914822 116250720 494152038 223550736 992025667 853488242 645479787 539901465 364100436 101063037 22853550 203055598 864127408 199525919 793847717 541446630 648152462 308018854 922066673 436163716 127190702 56317270 678360165 964529436 379965156 168406914 639363381 998345383 640534191 98891777 835449605 72965364 67658848 182117994 149032451 59684514 35606236 794512237 599585979 252223023 748091626 474955880 455278620 464735385 526998150 101642688 6182014 175150611 262177894 780765038 463830678 389368595 837082307 142190843 353898031 69563815 163114108 993261411 67909197 803648299 944669539 755875153 729130014 12328386 937993146 878162465 72012900 826115733 672674701 524115230 78338755 273282678 851587461 386133727 738018062 378585611 340292766 596716427 406252573 602470659 229997816 870083251 991839254 67080123 864790445 198253636 989160289 27904552 44031398 909585837 684069202 988700937 665460989 413199216 1029322 455970486 143878032 925558573 282086219 816552732 302190154 212941325 89835410 6293967 451591403 680369823 384879577 791884169 277086250 791132149 394354827 507084065 513731751 238710432 426680539 378522195 436964067 268357179 258943099 480995465 177943015 943012300 469696401 695920355 208727867 323242074 151890841 352605898 101316999 286493411 21674982 256023504 499434735 111510391 262317470 951026138 644396565 647197046 595426658 921482814 290845547 989781484 281083231 804577297 81008268 560280121 35615844 517972334 828637300 294558942 998967798 6580314 90087593 321180550 555017021 298815460 644422624 706907861 651421357 598255974 993401271 673096338 854279477 345352357 637123080 116596947 148894846 281519645 616310344 744321503 55518810 907155890 586619339 189118392 564249539 667627606 749398513 452381734 38116291 578035812 746940675 37084089 437132477 837028267 358264638 992149497 135843726 855203613 551573709 639781435 453459586 397491331 312877772 160255415 595360040 950000852 276852361 744254885 84036848 893162704 341092740 139555657 652834946 780228430 181190401 69600836 300372387 930588913 521982569 338488677 361141076 121439595 375572765 798273552 810984213 586353755 642939401 799344291 441557367 47029461 439125725 747533305 297037144 604519848 907788719 892397183 407037051 37157431 489168419 491073898 930320134 830261158 483145907 435671431 463005939 664336307 357788618 763378325 447441571 879771186 101867002 808582646 853727132 329956118 459372549 664711345 916309872 102311949 316571987 210383591 1857762 755697711 957916895 298894905 212733910 865705613 43808439 619770961 902863043 532976857 110844858 685699528 215754367 446507116 973887311 678760305 963359774 331675928 442138630 410801344 63963466 396521983 71900341 917690597 726478100 531272890 434918293 642787972 486101190 751490279 853171562 487958951 359704341 663604808 639370207 572438251 381826772 683178645 44725563 137206166 216155502 8086772 822905693 431909868 454593888 649309355 110670172 270470013 980985283 405325153 681271357 897465100 801847135 753171697 667672048 380841587 136960938 102590341 23629558 623062128 706596971 729317471 111021078 918817664 245438630 602907637 343772266 627265401 286086281 388497828 764471566 354758134 396584599 439893610 786668001 851178486 89202965 749854525 121648499 922704599 7696029 655436207 820169698 662059516 261124255 340358097 42901102 398085193 295464789 919047011 21147320 2061760 500880833 984684749 773395775 746319462 440108737 117168040 373584862 726195018 505665867 138056427 80953151 902250465 430466388 720137504 605945303 519669352 322508380 580110153 294890302 182720760 88062711 115059999 844780275 201703317 307934448 887681376 599788509 603399236 659244738 473452180 457977347 160125570 310653281 231373121 906445031 750762017 201057512 132546244 329473386 706723378 123119022 262942889 461490195 553585410 835596744 919951849 925771113 10621475 352578353 220661415 193342234 440641063 188237765 38122509 642344379 496172212 778320236 94649240 99571448 437564974 420617771 410065146 450206895 731271051 641438267 209168278 334549420 842495778 341714521 516539157 401735508 317349895 779482045 715742054 870935304 467595140 635693902 649222768 478216614 988272254 869884182 671558848 281429668 910638299 709681356 776290398 259326862 340517943 870939637 211414661 778082916 144073760 621479807 80806163 875344810 115434425 289974440 62410581 957930202 631688960 578949738 212182061 949038854 210948134 927924114 672490509 678543274 416134367 174229629 9276239 256922972 44113810 680835086 390868991 807268460 243032793 167159389 66595322 583550736 890615377 278009982 214150003 34689136 899489788 294956165 762550298 14924212 584930604 824960878 825370766 69135916 256426967 890069178 18174769 319891453 670509644 543181630 998434726 86644010 717411258 7710964 196083334 614041419 541062402 586952324 273826231 784095194 606628064 340421552 367645929 497243441 470947885 581795932 384448928 222954025 876752096 146999225 90394588 314199052 824476455 915765353 383334967 80903421 658350883 254026087 253311225 328860526 797207716 104262302 268020887 367135325 111973266 316620572 833693096 505552019 903572896 107519326 289647212 362717311 300457229 509809493 859960751 771405113 91605424 96926031 994359137 820873871 243925255 84753725 135072922 68401709 853035429 370924240 1821482 511386311 624950327 107649058 692763188 274674394 211911360 960784075 641809719 176400977 129920998 328019166 681952995 33493893 435538491 971600206 248727556 735995719 333926050 108688306 359917183 278047825 58130688 354276320 98921696 302055943 291546396 86510969 222974003 144581824 309951561 77311836 508484487 934901887 184960894 201247674 209576280 396872253 14548100 703902350 573273229 144469098 31921515 107742575 30479342 319976357 79342780 279206897 55972075 265785182 240411555 268405610 543833006 298542242 622681929 495271053 453114536 914228324 434298374 676088539 911326499 744249934 605916726 419810985 679151820 790877619 473575011 741244451 40266223 488123110 445146801 466055803 485108559 329584667 573798377 515587901 649561024 505657509 647311149 558049450 771442690 887722703 826455059 315275695 38781297 301653339 810546748 491895832 68398014 97361473 20500722 979724513 841611406 626417448 252051849 373279577 269811418 725626859 114524027 162593993 66266321 412187179 628649795 551374879 741771846 202448172 66962779 391332869 708105680 566790280 949382318 332064721 307029334 628353729 647340415 345810630 930007067 310403514 690222814 998405081 407764986 710723535 978129593 101892743 189657334 82697793 475172319 311985104 808324652 589696346 474579096 874590972 1883524 103228890 425965850 596171721 158193413 345444981 987504589 866299092 912235260 789403259 50880164 71780945 270273339 698220579 417591575 200280405 861140444 107814388 51201837 121421782 671054274 29331429 223314524 713227960 112029222 698486843 25213063 772870225 140699540 499792158 647461196 142583063 455537399 925943397 591271136 613730812 123904729 431292076 332546255 36139988 73211686 383426419 107920933 343485024 81646997 378028859 543765429 795303792 338359598 594967265 916725573 861930223 476815046 140040097 575158182 441360619 838526939 452887596 66747195 979226478 952679753 714208390 974325892 260733504 492668138 418113379 874464315 616572867 849405455 207010569 505229206 922617140 590436987 465666490 266102164 524600335 843695348 662383944 172420479 34571297 109867560 89146051 896501520 586682605 81702499 324176053 880559575 920229437 777063649 947306769 751972266 582259753 514031510 578814510 842993256 6699648 996927888 569973922 623272514 698849694 776984491 128501719 621466834 219937829 446684561 740085349 597054516 142896260 402469292 769474994 177467557 512336851 858621044 926485428 951535808 940323543 103177832 832095382 713069331 880241480 631918503 317557949 315017585 145950012 748888810 10527192 5166011 598333049 580501114 628438524 297182743 210001956 609456595 771165928 282456136 56141155 511251276 879510651 51553766 766236919 648985644 229021322 131090121 360123040 8023101 82625928 152962934 111200933 767237662 718548616 991442412 399156164 36106564 158976348 397622527 637511725 22019892 402788538 235844774 602521005 31227061 385543868 665039312 493200007 156709795 947495447 401857513 520477422 827006098 453411279 286714340 328508093 534948952 417804460 541147484 542972053 352946740 694110417 654172985 120184401 265175385 498131748 371856916 153798300 657108096 769479442 791310025 679127987 172267979 27154798 134165343 56011392 265215017 799204654 401727750 421924811 599216452 803585263 942402232 278738901 109512893 81632923 607246994 644461844 351953734 910829 39950248 704900473 695021246 694123232 825084873 960196630 192254980 49458140 113994929 701879427 818937582 757821305 233523765 991205560 637492454 367689107 899733303 902707470 19410112 301461053 177148632 618626563 957562667 119550863 897365464 67075559 53700137 357128809 564053754 405653871 358039637 604004002 110554343 905577234 150643585 788155568 718290215 342898564 837613707 684801496 44777990 509067640 442622800 130818106 352789552 80115254 498507212 252522854 835339075 370433675 406500258 12487707 989060238 364062924 984554921 738942053 283654834 38255058 948587213 700224940 296425280 159143201 156745293 259495974 64720435 307388877 900167893 783010649 650287441 590297952 320328496 547581782 99365591 762951296 678399888 452155142 695582901 29423451 557194348 383438327 399857126 963694605 395926033 241433715 180273881 232997306 832892119 463928714 123768715 781479331 16670005 420193994 940622531 173415297 532206319 857859317 480804174 432374212 493386318 131091614 22672163 813714813 531189747 974554105 429182460 62105986 279225599 124765360 91529437 836419946 360720039 343902914 800114550 756646071 437852980 980388430 989643376 270745098 296833496 113412090 904740780 313503500 386122435 697879662 486918797 918328754 555738979 967722970 203219317 49125296 951330935 78407831 715356460 335037033 52961935 144538920 249659371 184703885 121820631 193705159 21123830 482540669 537608072 673754732 91703092 975461051 506659513 933862819 98722500 803493008 899791261 3463279 969512860 138430047 553859292 308948008 56758800 109598270 129187329 112494468 11239917 80518263 43418650 579112729 268071647 96380585 723651648 517731017 133600821 697988630 711436175 154724651 33045651 101560598 828479382 124748742 929538000 187655246 58611560 28260499 991148254 810919172 884240129 813177465 949349219 290615773 122125472 858624370 252730394 251312800 971118838 116486663 184347414 14537487 695599391 304935412 963434423 271767390 822666429 97035244 969756019 386618955 104276246 2801669 340695905 785271979 127550410 270233904 972927224 38678322 151010755 816591829 702113845 887767235 629769293 651463063 178383007 604411116 362603785 431113401 855723915 186238974 547600063 892587680 53292812 95715805 197523092 16727235 367483194 872705872 966278830 337239212 111841178 923071427 192557233 452537082 708343405 172623994 722770986 533786980 63818667 726298092 350378809 765932512 614065326 832664453 269911926 644964685 437075569 632515710 76078085 145315835 818754683 476194499 37903515 872047495 571910303 87942958 741291081 939393496 960648829 560086262 129149059 72490006 483157688 321706291 377543440 44017444 494330285 100314425 577804423 558148951 679128868 780699583 176597814 145710545 613364036 446509740 790675229 902955956 79025449 719269665 48271790 897780132 47980515 938691656 622343978 619890817 879150965 363635058 411800664 692316145 923721319 393466075 617322503 259395358 715172365 994865942 155929153 62019001 947696718 733733575 472684304 626825585 366949510 649282117 772536129 980313545 95791856 415727710 735785852 27333657 134997374 636573993 925113788 182977889 427782001 399974117 655385057 306932965 763609174 67185721 999249110 539846844 313168147 469087964 651758553 28340511 463953905 807687705 942875864 264166974 393937631 415560167 890992558 760887140 64842283 516045038 593717036 13150491 931772747 329502887 40484147 919286473 966076880 818114286 102264361 246375232 218088402 610165769 553308196 834213927 529867841 405073657 226577122 843035987 874161620 878335674 723892850 190631876 686023378 666768713 454798849 79961008 934845231 198307758 693364500 852203865 566869148 287081535 865354355 351158246 469100774 758354853 270444718 287694005 576469138 225225430 534069236 647073891 835391199 87377431 481287817 217775391 344967440 707864938 60811378 71645411 438716963 784704227 114793639 124740340 303989291 569592487 57217700 91350873 620416597 603098551 943554737 187285744 890180085 661425444 538443989 211797210 419780296 661405059 499491214 848765786 886630488 33560449 495839676 574538038 973454232 829643845 792313429 170938023 390025134 705641158 242583433 828742097 342861736 357377071 805998788 646851026 779485910 715732839 738201898 399902506 318831389 534272986 439704601 61527826 195698429 978148589 273325035 467995077 492069999 772816249 316760862 231216839 658893049 665116889 805754876 632347280 494760733 450584656 803285302 884785867 8742165 898385087 566044315 351603900 108278509 372043102 998454925 887764418 87775941 589173174 140183275 259123681 123446160 579887875 173167858 171660940 410552816 446492893 639656016 902622814 71825493 808933229 133839652 730718541 474050118 792110880 215582173 821327202 95211887 871383826 558629420 103954052 769768912 124673734 455557951 878047421 349233188 306529228 618328190 289525480 895702401 758511465 548649160 871664912 338399339 721817018 895842204 748952154 20826262 388014571 504091320 92651754 196947800 637930971 675886646 523514269 282558202 743985170 344841470 377770089 615368996 903470890 481724140 237654259 880660975 937282090 968218031 229894162 243811317 586546221 519419641 992030070 197574037 920585153 716211333 535973375 494918522 612053536 137441881 515744783 68107 641533200 460912888 49532258 131980522 989315885 573046526 414538724 733301055 770404347 792308812 201186402 526391588 126549303 291357012 407052563 63831392 259575043 489463076 160159061 698637615 8882717 152189130 896211651 781984221 868400462 284701377 276902742 332970350 422143257 645163876 185554808 916192808 106076763 87603417 48173330 947908999 660649942 315228405 533726405 283570640 960053568 734912806 809962228 86602870 26269818 69531142 2950613 138361212 558994217 163109673 836998826 420393285 315298802 585726828 202377505 36215616 870428204 331796598 221702317 145087813 976960473 407257124 61280620 935553587 494860540 961970301 883462586 8026833 129715057 269705342 291597472 89768624 4618148 101559699 28887845 883404317 23607192 31838458 874281880 582601409 194948130 563797057 2994693 510246932 149523884 57888550 398978899 19952087 389685147 620681215 17556251 366645620 27938338 78836871 154715558 375315229 40807171 38178143 235858413 23038580 160399837 527455884 112807203 17534336 481531935 141695048 900938652 505139126 173533505 627736883 87740534 368481634 191533939 943251579 731244917 193574174 1140128 130223815 66042612 390825274 750905029 83598863 609987245 631359718 162435733 764702803 859191298 55759255 655397297 95049710 78797834 815797133 475021946 44121389 833331468 956553880 185816436 586786471 314209357 211866292 214523353 254466243 580347925 258573643 50234173 164109194 452147816 51374300 294333008 518190428 294715925 897754389 601789290 904703170 381630458 764225022 669405972 240821756 672500628 177319620 188387817 751298462 993116753 663409762 795419850 826448220 472479993 833752637 265751043 786689350 45618928 480274395 893671944 478483204 738848038 943906116 642592397 43512205 995280415 936925405 561702632 142512691 687196145 163491921 47215860 68826602 780233294 569138183 162164709 452733922 746457803 350552526 56548735 739574555 13962287 704484936 418539126 486442280 538237572 684290168 125647981 436372851 17080915 19319924 914856054 608445304 815742391 557448451 651957508 663539157 346890207 213660140 806051847 34086351 229668412 853267707 955429304 9901706 274922241 117594013 315151979 21380043 468146538 371700713 613470949 334625176 76185648 32010075 821067455 466939571 568816594 799231787 903312421 438413860 671068062 670684826 46859163 486810452 80649628 698816671 2865960 427539834 764993162 808917807 314142536 994661573 514701865 122088192 4563278 789624105 239682204 172231608 811004148 560345093 543932320 276991448 894970268 472634319 161517874 568554075 792090241 730334468 367785861 547919013 21264679 38853923 218603839 68123842 378180726 299253466 619456864 381046686 579309652 384450025 42480844 893452187 231627949 557182708 15540378 88707579 346806812 107738933 260939186 10327311 668084025 804871506 287318759 415570645 130022176 448836632 984124719 922112417 31687451 204426931 322547781 52952130 95797205 541151619 121075971 473977931 692921437 593049186 707540968 272231088 977499210 750021811 18199626 61643510 307204518 886256356 150351088 506527681 993995288 411290274 516854992 514595665 68678131 656690102 930166309 198700306 105526733 766807379 973329074 989730536 971234309 295876855 42682665 67031514 689544825 16274987 393525796 382466261 461840524 101066763 507213700 291856085 851088573 525413326 353499594 10809442 264186033 503850682 517337122 110697672 915140955 886708465 625293336 983819085 543398566 407975996 35035742 501441651 27299726 8364816 343688538 998534035 156758022 238887554 65565548 846302846 107678892 311607695 81285459 569519415 412674457 588499158 861375499 116279381 113912483 214875092 127088822 230614867 718725773 496942295 341312539 486383079 236167112 966605874 470202163 779565677 227098222 505237905 133523679 254397947 366119072 477212216 105448333 522877093 716099769 23530232 369179938 823778660 335137926 450465396 245814426 747812382 38964554 107189924 716608114 5393388 174581368 696213287 88524607 893307140 45671934 429837145 232206571 281839045 248959370 702408733 61404721 476057591 60162989 47444752 582971890 426282060 377173319 688420222 949159152 93273088 711950454 170855442 769568099 47088379 473837189 15382525 647417113 365318094 975088800 364025226 223227834 149670167 60238513 311752440 895493659 105910446 741589584 127700229 240265842 990548953 682625313 154186914 319122896 742788302 201631665 902094785 21586713 578804984 590515006 823262217 524594423 154981811 994117658 146678873 202070190 320471198 14577749 849487302 685789292 989666549 66028879 909017125 991853067 978783743 220769564 887346725 937210540 962359147 867563305 177476381 805424451 550188618 331663295 124547346 145493271 385811311 26642130 19596335 964616294 469673488 842858551 341727068 624655298 689492560 340922293 679241839 9963758 355500041 381245492 695753049 197682941 447274371 457286525 42052360 278574465 678056088 929399084 215785005 492931586 649478741 245777737 150872388 52183710 577441031 275419734 197676980 963252342 154578215 217273314 780384987 476768054 60131865 974628407 101423352 602140776 315550699 633181542 612104533 523567091 14427034 160373933 721250032 314217756 617660457 763302391 592792220 148232896 545217826 808577224 493680833 47212918 54354961 644553221 99396627 484312343 919972954 297073606 300081036 927067520 366863272 932982375 403835574 279511488 907610781 357775277 881652263 75677831 990956818 346273148 599244921 857900203 506647080 173011304 172117958 976823889 788830046 764910178 125056784 186564224 426003753 471253969 233777141 332875065 115807189 333173768 669703760 888296494 630247373 969784795 815364013 997110644 755283521 71715938 129138483 515410653 282007566 10790746 591088483 125480736 357063893 42849756 983380938 716227324 68377411 8015248 693051212 857207457 772925425 670624348 43771680 51445529 141878316 277548820 236836946 110201856 610722587 906540705 998498349 93486312 728841851 666378713 943113307 484125372 590611003 72251790 999536024 872618568 83042535 443140859 998099303 292622779 338506966 981480241 8850102 406884376 989495488 554417666 264091832 614937264 77558365 160379863 518899144 71953032 437928683 755736089 34671239 901167621 662276793 33169587 994653932 243634996 552064651 790283591 727760367 142675653 862535380 579812742 867810573 798094266 875469952 865909875 943233396 213976917 699906467 804599849 620861293 541918306 211533866 737469476 9371921 289092230 897849339 528271065 213561613 188294373 136523505 248232851 89461993 798800298 133918789 936632277 42435293 685983440 726915867 622712011 681175444 441967598 55041104 401502368 92578215 930511056 119928595 35811610 997004324 819835061 692927810 470381968 214269719 904461676 207851444 76157991 46070257 105700782 604429055 259631870 146511506 740952560 507864720 235973498 392269209 641783509 25122126 287220853 180283300 752037992 762449215 861458743 46521941 817490318 115477463 139100155 600517725 235406057 27428116 450038401 55241117 572872278 920420368 122027187 477333953 128271811 198185178 523404209 86488944 655130584 783036078 85516801 248599495 143417150 321490299 640868703 785200658 346612424 780605907 965483957 951166768 543055121 679459051 997688708 213061791 794936513 989305215 666095867 30342569 869249682 116134267 938100038 294638311 36554635 60127224 771972263 17342797 110828753 147892824 956348093 765959337 783445253 41864893 14558831 926862402 215871543 507943886 712063059 415000319 141066144 530063367 366167086 684121265 209522418 216372145 749699407 4458930 58193711 415795273 887317851 779959745 384445892 825417888 74598055 273516878 738061463 699086670 143376026 701406568 846979493 99724118 319882256 482941097 994105363 186957438 409803499 62493257 694901323 974382909 477493575 835967467 504446276 696177012 372605083 566485045 912549157 122304489 423460326 823259219 390616113 310778176 603218963 775062004 988712415 530333370 48578881 579290230 229420039 44471259 280696797 928915883 144195376 600579052 411856979 990817090 787536489 674176829 905826699 334954164 648559738 235836625 23437982 5522365 932013637 248559416 572007409 697079145 223380256 995467734 520338363 613996368 158762262 976073678 241574724 147474676 506407047 142669956 579281257 588343437 187141214 859978053 517259319 183852942 313073456 781632649 27186383 953126297 455809478 933013081 140596812 956885567 21366058 164034793 962407931 953379694 412594208 386931691 650458838 635974463 234915776 23313552 102487182 246194389 999387229 196578257 246185417 358310627 339248213 825466673 946654063 378905778 537961078 316429733 562758719 851034533 98062382 442461454 656677181 406388211 227990886 797273992 215790129 249356943 961308784 30714411 202736636 226419343 417646101 705711825 714910157 505078228 729025377 817397339 751272617 580928957 13975595 997458033 791755936 205740159 822924705 590926350 584645937 213402134 907356083 999921007 64436667 857934816 442382460 573630199 116839378 670373346 370904191 332629506 919730288 184729326 363343916 974983276 263665021 633506368 680695100 978575177 138584595 262236828 648488867 889857211 695682137 514980814 739831595 487438072 720720972 415272652 78364421 157883260 628674785 838236855 10320619 545627803 548688022 452703078 119258002 518043751 975592775 342678544 850673256 747839415 527407869 66533523 722822690 791072889 700039890 256034141 622164418 691140837 370787321 270653284 433514399 66469457 785634097 173345994 406423880 358871421 588618645 337304652 369271032 69809781 28057859 379591650 615437584 576745880 832294728 734695585 94789631 660403854 77374128 797979238 408243268 457298348 717029113 983582309 100887589 269585354 92132802 723052006 960726190 462920122 846221641 394240589 529389578 484372090 420102934 935813457 843243510 8721578 125634460 65030893 78531358 153692318 444622543 546485293 730438198 129433622 133697229 677744180 789837475 63587708 328239769 50597095 520886056 45268881 34179403 474289996 167370587 126312204 49858353 128096776 589232325 896079993 374853716 971138254 380452082 794956649 759468062 76211943 656194578 885102522 141242836 587242288 38794839 585865378 133727580 621749388 715298999 267424809 152009919 357652825 331012516 480249688 408249919 704414923 378034920 442429322 178704918 545405506 421257877 228563270 526018634 10490202 124643263 900872349 834144807 357611696 695828998 593612869 286339991 204539927 331231742 427582826 791782214 370026580 865964555 925509794 991775968 433779905 45450954 143785886 791432729 228979821 476551925 199682648 933394744 707103197 494628321 112099661 105025054 915886197 193179283 631043687 778892750 170338897 531916036 613037557 380466944 80261385 59166777 666806934 284801311 390398518 94389759 76583525 612941449 812870665 854609670 457233768 246650569 752576975 453536006 38083298 981556795 930087930 90282297 914951538 489707478 584910617 879567551 594732532 353313165 925263185 225776218 132205915 95602081 610208605 597759823 328585376 690469989 656926599 995392310 827787652 899841468 942298420 756887528 512782916 755169085 464013549 970016684 854336005 216590523 276069041 744935654 50663669 58673322 835217950 965615207 548380800 272644918 697699109 143113331 625958083 475478645 221405900 610680349 423597077 831614505 208440171 752182452 374600845 717883121 747574761 202388496 617724588 542389533 959276023 983023855 150074969 275805923 805556890 4410973 492396445 81625930 749346627 543060114 140299252 437080928 361191672 688680051 562242198 911407132 684309733 40716632 386885776 905715632 651396980 810482852 737330136 859837150 415181655 111930981 430236622 15272768 166835828 47961209 557662300 978628203 883501415 707737268 254434125 689058305 712148240 599346922 623200586 314011218 142407035 763499837 603608498 356115058 304696239 165850695 120038541 989005971 206567326 506924316 747237955 857964305 169923519 337084442 570317806 585105173 301531774 554427 600377940 468367602 901031987 10556591 299512156 637049753 718293858 553946280 178624409 282958450 5809553 801824995 596969667 732939 417841183 53094516 356847996 722537422 218945210 476886536 564059744 278028887 836327203 163814050 135993191 6250721 500898492 558827348 443872246 802430265 411898126 896766537 123314218 165446464 907323128 422826373 802496217 625616985 976772653 981120625 908575434 982582205 635461971 358061453 983315144 53303154 411155968 192679491 628356927 482617530 522082379 44933022 760646416 358409581 208747072 749155959 217176654 709645563 160499658 513565251 512075827 572397784 410331787 635390045 590360599 170171266 58216417 245373167 795788251 887505421 79010144 556880036 722603978 714472114 767457840 558435473 767775267 31130160 603631315 248648545 513747689 125713693 293581567 274394104 336639626 502328638 23550062 553816279 211974200 36566072 67381529 576566378 608963855 330229667 64472774 51840805 500400933 122689191 297213972 148705535 862710963 376224115 558101922 437831292 90696228 325559762 848783116 710987847 356689921 452414431 959636391 870437609 430644475 253217957 997348064 767284100 755546594 873414478 173616730 820037145 909980549 93514610 396603523 371460755 423744277 461076296 423301559 776661561 436281838 720515530 925367095 151509153 96739644 335985368 441856796 39952224 661545129 290639912 750940070 870751401 595570694 710576460 593705361 26215168 816310769 591053425 793499268 424373714 316984254 967115997 244410859 226964802 60630607 493530733 598425556 336891235 954607028 21727114 113552795 243405218 594758996 891436241 247430722 691498639 79937960 689287517 731450862 741483089 979927428 334907283 464750841 428014473 45483743 58456202 454229641 714310863 502025978 100245260 138684576 819010231 919877608 235611786 45975032 833024566 729142518 496916939 22432152 536265898 371160404 135984946 779671115 965919399 879937538 27101836 509934390 959875498 568905704 93901603 553874938 401349484 428808886 18625778 829363956 326808980 929598331 136109948 41119842 431624308 236355207 32320769 103150890 8749167 267932555 1642273 841773732 997075072 498559211 864205884 385857321 722235967 852707181 18044787 540671717 585161071 45146622 50606106 397552920 466568678 997024061 951427857 867918161 278349298 822569986 697282116 605158277 604684669 833392064 498794470 36308976 922263622 383631590 139459866 931012788 651564144 141102138 772786520 501155568 492177701 489508755 887012888 66930019 342215935 905057675 607601735 927377005 802720648 510724193 177446276 121805677 507748253 128874132 989723837 786097550 803960470 539522305 243772178 261161490 225430720 595082999 149986817 147694341 978714588 141963034 78707129 482795084 135581524 704010000 983950651 627759224 46035106 723479890 694689242 388251040 481053916 154807328 168144397 136290916 665531520 345590672 258096592 25796124 326981156 100336781 811893673 983457977 639859085 908182202 244619466 865289804 503265200 394606282 12984144 334496140 536569316 944207624 817291223 672150839 500733975 653758225 152426414 546769080 229754466 699632007 787536472 710808382 854439334 955680868 699615649 519970854 153787891 957712240 545766977 333285398 58049020 210177002 316743374 550424456 118359203 413879191 415714259 474140755 808485473 281214755 808636894 197571140 77938730 478444468 722238330 431189057 132202692 874664743 977958136 361957157 426813101 618010959 925281890 281252434 426208178 624897538 653739639 579996069 435126130 52022968 913281466 345691501 262199969 82541192 896115957 233075523 496420382 164346567 559732629 157422206 298077673 220885874 207509697 376016403 699330341 929748026 807205459 831533032 656929120 637679946 46006541 83742220 108207257 971288430 217511006 534415434 448702320 871250644 114411502 736344801 923273611 880209320 82036301 37989931 815266863 830668609 271065454 164203596 847531528 830798082 321625802 145609200 51683956 529135498 374141954 603530648 311399876 33863764 287580032 968328995 671543710 333586572 52071215 779750966 157391353 122098572 166682751 458610024 993349215 133610605 194954824 916622826 13819924 129507477 954612756 681603138 812692437 78194561 845806733 660223964 761508995 19948886 658349516 665709302 549084384 32491469 269239949 860484259 66355233 556819980 681329605 590415294 742922903 585917171 222682611 900314256 708015742 389365361 211440631 701364957 522975965 406395455 470504134 389312240 388419283 277633241 70915377 201111719 208344154 916722110 713852035 969853148 936670995 372201550 635562449 338271730 257209370 757318749 51272340 323564602 166655081 732601945 913979895 909577983 171035467 136662505 662408590 879051209 378544218 873849221 432932517 901520182 132761027 903436650 290832422 521180309 33586242 214264150 722292027 241930395 130986259 288660413 64299894 920173606 660861962 699862342 110961687 918071332 309697443 14750379 94152285 476352523 747352323 860648532 385930505 918387789 849827388 48339095 649955349 228371605 774704667 82887865 129891787 907465693 838840866 273240560 428646001 872427108 487504709 3454379 966873854 471007320 292114792 31173748 243697277 805493105 583552441 207175315 576080788 893249883 221925693 670233073 369602405 969278015 383397956 608049262 740182156 233225343 508904708 242653856 314113300 283609374 325541721 296521438 43591418 16898938 569761997 472237418 889326045 909783057 328208148 708716251 233306728 620322939 739889998 477004004 278332396 175958790 684179319 854413183 69208673 906105011 377162607 291327429 727899378 760560562 899376690 320597885 993785905 408281397 563251740 160415556 544407122 741309812 456936993 587998539 758208750 26698989 60235956 500051146 788998397 240960456 208767396 22305125 861283394 801173745 351825480 139615789 977132535 36004798 846545324 46341207 794626161 223707930 190184987 375041890 984268492 89561677 548156126 830570748 350359425 111407865 990986303 894766547 705234029 300439647 482765085 463442778 179654987 395517393 963493923 968653383 636477848 24777671 990958507 350277593 825951415 195300339 342409734 655600301 83821488 41471409 554457859 878447648 265179338 744642846 106005889 101964181 834204522 654162014 785051280 37080298 618086231 628553934 931846844 175836611 928993580 267128281 639279388 108648566 662645673 455289662 77301949 151639872 332583684 920776807 354433816 11051451 116077145 696843549 666651751 52414985 738314957 221109610 930862632 856010647 965752455 889384873 957974827 652473328 396063238 595542459 689553625 14149468 224096392 473916821 42502430 5606324 741045101 681781817 114254889 256207125 989587831 44073189 407846996 322171514 817366348 762280811 333222964 785959844 311640712 999874715 838374828 902472020 73500676 621753812 758482666 891769482 511138684 568973845 396759161 907201921 17032655 86312785 773867741 241129046 412745957 816370170 246735369 153791057 350668339 213506610 409998181 192772521 257579798 670361528 514944034 74946145 285158691 700683350 713422341 596799402 553074416 551797168 351787773 626575091 26067331 110270439 370860924 537206014 531760635 767620084 296924287 548793289 706449220 923308379 642438686 119195177 592194900 889174055 125502585 942863238 102680664 535500766 135635758 212776813 58378645 503096144 140239310 343537335 56295845 853661650 940336736 609370260 257975169 144640861 88461702 284042500 107427651 459322625 673764865 639188285 226942708 970689151 40497925 933391927 746513881 682936610 905103455 338708781 424627016 30606040 134088370 379824031 418623157 122240480 445117196 477001801 477852975 585356505 820539136 534148819 291534506 613392223 143519078 402026026 758033083 231980779 686068525 865460733 691303403 212349742 357165369 770762462 35555244 397663293 556670740 782069125 933116255 461774195 120777905 210259622 344896586 107382626 590083653 763519742 82139457 35200848 240521542 559992431 473073704 61060677 94141249 617124561 526969252 90176678 19150586 285002334 322157456 557735463 2979419 865977210 770085204 360144787 636739671 805640447 757808080 45926763 587709571 543440686 507700957 561003827 753700307 852597542 520902805 196300311 468633635 603042261 84017510 709155176 163034692 557091213 622732205 109692292 26732125 2217808 199868970 45882711 287220141 522026425 603618173 290199559 240519987 226219728 650344346 877259657 31860174 260668777 923186419 472086097 804109462 283403727 33089923 410326120 988517620 406509079 606626431 457151254 9551340 690643940 18822782 25102383 100251505 494071338 134794674 126983629 496289145 334663643 172866339 783509285 856690068 629000863 926225196 97210054 855220590 429085893 826986062 887080764 689754669 602688833 211683212 346380482 738608911 97289486 756706601 727126531 503798565 215849383 36794136 513349904 906493323 55616917 538452286 6744827 402204606 673246959 133728455 898493750 7910602 159111146 534519387 717117021 788112008 460744582 666843426 643332598 889830474 346345839 382929713 432101494 801551023 594612924 630998327 540159934 691902409 240221279 119802816 48217325 456070662 9113303 561567228 362563984 64730220 952535865 221825162 319451177 478299176 355553616 217944927 338726129 514664761 752464313 55843149 155293121 65725246 575202926 798625718 808072071 774065116 34071782 92689916 575616139 481201057 723688242 968292424 25619817 963909520 88095239 73837142 419980181 97208541 635404369 635060516 14455112 440456586 856885677 186422641 918755761 64955645 404367567 257481889 579620405 9348231 165841389 734913525 75073476 593560666 386055594 735661898 367625781 272643727 828351813 795758271 753844783 552040054 764050694 779464600 368465925 704662284 853301741 788446106 654387177 341222461 276022973 521358640 781679046 132908650 707781280 700434806 197864294 964665198 810433046 630001050 974013428 976274434 217430927 901603255 422351451 603486520 489781504 789977232 876130247 318133316 438251854 482491381 722689721 54818900 261955980 91155646 759481183 115257720 732118103 266384711 308996533 8141075 640259703 90675578 141049724 200557334 643626736 191430369 165222532 454059781 821431419 991752311 282850567 38862345 745871918 705202017 494865216 235653421 347695600 223511814 406303089 785947454 706003195 128992809 840766353 820475526 72664806 452763887 788249598 804782908 571664950 97246130 812923983 211924652 40438059 806490058 412481985 684064794 850436779 430220868 138124575 524384549 421973179 273491493 415763245 20361448 831209861 910628460 256014868 31421813 986656626 662317956 817369266 545176172 643827117 510651970 365651697 716491922 815932208 6417646 521274830 387597157 103663775 186715164 452038160 144101834 845721573 864520145 828166627 696158351 147257364 818807553 73059251 569230542 944815397 488822495 589591989 776025258 251967307 698123209 807447070 238623932 212957516 477332687 783800103 856784632 840501008 1968151 573276554 656433215 8385797 947067735 896546724 112049571 133782898 348584883 108667756 832020822 65621379 789350735 380695525 212878743 460674639 453754775 634625636 405490036 942577270 76733977 34031645 194544576 774857185 693995066 285684859 987814700 23844104 69484961 844599332 864345111 923969463 270392237 373294677 932355259 69976323 269841400 896921182 56275572 470942635 858105289 888296393 536564013 647456023 268991917 601959107 108130662 722746692 236584743 366137049 517840313 313318719 252685045 712384888 88175903 946680110 998069746 928506954 970524213 920071058 625622637 834869323 696556872 896014873 60680351 481428483 965991195 330521751 230866016 22266766 801464385 88971304 763079511 190544749 588943679 32071427 792503856 549590692 607334470 881604950 915727740 125174782 47440020 20929136 690076021 135615922 967609245 540662118 916639227 938133457 313249527 542261864 625519131 9806399 290793088 686199481 343751233 109300635 869237583 574617248 984083752 523218319 663588551 747163262 713763068 105048581 631751041 358783275 654639272 91601862 92904576 422883363 69292996 140344595 443812498 611885368 128476868 411421742 5063838 45116094 202071550 318313364 439894309 680107032 180636114 730687397 218822865 524387346 692504383 88060447 99004593 676588134 611278766 615109496 276267748 177558185 720158076 760535140 388857811 227313700 852137001 481762386 650197062 773946348 622106980 94009560 385831716 750583847 357947653 390895553 795699940 560019203 561725268 88110601 92642586 742361382 818797997 311465450 119265079 363818731 399525897 70786024 40406864 863321014 538411871 169190963 40879198 111086298 929726102 282253360 338399997 634379455 764015745 988597059 260842154 386122724 82606618 646673869 136706570 293070622 890085773 784922861 853089824 451811041 873033461 945732410 46688774 544347809 109714211 18470204 908166539 509240107 89256227 801089755 225077472 627668097 822797069 118473021 738754395 605039523 400726380 77154391 91935329 164742124 918267801 352777482 403381199 853390770 999451351 392604120 146461392 742053475 30043333 852067567 46380867 903076793 650316328 93069640 299940954 760030539 111539844 60623844 121786997 53312422 714229950 346864469 680980519 537027019 465337489 272251265 142066541 866063869 201922007 86518221 30805992 120189808 439295702 286703543 826096929 291263404 679307662 972558320 33316879 709350994 677142239 79697745 464944139 327458566 25283737 764885092 87489104 136823580 678025287 61792453 190136001 392255237 408656921 723632871 781798607 873994409 995884135 776381499 740058277 50322494 862899719 623380621 23028653 302195420 910084163 849125581 593458824 441908176 674200253 479292054 151259170 203858843 558989798 616203308 531317408 584273534 233604751 471322864 573613465 911630037 533115316 763749466 156401625 941772236 339898688 938200231 668282996 188299175 567098081 260857625 238621668 429997799 884238245 114166672 584709571 646838759 963292252 30684746 88746934 490008856 509976799 92522455 693867698 68966596 561242114 77701458 505756482 794846864 401540673 79369946 558993253 934655988 695635763 567911229 728944575 35534451 358627812 249743922 76349977 925725892 510601546 314971644 208240043 247356142 429138315 792949613 894194900 244946918 823634358 835458186 587472126 333611156 780496992 133856175 255094103 341739106 211557632 613366936 989102321 613098304 545253234 400611925 400270643 93405348 968523154 981731569 128939798 327150965 231475491 57806126 105393208 742077036 372777769 313633250 989433178 654432435 106582862 736144429 899379353 930217219 424118966 339367830 116344726 57132310 473224004 223955181 398871415 684781636 837322116 240490087 150396291 382575349 641102012 403183286 475980697 609625165 384914854 457436846 789292481 468906696 515242972 894685688 63500084 740537092 208318938 52933261 394969527 167418151 641594041 146865231 97635370 918229359 486233060 66496447 975361668 959457063 290451627 226749434 496755050 127773743 467239520 499667693 362865443 108341531 902850978 691362491 570483047 140282183 1315689 359775527 609188879 516558660 106977567 672688962 109612103 315296504 578138574 504581629 482714654 72248966 503963211 432866375 990478324 990196270 351879174 965839991 802169685 642330800 45105776 151441086 622620894 512345296 651108778 838002689 620686826 406476107 529365179 43686225 546758290 530680867 403461751 155947168 899755878 510439317 828636129 9367981 678252172 259291054 366465961 13483178 331540019 870429172 446349552 322018343 713141793 798228725 140374685 367827829 293075877 185480461 519268915 768213122 697825756 22894044 606215810 171028933 429370151 988097341 214715157 976128440 371294559 470693260 984591959 271050437 981132576 665744439 132934769 511901100 925035492 499400729 525384277 256575510 369829900 971733828 431110204 82971693 622478905 571484889 303315873 768071133 609481701 822584787 536284254 159823808 697995183 995016416 330852740 127365333 983113756 398084249 956010124 206924666 868777508 793118434 477975102 702426435 458862872 610909870 214327534 236414715 110310599 739711810 492990224 332656850 563961990 924100428 268144894 38957246 348101668 571460767 807028378 957583368 246561905 195828983 117407175 944557087 43361750 300776266 924438771 26475505 698860514 732965246 85916523 420154373 378600031 563891624 122580808 837462902 27317846 189424693 73877616 990144796 929136503 419384192 175317997 345614844 196000971 443462891 237088441 396618990 867440009 44116818 206718709 114001913 92462152 176642235 911075352 135823902 477418500 688030474 14815758 28795366 273512072 100732280 448949738 652112102 517140256 424046897 342091356 544458101 613471590 268485323 387119248 395124444 540385866 562437244 740739287 736386836 5900134 977827727 133005825 725856494 874460896 192240885 692374759 819439399 368883119 455966462 955263300 846301619 143996935 822595410 727613336 270025358 923327689 29079425 774653812 292984296 453126322 116745167 837442396 66597911 237746841 77077995 461722354 778132707 639515239 54977992 367035894 497931724 885322070 352558071 223788218 612299317 544798955 916162976 431738715 913682074 224645789 239518367 612500044 221159075 62113776 192629731 491184433 837957816 221709155 118354596 130942112 674835476 87616114 820900859 741433386 325362954 897978854 55672091 956012012 390010444 110650082 175564258 887942167 848488503 528122328 111730384 460787819 925437634 880409711 745042886 691636059 105055499 984561252 156652454 178730926 899191379 349282184 669915358 589665546 570991339 788269953 573124009 245826814 875886066 246541220 839776552 53765371 997036425 895448642 9777383 387046868 858615076 37857992 127505386 559619930 565980319 91752122 20407749 343934304 972161832 617966986 35570363 929733683 455044589 192222816 108464608 206752319 541505000 630896317 796417864 112496338 271682621 222058225 210839503 85038 321115796 50616054 53850408 318152220 798581048 916144142 557715439 509712475 954002133 685220824 69332404 372498803 776972945 942256504 716433107 601651129 412739841 604519821 383901163 867784429 796742636 344882122 74536747 190763987 975778438 723470963 155776676 99977410 945529187 219132531 100062447 119161334 122264936 6429206 437313553 920845983 775089700 995028991 283074809 581608184 532766166 204923565 806623339 309739111 999696420 375572797 911390239 412436261 980092617 147807753 132737041 629351604 492689874 207273788 820115591 320984663 930744750 828408618 420962072 728790288 47541148 373540870 847951621 169806084 232486427 137781525 943168418 860092478 985326867 78759579 294217014 518093032 283683143 100840352 680348494 135895914 476413148 444255084 548332174 309022116 592062836 681069215 938373719 84752709 740859354 611005661 405737371 524120455 439414279 679215794 105427094 339471778 52756663 953378714 509277861 137759442 943676590 304962631 997851919 929003456 383722209 144585284 299612839 667405351 245425635 979961333 803301264 574355134 276732768 204149790 883377249 868795604 737735356 821750968 953548312 478594709 285272980 211802035 2715163 724687258 891017828 108142256 64159036 796290843 914037321 425953248 786566636 710230262 730915878 636934906 491750069 114638086 781520190 791362907 634559788 26945824 623840591 290377404 453817310 900573359 347043545 337194558 621885314 84778900 11461877 427949977 415889960 296734857 639752011 271121474 873938466 383286191 231780081 790613853 32093385 145817401 69083453 818660020 708564014 799999330 308111277 200314082 767153768 89631466 844193340 254229907 969093642 320550283 397123662 422910951 73639993 744167206 612621860 695525306 828946105 624083737 123475282 97352416 773334945 615743645 368473889 647273410 999029835 600253969 290403615 883639571 598587721 359487067 554815942 307151734 12002748 862927218 359982167 779156515 952558684 204175507 885902774 774168677 524725789 283026435 49595979 598365781 27193641 662217838 146407438 708656097 138817926 269882719 806008513 912152870 885626363 26998753 411942632 737172549 627252722 702346246 473328471 225840442 61833312 28144412 385508528 73836059 891071630 745490694 705508926 696146665 949666200 591411699 322831693 326908340 726954485 372427671 777790472 606664477 34645508 924197909 167836926 173463434 46596980 973845438 85616303 932223342 844190 350075286 521912243 480613263 52421531 995240713 706453705 114254842 875901477 91962232 40607253 619489458 689969277 746116178 168152474 492151829 190044228 490984166 819060168 916998712 863411836 449366992 376179541 898057343 373564900 544016466 924037128 420161879 370378255 862169783 204901573 223738796 212245068 579330167 704352059 117182951 427087231 263322115 83954144 302988707 207800698 124561396 922478164 897769974 723193925 90630637 389921802 913238152 434131154 61498322 682753216 297542989 510865313 58932756 48116684 736946564 455465573 972153811 9624795 825843827 686839945 214526367 49582622 899085013 793856533 753934680 16267963 73460115 17256794 100222106 376448822 77573843 77299854 151443337 975343817 800493778 94590326 217781970 566248282 528721479 279280291 101517849 678780820 642661955 12966956 726897503 379608519 468432528 551567665 389233313 146792706 90923962 456276031 196375327 990008974 102648915 802826359 858793288 176109029 672599504 811531745 552557850 750173347 741347950 556517539 725517163 394358080 651107864 943299132 960606361 32345694 75095775 914640561 711126513 717757729 927607516 290540367 949882599 248556395 694624384 191632263 395349100 785548345 647908293 444240778 628073670 750557207 247067136 339383309 926666236 919666640 3431405 331740437 522356338 744779355 888257975 100389852 139137434 391882190 43688983 952260146 424227884 971301109 866900706 987870748 541575190 647024573 130927467 491457788 748097319 825551850 683090051 143446418 611100194 183514695 440203547 91690215 934071902 687270683 431073523 860738137 459453674 434504927 44994925 981810011 179284281 933252900 82199862 170938066 325135089 978405196 123198211 601879324 802222657 842615268 589750072 343797846 342156192 720677538 687771985 90253510 398745739 223378387 86216279 9845932 406893082 526419826 101536146 340964983 66206860 385126020 54219471 378176885 819630946 99214395 212503247 998915227 32467294 147219460 22369644 210118735 125624655 145567855 811998058 780363663 988183122 254264481 124161508 182855666 827458370 664449845 273109175 226204108 887828231 211841806 88566391 294721312 738261631 42618888 488202646 656984842 427744907 542422116 35161726 99892205 494152863 247664972 98807431 379136508 394884431 121177074 589255242 373025437 119261280 253769652 5905452 959960754 360550484 130066959 142816419 188008854 647033155 268441945 266729313 534861386 480283750 355295704 682099049 71061732 250430943 170301695 728046573 678175850 565240162 763208298 778068054 59393024 863389621 729391836 438529532 110790403 703085261 880301125 483815840 674862893 134070776 489721291 634823646 347137612 472304601 630156416 535146465 119337756 898598360 801875777 506715493 378882110 9687832 41330893 449943841 260118775 211632587 30506766 790810976 776872749 793715063 421395381 688782124 509621036 3303568 127311655 620411438 706388828 860129132 104227277 233768072 846716259 446464919 868591717 193853870 771285872 351264484 581516686 743139979 249862844 235908815 102371823 481261305 245596646 143702715 931205145 358231772 355335302 961711910 149042747 984724402 607943325 570438127 673506525 117564360 573741694 653334532 590492149 132646874 365980015 547235778 366414945 212696273 993700696 87523014 259066495 617502919 438787497 840583180 360642897 541166692 76491994 463014719 22427996 174604992 606717434 806149493 532836763 814569087 620377754 681879510 799293488 80837430 104833988 325316364 50918141 531092034 831167247 641410290 663738907 197147261 188646067 882670203 262359886 34863114 970193216 521426380 652366033 261497065 362009559 865525281 802663756 291017905 181056352 677608104 465622896 787773785 483757596 998459658 454859223 104135349 532855519 106669062 37489131 637689507 431985425 88407271 21297892 115669024 729817560 685036798 312816284 918463626 420223352 575176169 805843092 242932920 96602548 310725476 504429984 311128459 176250756 159610091 602146363 357307107 837218194 67769258 997597243 173492141 918745267 452456465 130143842 451600786 559125526 167632972 941806644 843627303 256040242 963104535 959296326 985857802 500657684 124628961 756837779 920881035 699805130 415197222 163813954 648924029 725922697 520760289 812568839 902173453 680370380 267231553 111996911 370104925 187517162 109594154 396113418 106262429 414566970 526257259 410379566 826208848 546406582 352186209 669836150 802446823 167807095 481648827 640820976 668464778 606277787 250175107 589345812 158599268 665372328 605676118 807523297 243811377 126436406 472608487 145984829 659323137 739840040 110498091 29428062 927357201 72608596 278057831 33619629 339691918 804315089 296515546 165900765 203238022 648701754 688253266 5684844 816508848 169902092 499022172 337489977 776179878 601713630 926835789 934779146 119602309 385028258 594818794 363413685 511464663 67427280 361914865 23304152 659783671 472412956 52732213 587140872 397537903 183306395 473276852 737229820 987621483 769792398 903130584 43375856 271010503 443900201 49060699 940035703 613802292 400599222 277525679 242498522 2312851 56877819 29794019 121915160 441906076 477129164 337845196 805887091 397072795 699760061 829191242 56856466 24689368 734439806 496513689 422227270 917746200 969790540 159457090 757884034 592099289 915104025 801259889 715626144 359004226 702836939 655661846 825322869 103436161 785703876 67821390 958265363 842581695 950131760 932696874 137004122 427260923 123058422 942891212 824333718 822818482 624598805 733706535 847507849 359038610 230220223 269735118 129301161 52527114 281708559 887185194 497142755 196812584 688445082 212768898 408333161 243798373 720947095 233656029 199750885 506650970 153993771 10532599 201749016 104125530 943229473 191269490 383902805 66287894 134160701 60752874 741622727 611275858 794459408 589130575 970314467 877195982 711382044 99615628 929723095 993090603 839317173 279382201 42419538 380278607 492151098 450752698 624076979 65614544 684408726 823827863 572265514 690918848 834360461 626530881 647560730 630106285 817800370 31463534 548910530 804477423 944732759 290533256 415753280 591708518 732180182 238584098 468904499 443562226 190716077 251143945 289169180 30033250 530526146 331588717 262828208 875193595 782341414 886905186 940808139 319266491 710733048 365590004 10185339 397609860 992120884 657746068 27716145 809921254 541725953 576626674 466915028 338975063 719676282 882668307 930683580 451856463 973768756 252104430 747935040 17001185 503248374 37104219 47034434 886290871 368692935 162378993 761484466 3550700 49284178 554808956 322817191 612533577 920398959 333002529 10143436 912519842 843264948 37859580 574957447 237507252 467002606 41872474 576482314 39195239 777057132 507165893 491051701 603342240 759270322 91503093 620343424 115035047 128607311 519894209 1325918 349816598 682273201 615326735 353367297 731557378 22652042 676184487 196607306 943051000 9187015 206750741 708087193 704968314 97126673 135560992 942475565 416645630 29949817 518957878 455840868 807006949 878640122 946892568 262865540 490426795 38395660 883208963 605461842 19519323 403103171 459304111 369335920 85376371 927147197 722703216 669450100 949799238 251404055 866057405 892850237 113107421 925324497 453453781 818075735 22451169 589014772 760551299 291613150 618964589 132025529 747454017 278487889 10665650 546862937 541353428 353608797 437774948 424562390 959070638 457294270 680181912 270891100 679146541 618074634 50554648 254366109 140041085 353885 505770163 6098489 745720473 618877583 783939337 199174253 436953317 658906858 788189025 50020968 950520007 259669965 34562848 697974024 538157853 45228497 97353312 79511280 251353645 535128259 356590021 62940634 992422529 36771932 333831733 524085421 654846565 384386380 778451529 794887649 237256616 284221691 653502489 982977088 903099274 289958177 34667693 192568942 948865034 822856717 95106261 899385041 82526681 129669108 449875416 473200885 27413957 547228727 552712164 278767601 82356985 909302184 341708235 927295865 798590467 675539967 303897638 305953383 912442699 82349166 100841031 149699314 219087209 606859871 132676402 122186482 896818047 19860446 167271775 698199433 842717162 262378036 450100825 777760194 392047143 899976240 103477430 419461099 299721318 656189593 698228700 234594654 418008128 39936934 14406871 69114946 567993252 318304508 375068328 332952302 253170025 328425710 482651616 472257233 935285580 467844369 446960066 684619978 487704814 614231841 235335762 182938327 729126228 685436586 813214872 121173370 437929177 916692301 393150821 737650494 425398245 943895872 824761500 843406372 836349157 839168370 912521317 256858760 9989229 140105996 589811062 263159253 468531705 72462677 735416486 256333636 392823397 34892903 940953613 733044562 649124743 28805727 915982888 230767322 714242312 581714111 204457044 152171489 498406411 597607864 742338334 923804655 394020087 567099833 619727378 230369243 258784554 384765046 487228002 121290134 524871041 77039063 384449387 993402745 2018091 972382224 102252732 247357839 7275126 43206344 980402400 508916221 72012070 748901639 739683542 638770734 183132101 944140585 790942222 681538511 394264800 385796907 457859517 788284886 952896740 930103246 18654128 64197645 167384643 358398482 185487779 692255683 287953896 422453517 538174779 142488339 394835740 640427510 242362529 254627217 536150206 75281281 763543437 460678627 824182919 503226979 99449360 7315020 299883915 742907933 541369882 694148715 128704840 851745751 482433600 934117931 781848996 353604080 850831927 949233639 564518913 36319705 494005673 852472808 311289573 884696804 847477498 706125312 377640665 89840027 960752529 913790870 165121307 576812317 226985849 841820577 80039295 178951560 701651948 232439562 774375845 95538182 926588276 755597036 947283932 261538227 542231318 581649279 615142306 393063244 383399269 32177570 281899301 877404942 884650378 593188873 614618097 584644227 151830537 992258761 674484253 965099417 758565983 692121911 541911733 985551831 533942488 474467380 17019742 88110787 706906941 791395586 183648968 486011568 399508973 130932899 747549794 941740290 712582178 215208452 187319886 95981446 247386021 469219186 825902739 132036398 914924410 293037187 569196977 66754946 285295948 96197581 884370714 43861930 788319492 278798799 881930112 174778331 753266178 751466205 262889117 312689470 395378143 446538085 798701037 794887115 577470983 398767182 736627405 142569512 613975633 923947290 91067310 861361654 245682827 769486400 845914403 13123588 62523587 415111379 79878534 200335886 511308960 816765599 96714167 152144803 95564397 978644278 326923133 701346926 582626834 589812249 14036395 978004976 36350333 665253783 772892091 466337668 64020965 362035847 608907179 530512949 138499488 552490840 391874602 236698666 321977240 90305357 249822253 237017178 505416735 182217138 437353063 869242046 998982737 534067229 21386848 94547133 365227858 348309980 648410411 947854691 938122229 514963157 925859667 826988913 32733292 551268109 293326580 96754256 765820307 754750111 479783556 904319794 307240950 871658158 141018459 481734541 961963514 243357063 718751718 319896600 425574201 156104780 41654998 424556937 690172008 63041845 371620421 55399865 263868177 20030831 855770908 54506757 387510340 634146926 881495669 420243631 37931386 27338601 369514238 803751692 782088711 849297793 560587837 89329660 573472302 554122647 423580553 387952167 797479709 142332270 707848767 223053909 150953402 749503764 500127197 841125409 665061960 871747618 749041626 928930136 744294800 457328885 983436892 131805139 91475810 864932561 404565121 129407195 892271161 774079358 933158886 526876223 623377151 346263074 468722234 49365804 900385720 892302786 437317971 697865428 34635056 145166737 773435689 38104809 747186852 273562885 879230217 264765163 997826854 480788194 193695299 594638006 938117078 29648542 578959496 882109239 894581102 983524617 11516433 639368614 757603974 797191670 18761188 233497476 143454743 487483422 282863280 896356814 379786207 720181250 446738594 266937614 717864338 220174282 305042422 317567541 346253518 36788991 582332703 344080372 370093536 628544353 938718377 160726966 658192895 370194224 42836204 405290348 353718840 906868989 44658962 963839166 556577010 63420149 49852993 552548105 403419922 332716272 448904918 783206129 905413873 895643511 902660094 475794562 968334144 60218868 793362102 314587662 97007858 228211157 511184385 467101393 856755509 302419113 627828358 367464755 672613336 523180914 772755103 26332176 430049902 669930416 842687693 986626911 585866916 892540685 391691367 989286838 77773309 840596285 625009318 983187181 588756147 527669411 458981743 409606643 587888278 104860196 724194304 537412487 185587704 87895040 4513880 42343213 390314152 484858589 262324319 62927487 8039502 35079421 941776014 290605755 705009836 784463706 129749018 143393104 529520743 521440384 132679941 607294051 214553020 757689258 590481231 655825519 137875020 901979325 65432161 578279650 6839521 642142816 115692136 44943576 730037855 972722367 87286788 120352006 310097308 202127459 35795844 170653161 237206879 977571858 461258916 794733067 614551915 443524285 938126170 144072657 964964668 70806110 751366707 32034040 681011719 194364290 687859558 671403090 96343614 605808070 249682739 955699486 247950885 217891227 643062 977988739 190613593 940446201 950857096 500710900 142573659 986652939 671364061 232296890 964224796 985139328 27029956 431293063 428663612 817672477 575365719 246144631 740994938 179248778 130695022 274523008 226129419 818554579 945926097 174989384 276879000 48125188 130688870 524829884 266016414 983848283 355334974 456630006 776810835 158708421 809857258 771900846 145361360 333737670 856714087 962102507 318876997 736260394 393395569 600056960 553932870 821277640 846201590 147444159 526417 976896612 421967166 79172187 647967542 367893262 254161570 924846542 416018449 237366791 302192777 682034862 73731425 510044103 991181220 850542260 668752523 801038477 474959457 814113882 134776146 184189895 628732741 306169494 920450288 22128309 906226453 326899509 695922300 604944394 474343667 548965068 434357357 896310832 628137254 934841251 116720445 882298824 712204144 532738894 119665614 14396920 67290107 193397039 376957374 58471326 896455650 45709897 712026154 223931458 712340130 699318651 408121352 341072870 858004496 328571639 215717531 616747300 655471147 911639830 74208046 129814813 313121250 508565402 878641996 941258503 295923004 995362440 823557326 8127147 380617685 795739292 875040419 447907792 989136330 251997792 358895469 738108331 150224040 923437975 962039788 862564170 475272977 370161139 56153391 333277473 551249129 271870921 950024772 59236627 36027103 24232817 41567791 349148352 385314571 920209786 142923206 681237574 915572225 966480532 541881073 148706262 614736175 416921491 596614053 456388856 521435634 808025873 194497186 671659674 731463847 9053325 534223843 59253176 379214463 590377233 392530648 930463591 714764506 195071771 989700217 750791608 71820940 31268007 952456311 309651862 803994144 95379516 990889435 572082720 914376399 385286859 720788981 529112573 802208349 169919385 985501428 176160335 977945258 32514965 847820008 561925456 41568289 234560202 621178631 273299103 824937434 13709278 56279045 392218291 61297401 45979261 143009898 133118340 929763619 947982560 295286553 586274114 43362076 138692339 158356834 810254826 523979198 879145814 191883751 178703898 49065199 29901530 354864232 879526808 62416495 202684239 441452263 103984783 437244440 62630894 229800238 114698226 928856523 286079282 506916516 842670275 184574895 502442766 828304966 114338513 302941677 123591518 553128979 198820104 262283857 711485812 9074930 786263054 443147977 200958680 964966951 344729527 230860209 172347535 76772686 145793055 375031773 518224949 102294190 664792565 433372194 332094427 779490790 214745068 618173708 138923657 57415343 802748602 493882774 738236660 769603467 796824451 861828178 322732445 995644554 976628386 886734608 4719483 615407791 182398936 58194514 432891093 527128463 141571075 605238627 603901148 287364129 980270400 974642448 389658318 497579316 260530993 721752744 129586457 475276061 339926452 268510113 385207755 142675053 762392887 123444414 764794871 411733689 837788943 87527315 407378242 666933680 826778274 264614077 282341470 9177210 175324942 715232563 388822024 316896016 172987541 992723171 604260145 5774292 819881971 993918462 503353607 80412963 715671206 632940063 408205375 908114009 901450176 793413129 903305413 516359414 769373895 668100284 928093102 459679189 608143950 187987695 126612869 287438576 305118123 261470690 296615785 480443065 829219604 685437808 797339080 2207145 530677330 401599224 7981436 203075652 248034038 511335043 283488615 963705243 144275105 691693989 724335603 898241632 337623470 627641015 267117397 959513716 148257650 47726850 271709256 608917952 88230897 250838476 896356527 393349019 512309166 45488663 873792083 194045121 730926470 671131163 196252265 114120151 925246738 56750053 317195803 173280775 568085095 453200769 989502369 564876551 144894757 713837971 315634535 335034578 193995338 435268283 147064645 194769339 482995133 418773901 803687290 571226029 669612376 700043816 964575047 34437893 745532478 690883482 228483014 328975299 214530996 424735278 295611802 139777733 481485330 612807604 165574860 902086776 66008372 155077228 319479679 63419480 721431551 635114213 250970410 915426888 70382495 398035054 110196226 405893979 816808954 766399868 829636359 338937682 318960035 646727758 373375574 64492513 337611239 601858587 245984163 552142234 26593865 541595964 544436318 360595546 6919919 710011177 115198674 925444642 865088405 434678352 841380474 439036307 69792564 92350883 206979546 992691410 342902288 169692123 251101741 12227594 936091990 80738099 351165275 255052025 579982208 724540848 172060889 917593446 178915787 270561403 322252031 58026003 812157367 866688349 418621548 671593637 429215877 533820221 597038279 146820633 968498572 290935104 585856939 890807487 235802338 792836484 736015249 578704625 962528607 839633341 443448570 898620596 772887791 794613844 6188972 352869999 371671044 30766212 122979796 550586830 301327615 297748179 608612832 113484981 16952879 879750731 637594969 446168755 266087304 87149599 592989388 87102227 378084702 178846326 977909714 613887039 971682810 566441314 45108016 786727768 258591006 488556585 537864715 31478796 135686781 544053687 236865146 507357824 574819898 359844942 910461005 876147512 657593120 371590188 842148844 674545998 251340918 332260165 120714752 517428221 419409763 566220491 604530448 797494465 745066817 434956513 411381503 569265978 853914178 456489518 208510097 112505183 945046103 746374811 143983978 80732883 142944849 233365476 440607058 717764747 593210417 203584414 446428610 103319888 575174601 141093806 630382237 826515518 473353970 603613340 196460091 892763732 169833831 653506890 542774548 767416999 88463402 954156051 189199328 794893931 263161920 397709424 907399113 60724374 144084234 903899442 993973608 287029083 137264917 287097017 857310181 582991685 490681430 156255142 538827924 65856030 297348947 169210160 744887900 623219268 772823500 941347990 368499352 795173682 447371231 911273899 562590680 388350984 717946301 751790007 183244914 981108221 2015782 943160378 894348946 146100015 699576171 888322554 285645449 689357440 27935922 142955629 124865476 518617352 299210771 663693400 584473381 449076069 832903559 181877632 72295337 458243410 123225621 440794688 105933443 423113203 204584938 668524122 811464186 922531239 272830480 994709099 756155811 274846261 790385828 650504756 273462628 489961999 391343661 559108076 31835790 419279583 702063705 156701265 937896934 853790827 820394664 374886666 302866895 505814575 556764298 227678583 964057984 532506270 668473270 69991427 955619473 873058208 591031900 619600010 648105798 716378732 466825461 404261608 991224992 257211288 907282715 117203971 599689638 151142728 676312047 631525427 570422310 230892103 788226692 360835595 84682929 608621355 588238612 240066175 114435929 145002909 467744758 931010265 530025531 136218027 853518043 338161355 861792586 297066294 957761364 362414735 13445025 277103176 766676342 857186369 534314464 526475409 974390339 134004101 677618136 503218737 618045880 100556797 734110839 406272571 461392391 818793767 867410277 49631002 58859942 834362558 47150263 379121051 617889174 429692145 367855429 323923568 620369851 82164367 620989861 430647566 444579101 486951238 707750742 63771795 196653958 94581557 590247203 23560648 81102009 267865338 526779385 699147888 368422134 113406575 105420458 682330876 932200342 825347087 584478229 843576635 659709644 484144843 75214037 130115169 913836987 443069465 454038736 386723189 525233831 75028596 817370755 969812932 414496185 525121496 33584726 463666494 619703052 623831928 487227142 700805060 744213617 866522878 252469300 112635750 979929452 210406109 647482977 764646145 35753195 231961205 460739131 547979190 716106048 535953167 678094358 482459386 979022632 132133093 869182575 504256462 59678041 539069681 326585745 326690577 64191176 360170470 790357071 536410579 836518749 130100564 89731990 580732365 996623441 342201289 545884466 976552892 552607398 45883794 593715389 440876944 277844999 54454519 988856134 846467398 590407686 666950491 181443135 421946669 651599936 50625709 926203130 711277976 442211741 105305227 37968552 358919268 465475696 680841974 895329846 154510797 810942537 837578188 735243161 807565977 32295828 133643979 636635221 584903225 179527772 82866961 25780169 309889122 137321479 867152654 156356519 580245516 386619496 337799654 2192184 38219431 240941714 780911666 602013758 683153455 886216892 492498662 42072722 204208939 173340635 789918920 358719735 984283172 480013459 93962896 644365500 512309286 80123226 133517072 97212511 112167349 216384032 975509031 422056471 206221863 695178036 578412989 786467378 81797531 768728994 788659562 120016962 9670708 422087579 574547071 545340514 308304470 67045732 439929587 512513408 92902719 82364858 871233143 77185890 562378316 817712390 574067741 74687602 750351967 560101165 24416464 862519315 776485196 852441846 284575785 982707058 400136233 715505126 621690788 481933763 484234119 262866701 454467076 346421178 684954279 29014147 744278043 993258748 948576230 36723982 358288507 41478948 119088839 82038001 971181189 533983507 752266742 397765282 461187460 502618708 957866446 338120275 217654375 586867993 43078472 502230159 422091403 443214704 70251636 43782190 925148466 554485755 306648890 232131894 753423284 991603168 113662392 497701327 837378267 62238621 534425308 48183125 956233921 506030498 130221126 927415109 40014004 735004219 177696742 501201463 90139279 135563187 839321737 307793653 722431180 882400208 810023811 144522582 178131263 880275447 40821123 103279729 287277553 199986364 187927974 40700836 44105883 154106717 390918514 881484149 68861689 777860173 782183625 25095609 283890671 764921102 805027070 176421026 499925321 982723811 677622489 590064599 118286998 369460577 897858251 693234529 104377137 560398413 690273462 282508399 293190211 583610936 238304479 432984115 783597299 278748804 326201303 827703181 432855520 717119816 561703681 501717209 347496341 343887305 526812817 631387011 108808407 184356238 807808036 461250079 167080049 337946876 903831029 137883398 559923805 654205631 683634278 664300941 67120395 226424091 799325691 360310606 810035026 37630170 793294720 593632324 168895325 119496022 273851856 601750845 689132190 835555536 103468053 36628530 31959192 482797221 520531892 140767598 667153459 180856279 454534028 834233507 371319507 210881408 824633256 931243311 865087038 508267533 448060603 932207433 734691623 247386293 145034390 397243000 137532814 938329109 990875323 306428139 910341483 117243530 908178983 451990024 952799065 864163387 341134905 984758256 346960607 714183148 978042206 14114065 895039426 285092585 700863923 118875284 495973993 378013530 50118594 361061030 886281062 498179196 145784814 473489036 598081841 290819203 870732035 735614654 81664664 714123709 894559144 992006146 831367238 655254478 296512521 636682654 519417864 490163777 621440910 718894823 204346924 451999467 585525239 951902701 737092051 138905514 70777985 233066043 516919043 120896578 446643425 255716457 471592126 592428238 729205492 69673966 883247441 452453879 657804971 964912104 19093939 404880467 809434601 702977529 60134944 105947121 339660182 432069160 448627249 813617443 150963982 652974172 265616909 736489220 457393224 2708960 875394733 528171208 88291354 244830128 501584138 534934778 500546584 825692615 127363016 82268427 747882932 863126808 534722305 258204254 828038911 406332596 663084720 489989863 109310124 723219664 448453335 301486657 7805175 897080583 115104100 158769156 402571106 233237360 747774727 859964329 88462671 475685812 240651889 176754025 720515939 742236026 564205154 221062522 420444992 544084521 303330948 168327923 407211328 690569605 426532176 87766590 96902200 89616896 577756452 58728675 665352911 26209786 360215331 673158085 775806720 475319430 684443592 178377825 708556790 432218318 38342154 797019460 907904129 131510394 826289836 480936419 873746419 390494990 701998940 146707762 934579510 857846240 315035684 194307190 548415844 594084211 134590131 497834395 536217458 712346583 556563069 54086720 591072720 916778399 727244804 219395792 244614181 264204747 397773616 953170970 696423065 288632121 602706781 456843545 420142514 281512969 937779964 146405284 672007958 492295255 293113045 459103819 202657846 460665080 505927360 751073689 54749291 640517491 101424435 590966748 205380425 657987503 645053468 796453144 574765902 224814623 15848935 819380082 489019370 266138903 625067403 37958786 407287375 80290535 347318682 827429889 361803503 137614997 826351524 886327812 629910252 119464569 197947983 832568097 432646000 703875342 436158138 487395290 344392832 537582572 930878390 549773256 48086427 428448209 198742752 622852328 653262831 67108038 294748761 994798552 185763292 772332515 32757337 593050667 852623049 232592371 272996907 66942904 370207367 99348430 953270715 117618 71329350 3735049 685202067 503975350 707610391 973876556 843886991 52003222 363975479 774765380 454292830 412061905 55729940 505551933 34914232 708992771 572659970 182179344 556307674 758423262 954511858 441581363 203990280 659651259 674173733 476987186 579110514 44381099 576335615 384897580 897015069 500181317 388632629 434733487 4156666 96243019 408610042 700560008 762592 772585520 327841740 307571773 37163777 383571679 813123705 72078008 92564449 238300027 106773704 501388475 996723288 913801913 942969837 53229919 425969523 617143569 530217104 5080036 514041019 106552718 389977616 411056087 459250386 778610244 845789573 315923403 727369614 106915966 16483411 728132205 732017838 344325150 35703978 769181614 727896828 701344034 693775973 672977629 939644060 800549676 26882455 788883699 566867941 969852291 842113617 992837463 439512211 372330720 997917499 953553229 331399790 240411466 217125668 790650175 871538061 62915240 106573578 598907674 22347558 975573340 179556230 754365395 172414841 67776559 376063360 900311668 769120593 69839332 425805648 561281004 722905360 452688102 350164703 289773300 275056744 44794671 135127114 714568954 417125391 133044612 668122183 601041532 225972429 885247850 244208058 97510489 800679441 203297987 548934514 675543350 178871326 581007096 282425096 351286166 648783654 658488455 104114186 270420598 728327787 382436185 831701602 303749498 835124287 34382656 593522797 110181030 79177326 728649910 677266336 348819068 714210874 197904870 949860599 792699654 83152719 194068657 742726495 736348511 397366643 144177360 264408213 428754321 725184455 546833308 780040486 226484461 205321763 736671023 496905058 786165901 119107208 181123011 89915398 806747846 68022018 535954546 769445227 147199344 117120807 446711562 496018411 831331680 644616431 298395362 476547686 580285501 492464018 219274180 169150364 742347012 363451539 433558576 171101332 88635994 980391883 803658170 167636806 38229997 540329192 664541863 824395897 511952751 698181226 766827646 318700596 766203243 302782191 88145823 913402586 419902998 387373736 261937349 103751029 884506519 560332710 580298714 317308371 905313079 652089245 486458734 647660090 15540784 772533661 671277774 956693129 605441896 474935943 124329934 643671892 867781486 641388148 320584141 379734237 192085725 87411786 550951184 958288968 242710329 491613358 724207905 515129678 878987094 986145253 618880706 616009964 398994314 51695772 933318334 156823744 703785016 272293420 804483834 571842151 44827080 328277959 381051631 650268975 803213901 357897916 146457219 523511738 851802416 319557711 903245974 43888140 259485848 306713510 2177107 502196176 798326867 578901364 17325853 529830312 417562968 488722911 145840275 816557282 392935034 79158609 973381025 96720049 203968380 630381210 521078552 248795459 958659168 754646534 751580786 614389420 112544450 898038004 137901158 816863217 70112066 893663483 860751356 329597913 52893344 715444815 831794089 851220211 146862530 701636293 381050522 564425497 42875555 379407149 233499130 435810588 311082109 59396507 385046989 515050488 689777716 758641892 763845946 500953236 513288425 367943083 967859007 478349226 118497438 958276516 147728794 188609503 704456351 8480150 518207416 757349694 576441316 202517856 608569904 723303845 904154148 842136778 140245693 799546055 221543926 373744823 87872994 532626034 433141329 472919982 47676521 122919044 84078225 664038818 476388631 597366650 31981901 296763990 928232227 2995690 255040505 75961021 191605193 959496855 936957522 709812608 569362901 365915189 912330463 30449156 89219033 669000962 872585933 81981077 468547016 94129858 455725899 556420010 479272243 888867227 881856343 379465115 864302623 965934568 896020285 193207605 415817569 780518537 489971594 344049795 783514226 745012099 272527167 975119418 557025305 209484688 684932025 126388205 575399876 449778839 9353713 517135260 118779801 881939645 599116337 439843168 828585855 54842235 996263177 160374449 796225814 730635872 539839564 660528436 696570439 288376200 853736040 112388007 68894736 196223986 308954153 852408961 941236084 581481320 680044731 350777740 643482359 217493107 329682297 71398587 667271946 339036009 588533846 786051746 73492005 40166534 78411265 902077859 947525121 74674442 62452308 743750934 657826665 454808223 256795721 206913455 743184422 963048112 171817813 812079157 159272097 480771965 517004469 953024532 914769636 49565551 156318624 558251995 267058658 486000920 629650581 934330603 677553280 70700778 572898700 751045284 110867312 651309964 653123143 910908784 578500757 568091802 507176069 236327421 22900024 763971789 443240875 766084445 579536252 615058687 430679953 738808349 948347004 800200773 544349232 863116639 849766324 700667855 273884985 116824981 39185126 756051917 51155583 716738405 826752695 476570634 467783689 790136358 127880597 973423183 553561493 706381354 541514984 60737561 795225126 416931359 677225701 90982353 35532155 256761952 706041039 466212107 848086652 506904394 118929231 392435884 222537385 968695554 93103738 496422369 85520534 132288864 104990638 989192468 701543620 931743332 318279453 21843660 574396041 446160050 995266842 127957533 5057755 389298177 41211445 800282880 806229535 718437145 891265232 841761689 827715448 449822623 160490147 675802100 956727016 279419378 920754335 31780752 248114931 866374424 528203121 186151817 851179639 633193758 27860636 552723259 417453441 346140089 574566918 844365833 644816490 422350112 824839717 649874244 811648288 866051161 302673475 617877823 437004657 46455059 312155863 117236456 348794033 472646010 793038555 158037400 752065387 566309241 189818152 180317 432683665 718021272 38848485 136379655 203731381 66709121 689102913 473701173 265365561 116186183 318067005 910182050 538536294 142906721 412572645 202700933 861474233 567762471 820578755 150995241 614217529 132734618 268231696 963011561 457896979 913786603 121048961 209962365 480095843 163383464 62659033 765295859 881404735 101507518 901675514 937652467 20732990 443294778 411353639 138614902 559480960 581936995 901313303 950533605 577360067 166402299 153234538 291350651 734164769 826329644 442345891 200898650 811580613 563093938 16426562 269477591 476880540 137475522 331956307 809492735 153375337 394615340 574788593 34780071 348639209 328980458 824948889 221888550 772275236 88818879 213019803 184272547 670755873 114333105 134806152 248115939 280735403 140557041 539466589 14900171 966886684 834328831 68315172 778467297 397422769 84741734 900461239 726819660 74733607 232417546 536312394 228108944 479549237 963617339 115405366 828188445 292597796 940354255 902593346 64873031 29173133 115613148 101661930 699929006 82462604 236468081 800561296 363198006 377025121 192544237 230614528 196428156 26873067 298929700 974895452 276812187 383671433 727873043 3631847 458405039 960290588 392460592 686513982 292356176 356077930 801919348 120544620 501192078 594789954 875654317 418581460 623963086 991267464 520243389 176408443 73730067 756711469 976969739 289444424 986252941 22030327 372575303 182681097 48903393 671505002 10092900 325715580 907692786 737965942 181863778 218614177 550772881 574324369 905128158 843129056 930402299 559563857 816190027 284110728 6870162 544360695 702692187 630833248 388144510 222935576 659758042 314390928 832163396 489244132 603835351 818416337 511274458 976410654 853613785 560177851 500432007 863706684 738409782 260641145 454188978 920273559 479255321 857478210 494597927 236899830 553123618 277516577 796463687 221829996 561627304 803333848 766190691 116835843 286683447 154335200 339771418 946441489 468726128 24451165 288201972 925077830 842867501 799476430 754004835 548997637 212170632 106953194 265220673 950580413 367594338 719409650 870853971 846849658 429404211 217968249 83749487 982527828 348001178 732729525 204357824 909628481 388579725 970548514 26464323 675263171 977400065 218752092 474221011 298642544 243203257 762422983 223720374 938587109 414415764 977725208 487584746 626586395 84678401 752805418 577166807 304789090 324731419 300537129 151638747 754135629 371021729 87904586 589179809 719022906 820634110 793537632 481167739 209213834 616602497 360148413 736993357 446518913 578900505 63730719 745161457 674620113 826153701 968881830 613207221 93085816 799123389 953308318 719672210 736318142 558630087 149355368 41107231 883361505 449892496 45262330 490013486 820914225 133166915 79193294 392453482 953801024 725247277 873621220 15531210 194366125 233769633 752524566 640885037 665186489 816255284 238562845 339806601 494925337 59961026 805530173 588011152 859084415 758838491 160199714 447918908 169984929 309555081 341542490 53346434 759447577 239321171 395876271 432878153 372488085 327585916 825331634 178805461 905349544 551469206 46853022 99715668 785238838 799377587 593117056 302941678 468149222 831679901 642748278 815590910 891640926 300794802 256118414 603241692 59633292 416318127 903676951 82134573 725873207 97735793 135481006 337837135 337056963 383873628 770715287 709545048 563975895 448563273 740866860 469325438 32478 787719881 421557457 637787667 439613819 867190864 940729344 907763040 551387116 435993973 575870302 295544394 736788774 831988715 898786085 648938418 248306841 654979388 731072990 974180047 752715180 719070347 164533534 89772142 955460326 935248820 651833541 519436220 236328444 392700400 841278009 88877273 32936632 115351817 579181291 472550450 982542680 372426986 232829842 533929796 808420958 808700143 829474189 397726084 640688857 580776625 899180853 741512049 88272364 482770194 568208447 840987543 54356892 732741980 930759685 9817217 520507152 435109577 381769788 756835595 827809977 223047796 698229220 860746608 338399612 277410510 185813410 173458643 649837496 418643251 707388438 310774805 227343393 389378978 561017240 720548601 822671955 460198092 462060649 910944318 942968285 30269095 751931861 997325176 615527427 535207897 859658744 136034578 970317473 241428531 745386524 650643801 316992678 443615743 363906761 655392289 573542605 549720170 828850932 75896452 968363420 388755721 386671256 48223164 630651051 947688496 768771764 453323005 260402939 83348764 216783674 55887576 966134210 968715534 905729103 581661636 356439782 765387847 570212565 179273607 859332729 315599089 682433759 176325407 611731183 46340519 684234047 185273787 448577040 365601330 261170238 269456811 754357051 500357846 170196326 237524453 300562693 938968089 690847457 560965631 874833204 907631130 469369558 840967414 728863016 375098661 275145401 937819149 993002859 845357966 117092755 852335587 13473406 652042866 881177345 625204588 550899736 565411392 662994727 999476776 931012721 924164964 121449938 537886123 277039161 291646264 775410575 577601853 83130704 318774383 138567484 957963908 78921865 460453393 651447673 660301232 835552053 779109425 598120380 681071263 476983742 567729487 385923202 490457147 72288704 267100546 968178087 623188439 685028289 631172813 475181566 468557362 407854128 596631504 6443484 684893289 740794119 634370411 115011493 823924822 805661145 106095328 634405081 884583009 566548721 138369105 397400592 254617125 917478530 995520972 935688388 246978623 415766810 321611589 737435770 488055513 441228486 558130208 111243951 126256775 41819372 438941869 594814136 449673499 35573372 453773971 987083139 628883842 940660733 102094632 305325015 746321878 208189959 939730096 483421238 774738679 930615552 880821830 29355804 700610433 728859153 817560543 947589056 997142314 139172131 537541177 337714178 432916968 95671384 301474480 559173742 137490755 740416348 6504229 439680605 628506071 312794552 426763744 257389912 253455284 381374727 562714927 852293513 589564685 354961374 188231103 216819716 138093277 69052932 98691871 838703710 650428436 916252413 786292765 500087101 907940895 176350293 837801278 193374214 272021676 139275757 752547956 262028782 879692105 611568536 701709386 360714527 924363087 128473129 618104439 30334723 362364207 33335717 882628235 951928892 240813442 70859337 21264959 378906718 992428620 119956829 217610427 495373407 888725593 856419543 995460507 649182839 32769835 833261784 842557052 157307862 825053893 447621359 419336643 557262349 59189895 121046029 917976875 836069333 102035509 388597665 866404055 464399716 421933381 749032290 268844959 662746822 672407978 142626269 41653540 664836598 115099449 111780318 12726356 3825041 968199861 8186863 505524231 853486047 693964998 200597634 10793909 519018890 500735345 430130551 76281238 412441591 403692931 846774465 248510923 505728440 235372129 114914978 822644507 509821862 716463619 91489465 25085035 241387948 86632085 66738574 906224545 201731533 31035244 918950901 58072925 851751456 779654115 563597155 705237502 473619112 616711140 568547762 845154354 117446484 998678313 773951943 529888074 254887595 620726407 630915349 760616034 708614888 598346678 435776892 218436749 167326648 379782708 243521783 408714595 466414792 162776709 167455492 668146324 46328304 86406392 726219248 898079759 718576858 142332754 455833612 44712321 759043894 24381374 889866674 876490377 875576038 663818617 258894803 130463632 137061375 889810151 743596018 845676262 340673180 179372909 916629362 507999827 559155617 12667497 916714421 25570408 175444205 84169912 546233084 221772508 23092655 272452331 119852266 741669512 414785085 428202229 786381833 26345330 452583602 528764858 902835706 180675991 45099826 14246860 311139623 182161201 756573362 54735640 880353814 97246541 86624900 796983176 605246367 498296868 809650672 374477140 376383628 837611228 458647051 922616711 59383735 334256058 47585393 31752352 75925569 462370477 312470932 714823753 488715806 765054534 96104963 244067864 945730524 141204788 110831075 109386498 323365988 867404437 16638489 56236154 964650977 103263389 853219329 422413696 454076608 515386352 796890835 830460235 205513931 108054237 753076945 117414017 442310294 800662338 1682720 370752215 115549166 314153651 938092319 456781324 79208184 34197281 700849187 877455060 175402069 811680261 839357909 351284408 531601049 855996398 407520561 348768378 811776138 113256241 771182073 118369097 628642592 420589259 948829332 834156522 381159847 554422628 951570538 823470141 207601317 953253257 46738707 323150483 119923260 984831025 779931806 51647795 871544658 333297344 929102854 46946726 997493956 620977115 250747485 529095005 329489864 658268046 877863382 141266001 771524286 501561806 112151449 252683230 774667416 60980780 86839751 155827262 615403408 890926641 831813754 823004724 696696249 878552460 998671558 816619508 715899837 631119715 868267303 439960846 964417058 649886508 339423923 814427366 123379974 590171407 196038722 452869837 248439452 73902103 446652189 19963738 427980260 558803638 125163319 55164027 619784417 64519421 210991288 87704176 955446061 42805042 763225252 504658662 773873853 761896809 173794521 342290041 245532876 894578175 782250886 62466285 396981035 121674808 876893650 520361008 564362567 72932371 973230845 812802018 999350825 419883033 685282107 279847436 978686670 810445425 335011462 450987439 874964846 546002750 391207966 682927258 441324143 154433217 40102271 67714347 768846378 66413144 262520740 14379253 960991318 44771625 76845537 357972352 18962785 953739187 878333360 435841703 879187909 704080556 101160072 878538734 123963588 786442179 10902521 955166610 449403955 345913983 258670400 176885152 891916732 649878365 712328762 185757226 656827934 752431032 105987924 425674311 818844175 368508663 292569915 632351845 265796640 369415451 990324196 137275776 175670989 721173907 573117478 54858898 277770814 674277549 785913983 254250754 313236079 796816503 61933715 762640034 142730485 320604114 792041537 887163568 822998830 504370298 925437145 479826763 109317682 31425069 758017425 780678208 399933731 50587339 413030052 665730370 272519142 255870600 803006145 448190130 829560858 228639974 355565379 107331672 902917523 993995713 361582425 216153601 643328568 423516139 831309986 638575404 596636604 623351523 378255324 419635433 980238172 303692468 751978548 89555853 187633888 509995972 722750413 587567619 413099663 135780464 105814340 685618804 244167415 761336837 133808933 73728273 989976810 341890664 33576296 892894332 188402728 247675072 961564285 831731295 671191210 792874270 470306699 120344165 268742144 848562022 539979597 101496668 4770841 144474496 43568872 192404729 654470468 766319284 632488699 67570130 754616100 738303038 605705285 998783514 352156226 592030569 925028138 342133036 933921232 811120785 87543719 122323960 58795856 49108003 806571606 582503417 694498625 129394656 702847581 815757120 977956677 95343530 917253787 835243870 239818025 960822659 27648598 894288492 727141942 512653648 814374973 334274393 103473037 272596609 185574259 455629263 864627178 110602396 797762298 651064761 774239533 737822368 625905072 833035388 639446723 432476678 268055157 186461699 561871333 970902737 2218818 392344362 66246266 919472605 80104583 306064291 732811615 107753180 52869134 312469908 472923179 719760459 646744301 576396215 992357067 832318559 32025477 856984244 795437306 682304126 360565357 569676838 420126494 986470428 255228578 59573216 271463457 523283734 98551266 833334790 346702822 100770083 78195503 412949088 872759039 158300085 571529730 605570653 118569616 624398863 918040561 591492794 196675673 417301213 20405360 189032740 249619771 52430837 898533335 45057076 734734962 259098691 467250266 7377807 98085471 574995195 919467374 369548927 98278928 18018639 55400068 297498101 118788722 133595570 710447188 844064112 144412006 134493269 302151117 262981621 758892132 72708029 706990766 955567804 490009241 727396126 997116895 739629011 779826962 895650230 637202438 367078275 7265272 956969055 226972434 105350742 531964249 146439807 474899669 482759528 16974798 530299736 780257629 135763519 516411658 343221168 832343982 660823663 477714437 134495098 923805284 89122920 207203126 483312401 897207075 697212366 210708526 894323970 289357728 843051839 642490551 779076518 62646466 502272174 736045572 289618899 607622916 120526173 436058705 935038936 455802052 453033502 317855023 88576032 441313372 834266680 431797200 126173706 495090343 762027988 260668803 271411978 851150907 320388281 754724378 600874333 17600646 817949256 347714654 159474726 661001094 990205204 938551243 723647559 344993730 527113166 13266457 952616645 500155690 301841514 740171932 955957742 607391367 58026954 44533773 48704739 892293634 328847324 27394796 239900328 90875311 288063598 363828657 794542569 608451878 118553034 395416902 478568876 789018641 743131555 490559953 302536087 585853111 281627547 26183645 930846840 808740712 891966454 735979836 161412754 46324319 328668119 117370495 653715685 386695072 14420619 554936775 131505057 343267943 582331570 223921736 434143253 722911520 587750392 81202174 183879749 558819778 476619075 662448624 347838418 72266981 5524928 650374504 510636443 287152474 529074501 293999634 95893186 273557306 29979469 109822291 172397976 211163939 227192785 826113660 597859011 241613403 233566787 581880419 584881345 668414708 805802155 871540950 391326227 393552546 952743123 575205976 952372323 281878549 90170951 152727093 354145529 95695879 655617948 864781972 382848352 37208800 11297957 331257889 310766105 41277426 441080179 483164080 104957716 520789315 161794092 702816726 762402718 247877230 137213497 199800414 916291937 943015651 71341363 160134516 189084548 876600837 735340491 141456871 158479385 678027793 146700315 365141266 773723671 802318262 82439589 9088375 839527062 93737545 192862615 2809518 135014970 633942794 338489950 92489038 7248460 500284041 795305763 769651177 748161270 932519259 821967943 516969558 728051261 745825657 677104073 917135809 622426494 264960915 911109031 633422230 942988708 57809345 998563495 569228730 712643958 81003083 578317104 404687371 174740628 771179719 260013241 162271949 257638864 598503190 254760986 264887323 98787230 902583101 887054852 699464851 687618711 709022794 68950760 415669972 307364802 746054833 185322132 929791295 11015747 96431162 415729877 954004454 6756858 414293371 375749536 571917167 347812806 954066639 976604538 522553433 577762709 89134130 537341733 687917924 687637319 792102719 952805247 638940900 547202171 692376450 190922102 234820881 253915595 259872861 503007204 561280396 5927693 688329335 343588043 16943440 784760496 759317919 823464245 644033705 26127641 51730132 215950872 373940446 5796771 45071761 896493878 436075831 134205890 286351963 123993755 821843208 78454681 929315353 313300459 478173203 474208154 504222560 712994083 728123748 764095420 68517639 289404143 770023113 756846973 632992185 639482904 394123821 244826455 315463500 38157525 270954096 367193632 106624748 644894541 225506754 151696508 393904771 514098936 138418749 680256733 490609042 960261956 611227765 272440746 126078766 89400967 746648899 630301325 654911401 474772646 394396745 723429039 616693141 16936209 480276012 102201677 508935464 874399832 347028132 824398963 765073708 617982227 44108946 871698456 262876767 122132051 23394963 656781537 636230987 14330064 189554621 126840028 974592019 800782385 399280774 100670785 890183351 145929672 583488461 397611104 473218670 977885205 121040142 89911810 847337765 453832505 44629838 356273228 180748688 391657969 33188543 945822396 9640195 77297488 817520851 125033314 51945891 693432165 781814850 688176877 707762228 971369471 815016904 534870599 624668207 66814029 488057735 367367910 65260053 71546195 764979013 390995074 901947752 886019154 333423235 601801868 192368011 378053072 958075096 373116698 769711041 843779990 318939093 779351235 773593829 988976295 904384548 825539719 534924812 538715750 513716595 95203391 362601572 181249851 630073989 987269778 100580231 970648075 207154039 165840283 894710622 972133051 556835356 649174725 710668557 890258590 250976592 903036567 120828014 61568039 276153264 890539054 905348028 447608709 522406640 531458209 436585003 279307540 356997927 971509814 818023289 723230874 66713205 33141212 904480724 549303545 872927341 5060954 372467972 80081380 23417589 267178593 52214430 432769296 916353317 615399338 175544238 19846260 518435904 296372251 81414299 647105520 186911304 839278678 94714228 709317943 223253238 383815582 988625482 580251165 207841748 659165122 155998390 127071304 544822685 60479113 676374848 417750026 918056418 48842819 350347757 793990358 168537763 255078538 226759654 937407431 870477876 402303891 957253691 241430131 698676141 891184341 888535650 738103796 582979370 983249877 299938090 806232608 219581811 141079924 239000124 427423558 800245045 394998513 554494861 197584082 307993977 83386060 615334107 78566746 132228879 965681863 872557104 153282993 73276752 951833109 90690424 943754627 206653351 900460466 185184758 905329491 644161158 73720407 495949638 79656879 909486636 795887727 738405838 129068446 936967650 977405961 409008355 589729047 224920825 963503215 787313128 385431153 46889274 255163586 463997899 31634504 73361800 189071354 37433849 146638551 140904462 128124272 90393178 200074164 881101089 128094287 105403654 377778598 54331045 453869643 309951828 963817680 249757369 48357666 945402477 39241371 878279978 206927183 628970417 103200803 170430397 416283544 341148307 69836023 671447129 805146205 101470526 744808928 846733910 138904374 891447478 840154723 119544997 834357007 40228886 853162437 962451293 998148891 83457386 16782338 452018533 393409214 833116369 554292254 441766879 631035198 593533624 172563208 837962380 222504040 128280362 8392777 491303935 469428669 78228799 15267415 127091225 32215676 760076342 973825135 23636402 504040171 813979857 143181398 190913530 706725095 996343835 153364822 704873985 79801220 22663511 9408870 325726785 855779880 563701123 767493663 486815077 9751098 940056871 177293808 232255137 68337232 38202936 723559071 390282252 116431734 738826485 517373477 1163762 351419178 491198611 24800163 707975700 157694819 20497912 898889229 864419913 16841746 52254051 421810250 949159318 74917561 283735471 127402454 783213792 847436593 894896117 122545220 857187690 687469339 299839028 941959178 608322922 338041963 518034600 998605174 306990049 109377436 368495002 308153810 460796613 859693612 185470324 21288664 869904782 205968235 920177893 586841047 75326333 824948295 8651296 24485650 752382207 144903118 4404455 535595999 992339710 899300571 658141218 702043751 439286261 957980245 496519280 900125535 148538560 14553879 751247060 455528608 123931314 119742061 763682417 437244278 831952024 949152740 458532941 701856805 7637326 378710833 141214203 82963658 56175479 2381850 107449307 808557686 147284967 111853762 196670036 139624676 863670684 854811253 694184778 155473297 665307850 43220409 55598831 813846409 57774287 659362242 121891368 34221952 779104302 885573784 471466229 463572677 687242875 929999170 17945833 694880200 161226354 159160036 777843858 217401833 161541885 737809516 25959518 308826852 702179629 222629553 300967879 418366665 929957157 995152657 426356313 447781358 38373065 334471495 114144118 948663704 993833736 236035485 982885655 625454389 121609268 454351884 89027065 661368494 236867405 106972897 208765046 398093758 266132932 839125255 615495590 427674817 429451122 641455107 736501668 131630751 716601011 37469546 402513767 646558168 885138554 828870079 94339525 776027971 15857925 60999995 577208026 9691660 297035479 560093680 635146048 271161099 866961915 576689464 932529592 103829319 683662360 993810989 501923077 802311644 832936243 117418666 82502812 114903717 611390125 819004479 99050819 180507487 708990376 501564585 827065654 446645282 182951015 773921531 75189604 198808939 834921525 652397629 61016950 131957003 65007660 696162997 255634453 931969575 125368812 40680397 888315245 809031171 34491385 242754673 463859166 719943980 212689691 546361977 834847696 824079815 217882807 933898514 4587301 926873183 287979450 684169307 226034816 470930464 310607189 153740771 522255754 998045065 806138399 583272703 982518419 723662410 131952051 238152872 508148336 257320862 278833268 396463581 66352032 165841004 639218253 382727550 885784983 851907943 929089526 720632678 528504109 146972333 507047543 385607762 926361867 795026992 922293420 4913034 118473807 85416960 158653804 640729560 83462024 964792202 224002262 65980442 540970963 355954312 156649665 49119299 613275173 287999284 298099231 532143557 453840288 937317483 914871106 339625270 641741778 696476983 912774300 22762238 843449315 419821842 260886351 622327533 67365186 183179770 627240566 185838992 268596729 785894369 826568552 204575104 603202922 50570813 123071898 144173885 259041477 279721562 45809535 724833001 567720846 343908765 109492909 21561133 133742599 24364014 213702754 775484376 573357349 126477053 650762966 269323015 398815247 911649316 891650548 466180432 94829086 518891113 652019423 215942166 157301834 331104326 420517270 760504755 234191491 543589167 904678639 493232967 675827080 950488173 70582319 96064277 146913289 180075228 117625409 280655888 56955593 183844515 56140263 630312941 162837919 559419580 899635956 414169517 471068896 791286503 880349948 418414333 162693967 384885723 486872850 319995800 715990048 907390119 80500555 950181538 303495637 837695545 295930856 979322717 640700070 366513175 75386993 787613358 546588402 45528754 68269245 603543994 81889620 976925860 86373287 97243890 388861791 986009242 511413407 859930686 629812096 244279706 130861370 792506062 629165428 617734220 965018214 197671828 377640690 898035120 369717 533652679 588247016 148816925 365491747 81463437 515330099 293395091 869076795 914434852 191440196 789862391 370495197 273329815 619304602 456868483 370573705 8166393 442877724 881987111 720613430 72689819 126266816 703991152 717712233 607948596 174241723 535246798 658136775 551882412 433281917 658506491 85535090 21528932 807323415 303543188 102992369 175169865 596938279 824585515 89604716 788378474 466964257 312616265 61708289 938785211 769484747 284798345 799467955 64878823 19301807 372597736 137568641 998084974 76588887 707797225 458549921 250830609 95560374 116686695 655229373 528842290 627709538 593280814 402887574 287549304 896824002 358396294 462719169 493762280 35498160 404840236 134657105 354978768 717456500 48881745 293763978 339457599 333680089 93231932 404336421 205498247 318346020 394421413 203583221 394934906 102218638 662133141 498281867 50295363 631336188 153511239 579137653 259045725 746792052 834541578 546595028 496132405 45454223 861830548 989894684 80952382 119187136 124551789 435931149 836643635 25949885 582211479 28617585 359629974 527959762 432954005 565128220 846305781 827375418 621227792 93757039 782110407 135877285 592038905 832405769 767213472 745550143 264059773 26259196 344858546 98601350 425370575 840990951 144055572 139717475 683401986 77524305 258904610 660470126 513455454 95548244 686420011 95666932 124165829 898566336 476143045 409636185 316210907 322448826 237011602 937438699 416205864 19122008 73315983 8244768 704044129 840529454 606311262 968103901 719305001 803686159 66705251 997191927 497193461 63277174 136909401 33111799 140801479 395814010 693581924 506773284 343878606 232518286 454956567 320560786 131084621 931099611 730196970 299811880 106064788 819724924 237250578 522270651 691363283 163082912 383031770 395407411 3612365 841859383 216027664 575433717 645545542 135249266 425141995 142739002 198526439 562051396 28367152 191844269 810381757 721949076 698617552 6776714 806983713 153574118 327337499 790584686 84673729 910050821 90396565 43254868 729775744 180163494 565525519 273655378 343246405 801073640 669062789 199375121 642933023 885090452 774808837 140994916 20339717 52467183 136250269 71382507 614518578 164617421 263226776 277416687 739082848 961844327 284193400 546066560 967934797 611530899 189167597 905124877 374098071 279564161 948379744 103873814 459727654 366421614 230045543 802974058 167495254 899108331 2349178 662944628 636715134 629674366 803939543 509571202 682141549 792706163 433470061 149176478 957323583 696696836 426593164 548922782 511057514 710786564 94989342 331508662 174833814 136673290 236633538 548931884 416237451 37529634 505322049 728481456 403951247 735367591 383971866 571446500 486992274 238837395 86907479 976223759 868511761 890847021 338311313 403169661 536069536 771781373 404862490 345909470 320994560 831455654 894832252 832052073 394758569 842337945 16077087 422108734 979011234 252710624 971040617 247765036 290240257 328879017 976246492 694191504 916762959 360218357 118154355 256271584 599055751 205061834 232495343 320083863 948425206 570806655 575769875 484494741 195104379 980632365 830404211 516098938 664604370 577752814 200667362 59362938 420090758 216744448 333988023 251618343 469455072 157544991 499383379 612211680 486424007 475629870 158919535 255703317 688364578 277073890 511974901 139936680 334652075 744470243 460020543 283077280 167793249 35790417 620088373 362897627 868939133 303008935 878996564 533543502 880761748 79663925 445422791 153368857 148924725 779410813 404987199 618379796 936955803 904370577 83107827 275896161 232516798 242027362 531599478 920881375 519101251 43574378 60818055 853753325 640560972 373354949 989346956 660870572 261661717 609435328 23768198 130600850 912444262 755281113 516660703 645722361 687461389 962083494 799091217 836386113 594010658 204078416 307282260 383482813 108448992 390390087 511895325 193482142 632417448 43494802 114363516 4035050 939585531 27697922 710304726 432662854 401052870 699651681 93533425 662714587 161603361 969817974 793315436 926563974 577615438 162492490 572286335 117593179 124575983 223893903 806495643 571102993 427972318 113777903 807102157 388937662 356684341 318997481 582419803 841618140 215008635 549299670 845653189 7110517 576997592 408474266 292289723 978050461 108125946 238339499 640765047 122245658 60673825 286596834 48809632 638289262 449089324 473612318 608398792 426181658 697506220 414894435 849801002 977994890 381188689 656903158 219448903 590389381 828416991 801868705 432007520 43425625 203684726 130177060 903052493 780682317 538651325 195342215 758732778 499293622 433681714 252014176 474055632 494355538 391127362 375381615 985161151 840216685 848993932 593559943 118914694 399016503 860970729 968715696 229527744 94675769 478135205 448976646 685065149 159068547 103361702 117072668 55010523 307046428 99766079 958063016 87728744 490933755 5921582 698977873 990227376 439603295 950992049 316799359 786475184 194635762 692180973 771636335 34852446 393691256 217712629 6283491 792707759 78683357 827515538 22235502 25875477 158167095 323728500 710940625 317235641 427090201 680529644 372246164 734136628 780295722 330309179 821865372 123745828 336230760 373359596 113973203 628350407 176867996 283288914 414825590 371503757 975469886 38978276 258872554 369161142 109207256 265156045 14385252 40406964 92671582 889137105 66282440 103355028 212865604 777223064 420590669 639955805 457752707 792836832 226608784 90564780 123146010 48474155 214310607 311893121 274350103 180800162 940243527 451218098 464089075 207585469 822721855 292075312 99080096 81594408 661236453 208287352 199266804 528138056 248694315 144454738 417275161 314976755 247809765 482657116 92199818 668400433 122612920 402468877 461237264 201738056 493033656 436899625 102728562 559860615 601309098 377078664 740660776 394068976 828296762 57266202 601654444 651018616 349341513 700734540 585129375 863094318 909021891 784396179 391232373 10232557 928850916 661023885 325209311 176660680 143681001 417409129 845061113 118810272 819878005 158814728 320548327 165428012 448230705 423276889 725288626 49539802 800355552 318465753 443608777 481168665 228248306 897779573 132187280 577589819 451030464 569833007 293200488 212568706 354229185 684432860 222801262 135596452 197973097 548010573 312257131 341654097 965419701 9834595 312980720 637814057 21165675 633529047 655758420 469396379 909322287 233563398 518936180 562194190 552029150 815061308 43362855 780277456 712840880 28066486 210383626 16387695 597899492 503584113 228956400 804645028 40533324 451757662 940241479 238506420 999768234 105014962 432676868 817704286 114849556 745657588 308034694 136015230 231702986 963793113 605411608 141025272 197356510 976864139 703219461 601902012 791925447 599098667 234695819 357282678 627165153 445079444 373670373 77580996 801179908 602626772 882226024 841713231 54384433 674983854 932736003 906669018 779998815 365412870 724373303 894848371 111070457 32407996 883379952 195289794 848717461 341307912 336315065 46073970 318172050 892050878 500492333 962613848 491149544 735188151 172412878 970831048 32783946 546083250 48412044 833963853 1226373 783154419 528193436 908127158 310654624 460929438 814796175 90653439 678858659 391685830 838018161 642445468 276610177 721398112 837735261 125327637 62706023 26566678 23917959 233394425 918617555 376926643 48524624 262283450 112114794 220937501 233114498 144898739 767020750 134042893 978862592 620763475 769713663 359572379 528890632 80368286 820501816 196203158 23538076 351876826 440405339 861556236 994322293 717015516 435470700 832057554 694859504 350693074 858624231 571293814 584087498 629758137 948220457 632612122 892041586 912851602 853549622 125156083 57750340 473086724 111715327 889129283 93850198 881428989 101218013 475257181 814313627 921719828 523976690 837851702 126113006 964382029 699407938 120435298 533913896 134878637 805009203 81289751 338088062 516149785 652583565 922175560 145907921 453320373 407304033 37949507 218688326 113370006 15621941 128955017 438973081 979853620 18084300 385339630 713798960 119302312 860596810 528112586 893538492 237089852 218480640 19651497 201471880 917888577 992603146 735385775 905283565 797612349 816675525 95887978 166278485 321775441 18063537 312186406 627612165 277883921 202652264 846300490 243770279 70790556 975255507 682743359 50644175 845856158 68082989 616959487 817674821 781196150 145072072 563729664 18286001 216069063 435897512 72274232 133957639 428500658 807660006 891757555 78629358 476851883 987645533 244907842 651143675 858225421 409610599 278755840 988625694 612262862 125056329 232395972 535569770 952828187 915139330 438730296 798684344 835738670 55689782 468875517 616934820 53278206 32605180 487737172 269347268 468502692 560011404 255821259 749519701 220187761 95165 828149058 697039643 840257049 925573251 200699670 550998822 335183850 479455509 539624515 799963063 457028189 624536838 335532832 262372728 392192519 774263128 61057071 227931189 682469261 382448939 697382360 735747466 415054119 185119531 857611086 736073162 745130934 113432344 485592862 965318695 966043860 166258271 514874689 806300909 91831521 715574358 209816082 279531722 47546218 749440596 79494785 357090759 226493785 267543968 619463486 618686303 894323447 533036908 846617491 576792708 915485847 396516202 165056525 183056317 581635733 22667610 919129478 179283018 988616305 257238691 997118064 807176517 423496961 364509105 465993777 367844833 80083462 675809858 499892907 980146032 277766805 431904043 337236790 504260589 699448010 956700275 122946891 446287809 342253534 822080734 23080516 257739380 218596935 40653392 440795696 652749019 915837354 212441525 832032037 756970010 469680215 681666452 564146526 893177175 46175556 30140302 113538360 978775370 558466511 613431266 958921401 836233315 45335308 148674542 340493903 597299669 957891168 315957146 43587477 300144701 138037879 919184344 410400433 209151165 812354088 851196128 861900184 728191441 63637653 546448572 337677802 385834219 228115023 901824328 131527746 126806931 784480981 245066105 105582300 195463844 711013722 917020052 31697158 608865381 65694593 224707413 58681401 876102112 540664558 102268878 28763164 678702436 873969573 439163596 887853600 538840012 142876076 602270135 119547804 59030080 148718706 457225606 444864298 229350081 211566285 576392043 356157011 996047265 821458147 461739310 44027460 384988220 231275713 75724618 993853600 149486657 300432030 52535001 25588768 841096587 7320230 54351931 372315374 733806154 493515527 112685325 272646166 636391602 714955460 392193969 695421681 716190517 849419574 140285978 945540597 60985858 569194373 301697607 909549475 243168871 615953268 953576934 628157091 847228980 881817903 622010690 996715636 34766284 527062042 22304403 875862870 534382271 929172686 100694595 120704777 275204564 65896272 393350942 911596165 780851731 638061262 459534197 349558599 339997188 452336526 295099196 253499397 21530898 449313154 15565223 117216121 65266422 969142157 745373211 912495401 703476411 219900252 761727389 738242695 746962294 636548143 466621916 133860916 565720828 567316511 254565692 840925391 633212782 647916633 605037907 266580864 138494247 917088455 616139462 478491434 221941333 763755009 731990830 95988582 213068163 747556053 213204702 130850936 569214561 958577912 43346336 272690971 178478164 657590076 10933665 925440457 294138219 330071933 59301372 712375398 897388443 166383416 405817141 383117576 814300048 10855047 502214791 952794294 780459854 118354252 283802079 2401186 734625613 15792909 98389767 947693775 763348961 311594469 78544710 185079873 122688732 974407397 457770843 301166895 484513825 321220860 79123703 778652043 651292792 990941427 343543792 401197586 157324842 749360932 636831513 824141241 612732331 139046303 629451887 393192184 109916906 913253965 248109721 844542518 929046873 346499487 644752644 544912185 510610307 575813705 729992057 633299039 402737454 40279252 934465933 887251278 214016463 866105988 518419672 865309254 857047414 861963463 119023191 866888607 463840747 755854703 691029847 76573077 747417357 172998085 322281612 857334262 86252050 570391332 554393132 867815274 916890818 51662127 265243811 280017477 479992184 995235867 913316515 882729637 888031470 700298799 622497266 102047932 566404786 993433289 819873537 275968551 707913103 938896727 142857157 171753849 547267781 686403356 100843277 147201489 859401440 423124888 4535751 798169841 993516219 411445234 665985115 762923389 315623712 931228925 42940865 795615895 778981143 956257379 530861883 519528965 509072529 5875500 621576896 75477315 999308788 293966785 203962217 707221891 85379863 199335726 731492091 632647644 738255433 832335368 779849132 450173224 255460255 636901234 248343065 101492826 900862819 766844531 864416214 216486531 550589807 907357078 12102425 182087301 716130808 395480660 701616265 77719688 401356159 175709513 5713354 400664947 469676297 209675571 960403189 555056159 261527648 691895279 40220154 999783080 376746998 820069286 449956303 632207253 309486871 550815719 733700078 62866042 317660249 450632643 279352572 868250055 210506072 143971348 50337356 926636879 539452007 604469972 4356566 940808166 780179484 10069920 193989464 249855780 72261842 6909004 804911939 333789489 698804282 845132092 186088920 75551280 517717729 636045222 560274884 679720952 39377293 146491313 742586993 357037541 597123955 21939564 77803948 807630026 18427263 980657655 586783256 410395622 585127626 443656173 203720139 217823462 306242444 397709602 467679241 231020637 404618605 125107531 564810125 955939238 822755975 750899044 884006869 192990055 239460618 296798104 872711006 278837910 443289416 615297998 488391802 892929722 489753913 566195749 553076099 360697528 399369755 139859354 771093149 984497381 436031879 974813287 54837194 594790674 225039240 522516434 825811311 629657844 500140317 243137787 438113433 322896291 994036831 322120302 515886345 86013800 618918405 241113703 217368061 914724173 856411700 705759862 807653894 198681965 124471963 213246345 559379492 523841717 205622050 182988992 360855449 641653928 157802278 415692642 88960954 382841517 938209076 914772264 865015712 290865744 157910050 303129144 613762034 4463232 477765797 982164730 90477031 96684202 223278432 160361443 863924726 932206484 866121305 524094971 130888448 990593267 737341315 542784291 514434983 942963365 725773282 875290432 437133644 736091911 143499425 526094597 118933427 81708500 440866860 836465490 225090595 451293262 139594633 838852628 455756493 469876782 673533710 398749876 419077335 896812141 559111318 283002060 681534976 277748974 807097030 664939775 268342240 396954697 60240417 635293575 339918061 786013698 363100358 777051704 374621960 506599782 155662653 346071738 440824634 596529512 182537227 665915228 47822773 174648212 357284208 356095618 644524993 30817917 607361845 63602327 780146409 18989514 199120738 461681385 296738488 858734119 126621159 565080727 255688815 39377928 52890653 448123227 825391625 415991010 77691283 52529937 922590792 233353935 398601674 363415425 829883446 581138901 29330652 730222571 608303464 239131211 938834540 105344808 269949127 546196384 21463486 50095536 565185897 220584223 364293272 861924384 79318341 343430782 279521463 187523508 382808709 332412115 635646734 60716686 748403125 713338016 113246622 523510268 946691950 511848295 886925692 629091748 945503547 768772695 211830670 553807010 7903906 3181561 659151817 130369384 549377944 680615302 32981271 967080192 753715876 249790894 681520928 685550569 593221676 961042390 873074076 828546736 145970856 361237161 889263421 746890332 927091529 855026394 270400599 726299830 219391041 9842642 207907929 164894587 631131689 419738598 571217949 491551946 422920158 82886117 621921329 824814453 763501419 507418952 791894645 369733646 757209845 325931924 55284214 202947872 139490665 780874641 31494608 285461520 142111802 773274380 32351852 921719682 628300774 155268802 648019511 847691814 17627796 855927440 865102752 648759484 128182389 436320700 140311429 403618899 519206817 614749109 228433351 135224587 122168060 872844347 504958232 879377905 198776270 412758798 82325776 338266934 193633438 966336735 476244806 188261591 739611115 361113009 109981272 220428240 516381810 610517135 920636405 534009605 318960926 785739156 35285440 299659666 74576208 175596868 703278564 446299376 790345977 931711915 581523962 765030388 657072613 938998545 496924644 855848883 351757342 431766772 46632168 397907132 398103506 522876973 586168722 990230972 883989981 548666346 63175563 252888143 11699832 983811967 639414099 183177109 622067475 674699539 482836774 696643682 850296406 186115338 142943057 493158734 970343604 576983370 110705474 627416216 368498266 607630117 335781450 720255608 39396888 234929970 118162739 290016746 757806942 556847812 280247717 494313275 958030509 343423280 599717769 969730340 179751598 239131867 5423800 801819072 913831405 488260574 350979105 616644163 674375911 346438513 962319248 497235866 923421882 73024721 124652081 144436500 680654838 312949883 864692107 572568077 547879852 835371197 862584822 158203145 244735360 142832539 505032771 55282221 338772170 104750539 25012560 518523767 196398758 30436360 172859191 110230162 371213285 523838295 579390676 45589195 870276808 394226276 395341412 646215041 467250996 372509844 790651540 422185 685459726 507859998 572990262 85855929 195747546 288091435 96575426 440482906 283440325 601608196 495765126 622212494 706358735 373294037 993252613 902757492 256246748 166111803 865504005 627460032 689950097 297411033 525565578 412743256 691637308 920906989 58958297 11404655 145933185 849609836 11826840 831392910 209986186 437333453 769765191 405733731 725424887 866340616 846216636 8865212 467948811 194498113 483594057 26823897 420308502 329363021 782097740 676555249 495474823 500118097 156531633 37941272 797529129 534613562 450684527 341682788 308036903 362159175 205603794 453970087 64285363 69946985 137879348 274271548 507280437 907644538 680005278 85221676 773985153 378738266 946603239 94450316 573236378 282713647 121274212 993544879 612076668 755888304 522616480 107551490 256006400 531664464 998009113 906051880 66278025 301209992 100251019 374314927 663369166 305854812 828285013 727654528 375801797 966164361 1926075 883082233 726325250 681931353 820820260 352826755 60669618 767423498 447277070 486422347 50137145 421067633 332483578 514730164 29472288 707616409 474798005 285478687 239280872 472807118 44046918 158075248 774017109 144297936 532390175 289902626 450152748 213191539 17557154 825954544 31872251 19483228 561553128 758197501 553930932 382373388 111024255 467116901 2313237 410817676 806055600 904966733 684401660 138539177 419696896 713873948 698671937 894494901 999352634 937952808 219818370 43399552 96028055 846351830 40213839 480934581 136254455 490366586 546642472 6327960 316321129 578514722 25811188 877874257 189228574 432258471 112763996 152769180 751891724 115077232 416103207 557947323 872560317 100504867 549002851 144773564 814378814 100191139 39268464 666247799 38143946 111603185 562163702 986688352 957955014 602377541 320139285 946725821 92744126 866781756 953053780 261581607 297812829 831381319 991972215 339557755 116156142 104736210 492326934 868047865 72329793 908430141 278511539 797406461 861451359 827514389 942180025 528346524 927705527 833964840 47110674 818365824 945568025 609274376 657570527 756039390 64168268 830226163 555281562 9428745 549524270 508335342 123526703 847337099 192233012 115498917 39411205 308389153 72751478 531738138 176437017 997597623 292684630 454948555 795004083 6652340 134979295 589700459 534998863 915201173 423665299 582109537 586083348 221749675 43900264 96170227 830305416 108068531 926396389 385586978 117497275 475920659 746438671 93540330 175774109 938671682 209039246 215185313 247060835 134307076 599439802 276014203 131904698 892124432 730962758 779425132 898776771 718458404 369125591 286291986 633659577 645307241 868401522 72259276 867056915 912301785 168429502 549878682 20370315 94825891 935465659 990383941 423262901 534420681 83924270 599037009 473092363 145479868 666738673 572669549 279786943 266178474 848683751 264207992 10819257 432162860 43633123 762112380 150621264 265275065 48404365 636797192 910582305 916805886 709056467 630155571 681624022 877485969 180034253 554510688 972311859 968016263 397410980 248091111 502436944 333851602 847128119 828045658 479331469 366383143 400715206 611634763 632561616 101915308 875842754 495897225 534078168 919475876 258009604 684699431 37267293 158930320 174012974 947849597 75736205 883069440 578005168 609876578 760555408 610555772 164387265 585383618 578572034 561798244 833474728 933525329 895649845 533119198 761570986 227497665 899502340 14802543 839132427 384580308 116717851 567491532 880477532 650796018 339483760 991003487 188011800 376751052 149933806 362024773 324600648 78186362 97610564 755122167 688062939 858165972 365677938 704966555 296065941 796766324 119281150 982057021 730291652 14930995 367692570 344378990 94945011 119711262 211697884 786593790 504291569 328415734 354085321 237285452 831728103 693569080 80805290 19739902 70320131 230739095 234281026 247437131 161441808 331891590 2559297 849504746 42573913 220753587 406987652 191156205 17519910 526268801 173213225 600327913 393716147 540905795 797223254 488661158 660617056 8921138 127771299 17424976 189853223 481856619 107226779 21581326 27942051 188032068 893837579 950778533 418771162 128118605 50732015 580212969 312526546 53291312 282234066 207616810 126561250 689221717 398773014 996597511 68006869 571986239 449441775 461723016 965408385 246665029 950384173 478541792 108102518 78155471 495966767 297955740 412528441 603193545 319537065 292986843 791225612 65890996 243765376 62513125 46525952 294497390 495242445 359052497 200305053 777476510 566669306 179382654 319214578 965442319 175980164 387221446 389944909 625421939 848944461 207869645 724603319 651844985 686411436 832705836 582516807 34894554 130661575 847561600 638088098 302714992 140548442 281830061 368605987 236830169 196859537 415131938 531327559 692101981 774184434 584148963 322094842 193370091 763531617 641309419 11328761 939511780 881047217 253790022 417450070 582508029 461659666 142053388 86869366 148071102 827275575 669386172 182965655 957937150 369464123 673570105 113168493 510012565 955400165 481774479 746842733 4776054 896906416 130686643 696878034 523607201 714835606 18972876 716977291 330883574 512798646 580822403 122911705 393845862 834612424 540361775 976353891 296272090 534931514 63223256 296859543 214723441 585125779 479825197 25176942 954589902 5911653 138345434 317118818 961311818 620119912 916477902 966087871 517026327 47164545 515482256 40633527 614516502 534455131 610127169 945400075 47253777 43465923 68311779 293615990 878078347 461189905 122486232 26866788 848637771 38225839 323726330 63361211 475867970 803551526 88538152 282974223 809463179 226883585 600093040 623291348 847003496 369087293 441895570 216546174 268768189 957377825 109696052 883284690 344349308 572339572 681201116 244119436 615805494 602029247 390251777 493883840 915735503 512738009 520750627 764373273 403480199 844476956 680250835 879348168 500544834 768788986 162322390 162524364 848188922 614931781 638332063 547708769 984019074 80227632 764254942 252787262 890121808 726467345 988588304 86987467 298806916 522305771 183623254 914612410 124335017 573875031 261012601 892586872 86613039 634279580 509476496 342609589 331272887 189727331 221957757 831817720 811032668 236796498 846858435 659221590 851728279 485190497 59446710 835747352 417934480 823701652 941050965 160572640 402685348 929639268 100076458 701492264 304461391 283699712 468621025 281312759 857574742 582149977 173899630 796704132 216429556 683376126 139313720 547702443 725619808 213787828 232036514 536652475 450584326 78894949 48390416 302312604 416601797 107837126 990576307 687052629 784055129 931627271 847625268 186740476 713782891 947701725 740749091 18244281 83917788 61886467 152073391 941492529 644036444 325973021 738196660 860465999 861865498 730026732 260684793 587485305 943814559 345237659 976654131 394398884 276648959 25044547 549227839 693250755 985398024 539804145 232819735 769453152 323947768 80445002 808709979 890247010 880663079 549459070 761007642 964580866 611345536 913081032 758589747 107898331 91570404 349302758 968364330 953435901 79329489 81565474 393437557 23144048 426803132 370091688 270059283 703452090 247652586 819287122 249219197 85566961 211607618 482038931 855020112 388071737 415000285 516246442 278318746 148179715 65705511 39326387 965276932 529567399 804923771 723866678 637465729 896494174 73169436 458346410 849930075 5015276 392428236 95883983 880675675 819231367 465975670 3251310 375199809 566144607 822538431 476935357 651711567 886662400 958974287 359248030 274734137 226490923 875494472 405569234 227186989 793716334 297411973 192463921 175800084 102335743 768846950 813265813 998829916 694532737 124128574 701276342 699548013 516556809 797160325 432740039 188304528 115652346 435991348 416020688 681796953 111046130 892956044 186024871 997708530 704446682 545272901 124959018 930937605 420767372 530528251 10640945 67000057 827940223 203104865 242800141 930275965 971951815 56065953 781622233 519000903 32710878 335414926 71065267 401784039 985091602 503805306 590088566 100743948 939796653 6109253 635057252 50842783 751581648 821082122 48551312 456028329 218871374 26026681 239482285 639638745 556554931 250123230 706638802 384495154 305744446 949438942 167287470 130212612 858021246 801426054 649213515 743248475 136840980 720278781 145032513 974448933 224084086 587637430 927709232 16397091 446263034 415282835 67239873 197844681 88881309 968307536 506389362 307752682 994334216 745871646 947391427 550889146 848511227 506546580 787900651 154255673 308501873 955188121 284468284 19039470 609130526 933681798 762287944 598487857 506476931 759836809 572936790 730561016 347474238 353162373 746958106 793737272 768445208 666714330 844098304 857326516 635021865 350487665 165079197 481872432 948875663 964986975 32761578 797386889 324049906 673178580 804158913 632551778 480883052 88627197 504107599 90013578 874825346 118911895 688501434 233818628 878748703 113954575 964379644 78739292 467116948 563854101 872476563 88078507 83084783 569091219 945405022 718106647 919578883 110484218 52495431 720970897 927987545 85257008 370874138 252037450 610951939 175033050 737105580 91834991 116176598 241213178 34364920 843518296 360125072 722866353 77336923 91390126 689337280 894232918 170129418 8970579 310603371 42605980 97049085 393688153 464213550 42454106 111794799 236308785 5454675 16806581 957279681 933442219 102063588 328153818 37996021 565531879 355703220 775101600 657366869 471879817 868831129 691731788 167914464 81472553 267114492 245251387 172862678 956451771 139484304 342992095 965422349 302604026 238114427 62471433 696292178 702327976 957441890 660603329 938636760 962896565 677409909 895916441 748855135 631989849 76586610 639367507 197521727 432289829 266985458 707404947 756685998 135816587 251653086 924600461 217289139 518767577 22368199 390151816 327735700 14368855 733143911 145674400 316972880 971258337 60662185 13265058 526102664 18104074 673868386 464739424 833516990 203794646 213172216 434888477 835784494 142275177 74255983 33306220 574565006 193757793 593227518 183767355 329574379 844880603 108367815 399379869 216164532 130736014 789531684 543900231 145104868 375191946 542090982 462077747 198966634 602753166 327859156 725069298 473373592 1727541 42325073 159406933 58038539 108013640 446811761 893823032 250288816 373584096 779645604 824853821 567341888 372873121 8621175 896916266 70270076 969505342 148812486 286434607 100241355 938344169 830334837 97862574 166052467 224942170 412456672 217535452 827695336 740315828 942604749 153585279 594559720 837446173 165508563 652598258 945459812 612320324 546421290 195748628 985904419 178583245 873118800 553246306 551456365 734256327 302678923 621726440 703761668 451491408 908161046 656519374 242351928 591012234 606898299 260920746 815954404 19354970 478456198 496166091 759670797 273577298 502267721 206746869 111023471 667776283 859345126 56483282 280096606 258282767 104748261 118517376 436866011 977867061 671763681 988322376 564639739 826958955 462565167 120917758 130966714 223242565 777437131 373318642 666771150 236851781 634239387 335241905 256206750 112695584 831407995 868393899 238789234 186192067 75140767 349812704 853968350 934485892 258812337 134064955 45285011 216076950 105098683 482151021 46460362 776862363 322989748 611100100 456337670 785554915 732017857 587304383 861313831 361971339 960623024 528084980 598823119 447378763 863326885 855029868 412590698 547251231 575940118 651379931 733443298 651080884 853708986 439927999 438083128 112521323 426509305 483368138 181114624 531607987 965519158 227574985 160986702 141025258 838675084 617324371 926580172 570692940 204628753 640410354 932664278 17768129 21011685 384003748 317663243 884338569 91549967 730253940 284106152 667490085 234150223 870065801 171087320 87859208 309993799 609170447 52896882 736503103 945054936 86527857 120627442 763090446 314102841 281614143 904115703 152777924 898938513 683212226 575987215 103567265 323622579 361167844 973851745 344634263 745171591 291514987 81489184 836721558 874285279 218111687 504211642 108435501 88177487 675298961 48811060 250687637 136985760 954224294 987190739 82040695 40752150 107818180 697647492 207371343 241948674 601763194 360149266 140887186 137491771 936136481 96970803 461114349 149820676 70822547 658264964 894992267 214853886 739754147 731713824 89139164 957865833 88441817 50091016 898559671 616257129 951418427 149247307 753242888 758159072 988954397 687799935 651427574 949288929 237963778 858798916 191237602 839726972 71464533 184641140 977218742 860117365 281611942 290849443 9938041 204950840 949114406 904930307 272321077 541384904 489160482 213976592 351767088 430118650 116583959 102843110 46375778 68002386 252090416 652135018 678677809 93561164 192451304 182621734 42850092 430415081 893937001 86604046 122658404 965401534 271245185 99877146 678035250 552857126 243242940 687973290 610324317 44873697 445419948 882645394 438774952 787096781 96621985 790542039 217215430 213205944 893385148 116107560 133724681 997991915 768242577 664918841 91553078 960693880 847540575 134403170 391108960 593993927 73523567 513767364 411911812 344768751 466160861 89947062 897625876 561920152 630436703 360466544 606793848 75856651 243111937 45568799 715469783 192250274 688627189 932685213 405456217 434528688 48792772 391697249 285036954 669551700 56616089 376590031 630245579 756673015 363509552 873870890 350666942 437033118 240154605 762578753 781801868 706315465 705042166 531944095 120751968 335478869 892410639 727545815 263851871 988038927 625630965 979321653 180289200 166774505 764523217 438261768 453819544 665832340 829959016 738856497 187900391 886575105 115446528 818145969 495764471 331472431 544533211 846431412 621021901 784687815 461526517 255340120 343519632 19085034 787284215 464271599 354563902 532211205 44333766 470932124 372766483 669964730 302770129 553055683 689255587 67293345 991317450 143075130 585642037 673792818 881931627 773542427 412884274 849894506 444204748 908648744 33883288 988737958 607596508 654905188 625942124 69123024 910245308 969461755 88208057 550045874 433733354 295288311 934773430 478067119 766220434 307539912 548200 68990562 713111946 689803786 988800259 556945748 685395268 426958647 230738565 419843246 53017425 643622838 122254103 349738524 404787933 156137390 190992833 12384440 663558930 816934957 934023815 426320589 786396711 874748224 976366462 72646416 22552886 763656243 403229886 788773319 71196154 403778086 710280233 636824452 946098223 551596843 193770199 631493490 831071841 277025115 51336735 884089265 920647952 26107189 86344141 177952236 182244579 277336973 190336676 845803508 94271929 124360490 124640448 733184992 851625065 101006909 805831407 874177950 717179503 61577645 515467621 640892008 465355730 78264205 277716459 263970304 629861047 324003009 895463794 313449239 601028123 799316880 50054855 374192426 825424069 136398995 552144662 860184999 413735968 742481337 558504858 508007896 719358178 683145305 93709239 423499595 636668565 899540646 297677544 353848067 961118290 813145164 994740074 278990371 891409368 124972885 542960674 373786766 448975893 290940819 687236004 50004016 942774051 737290859 276712793 620714471 873689853 828857454 480899469 139942172 423855142 39404326 647950068 143213320 575065982 741659306 419229266 211734546 493716303 716906809 418098964 307350944 382568325 265355389 438857666 126494044 390328273 981818340 352797162 691820518 125275510 40033165 594340885 68049560 629840375 871053677 541280382 356046580 699911131 22179850 495988751 123766272 914100527 996455170 119495943 341682860 590630828 391241560 553417405 84347130 108148369 971516368 244214426 343233045 89388109 683072091 322243440 479716381 517406782 675040601 24053250 495198644 567590118 618394134 415764555 49946844 489447811 957044937 405993423 41875293 831741138 754498526 18157916 598358017 750953695 990170211 940040876 194100874 381411770 345974633 130964356 342076490 170007352 375178781 537825886 259395460 910767223 860069326 739111841 280690357 535109926 763165090 775889000 102700043 234075576 191653554 5163239 723523386 1214842 411156661 617915030 832955980 18171538 636072945 431313996 769125233 478759507 223871223 963226106 860171277 569845855 94190461 54764118 739853207 321885593 592590004 999248666 85169168 305175681 590876858 365859524 840285606 206558300 141748523 795502001 440633875 185918428 800665239 16673612 187133270 64338251 634588641 20089249 82509789 123177937 303919596 704151373 601937444 527790818 519893830 314625072 97636673 466600643 369389189 837489879 788486235 814495544 689254896 873655402 119671224 280131754 92031277 812473182 486690053 233779799 460491534 927323927 419698227 113673124 943997538 606831496 178011374 431102530 479437096 113037514 554280466 783356691 817188886 156217909 311147508 337082716 470842980 261300532 803683358 692748521 98790410 444685944 507244064 640561658 170857698 479431640 920693411 262888974 291904821 259899815 349185125 752396354 39740093 768883351 866069477 836253982 228231198 896597202 267356511 707668293 9634716 821636976 343541335 826823601 830371237 654688842 16422668 153730568 915989374 672622377 846479088 867296135 117308321 206239504 360374144 140682370 685671143 133583906 256087695 977575963 393483720 605272819 582488668 285740164 226672521 301074496 121994145 454903718 50188049 241867007 15088362 59822764 63503983 358629696 739162717 746391571 865834890 755585384 900122138 634340615 280724113 746601226 354153101 250548785 952840729 714527245 391231154 491028223 848111150 647318848 321120537 94111222 105108019 903609204 379851385 331780539 57200051 501845530 786684257 107388099 743712536 654288970 19727215 659732870 12918666 758889931 258640792 731269907 366991666 158762930 365610521 647715778 757880507 719763621 898264562 563237587 286807217 142012067 54265809 134918367 789330915 375386345 229029588 894438933 131511900 608880972 78735823 41228302 963242853 865420079 148616400 559471741 372225401 168343614 71720962 237660418 927233544 330361754 968930324 146741562 489124683 187057196 794457339 99521541 906820816 692721901 662759127 46144385 834733967 717024935 181062751 476581233 944927631 262608690 223536517 76439530 871489661 302272340 117667831 687248866 20208770 118800582 246720606 392434170 139660548 318441567 630094587 66894091 648803320 451541262 66152004 990444354 638598457 860609343 89965894 397935625 405847595 752725020 444080009 93097913 322266306 625142759 569679146 119710288 887751448 645732014 48666169 611757460 948004353 18850351 151522677 820729475 137650933 398243282 65679996 277311480 569201201 695774583 196721922 70520872 147315844 262873926 60965226 638430653 123483268 3447471 36366277 381847214 756172491 480446285 474945126 930955148 958105395 44624271 50665436 698373194 542872637 99331604 162647005 343393341 118181955 314169682 164122815 108349239 712412963 229802811 385660718 134130515 778093745 434898991 204651387 777925940 697772916 265616612 416356592 673772535 269064082 305239220 55619748 877752924 785685504 383081226 808708072 596307250 280221848 711889859 294680443 823094484 811221462 457327448 166487825 781919768 771497129 183126991 890269006 336426443 412929801 128446075 470556958 43539897 563345066 675208344 821465837 113634333 793341307 90338780 787406868 62405388 395578000 695542967 792674664 33779855 78624192 453899087 630087105 211362392 165788945 924767547 34456875 829526758 234611346 53461051 611446526 858624826 236588042 354231883 47567621 649517842 482677958 518124578 693057739 46023023 45849273 367039927 159657355 839190579 457378706 799580574 754112318 852956705 347639893 399303333 886736560 278780436 853202419 516823664 490142827 18991363 294107562 524599702 701034473 381235260 578060752 164997350 239860085 814648793 519229232 287427705 316682987 1907189 658068634 862257077 47930211 703917906 229297003 60103918 395624836 686675708 859684491 2253506 392148765 59840735 401556838 278885324 338621171 107275609 648225339 828763997 126266971 942332900 205880050 679817795 176084511 783940802 844815144 415944596 451105946 364044376 555888652 620305284 218467916 213957286 482562360 118914479 770391543 564375714 179018396 18532731 103567774 891219238 20786236 495716538 951059973 274859425 774601861 289681143 382135033 275343551 118445139 360918356 70192802 176841541 40736150 246277313 960782342 885551294 662221908 264404639 102112021 70626911 884709923 320579936 284584196 219788634 439494414 54975739 784164348 471029161 73508469 887732121 362248399 946811056 235965010 165824723 221670480 10566870 455505865 603805513 138426772 426467355 964723868 208619573 603308895 857976369 454896885 416607588 596044014 117118792 533528579 698156034 40262055 270754853 871252322 324846250 490543486 163263087 232338340 127224185 634292248 158363160 867472657 996540646 105174215 103437666 14881720 179361047 966520887 470387584 635682911 104947658 749371290 452923130 313567231 205196537 310899498 768464115 621804124 906943512 738099259 7849054 457615897 778361313 278603906 181384570 955723914 769147392 344647657 40578606 748887928 978939904 198941765 616360585 827996901 156632332 572314602 842878620 188509730 538835489 165782555 824192640 496299498 915153844 277115769 809866728 120350380 440531618 430847195 594670856 199991481 21462805 602519909 657607378 652340469 881123815 838991947 608064382 502787558 36155955 648642987 251675485 15095858 700101104 720552421 843092758 856733435 292867023 538487729 45243164 684218863 704270283 721952155 180518360 619424127 999067923 842901440 592290858 292115892 126264986 186961713 492107373 147727790 789481622 2231102 800068258 523121788 841223048 260648991 25909345 877379003 761808330 130101181 744991212 461909433 850653602 440600322 171159219 143520624 979088050 68918734 680255838 683358333 790870888 860774197 155298811 642455162 556191988 747589668 934571053 682456973 787067733 279194777 830184762 429065706 281425878 482769371 952187493 122648926 595934714 978096837 852544280 357743043 108198017 450051843 672168827 811367970 890652164 843328045 807404945 869740214 764763130 487660782 405614898 408150369 200951331 413430060 50605530 757143318 13536079 837692934 292116643 800603811 116887711 122301404 229669516 250829940 457587127 34373360 225995217 53521840 12470196 78539496 263781234 973184565 381107691 935950060 637068886 271759854 631794456 444473831 994016419 249073937 784650964 252147668 657224305 985602294 665577727 560346186 595261964 679113806 250555471 887378606 479717616 219959533 862196361 561903484 470789473 172299839 596276843 696784689 78338030 461263391 627840537 194635615 286964307 8948227 130585674 924033192 133224432 614896481 221023374 127240851 863970417 5674338 379388518 373711073 843792983 44966245 934057258 291571298 576596402 184612729 31466255 56314017 404572261 893662616 470733852 875361733 918478806 67010695 424662774 996816836 528274085 52503310 43968802 815238391 61451536 27070828 591787934 47192319 641967308 812811308 174433169 358454077 818485645 406338039 732165149 514794979 303820635 518738759 806366277 880417036 703351487 837832531 789247404 960440099 584011498 259981256 688318184 502490304 179508302 112980957 351823491 707782386 18000618 395792292 375537128 79452153 422863119 967325061 126644471 917346779 632652720 153593992 128317207 303654716 559932030 860482355 818449695 863752664 231737465 624815971 596686051 935088951 315164853 385933454 748045402 899176351 498431061 436363585 254183006 677939362 401860893 606006496 238238099 419861510 854315139 613775226 351830014 129694610 433616639 330990836 47041388 66269358 484584827 175358594 222440426 897033208 888357300 40890120 613302223 120094765 518222442 209988273 907700067 833387294 448438079 655745468 732563644 946869139 944625404 986746649 624808501 346486296 445269496 863046599 766347805 152100987 329338177 118177818 281795596 615471167 301685006 328836983 534256876 786269832 356711928 756697301 535819392 245069227 797587420 149121614 217680343 168326213 211626239 125380410 1713507 660064317 633642229 586793502 606933455 578267633 426056503 84258307 777270280 871325998 799821258 396134437 23426984 129159434 366828606 157738931 597146952 668513611 486575913 131403827 307299795 843287840 888101128 843119186 940873419 538204899 992240799 158553761 706531112 56383389 136450522 560760970 716447705 770092751 147554471 175897512 200876735 573610973 260155818 978147014 297453323 59977075 374281450 173396658 41652860 741110056 331135589 491316163 262140018 670227853 622719990 569439812 366032045 363337469 412558997 306905463 754058719 257316148 317975575 313106182 313699536 454426097 873867151 30147241 224518847 21421622 58561104 425395581 447548946 318716921 256058946 597518620 231210348 630340396 770915278 125379559 223966803 954567218 616695722 486106820 624795070 91932063 55546632 990827114 307785883 320621980 150248928 61844601 430454479 468224503 374950783 744154015 922650599 101334285 626817607 999685797 122755906 685378710 277597729 422821204 856611982 533656674 20339823 87822329 16513421 643771452 65718240 240480223 450855021 534930313 579103395 75650091 626862375 487166378 918993556 934648257 807788357 921758836 849009209 90759188 242499690 76476343 834913202 17666640 177810628 314247160 17352436 153082885 852142221 294950164 575904088 708754202 828606837 448760263 649092883 845120258 945048066 567327474 938116832 395903087 102257786 517220226 324069529 581636512 4386603 95579436 368801120 664691312 17338271 217810328 755450499 112354312 294286671 442880052 130020951 472097298 609643563 147373386 625180182 461785783 294839901 53600622 23056336 123446738 354877236 524665570 821083347 299925301 91993043 611716530 548344739 46767180 128936756 872414267 628403691 985839710 820510055 997204810 503047373 690364677 67531490 111014223 802718989 361818160 406410626 932739939 686431809 16054188 80113325 164128342 330356322 227469577 217728963 353412658 203432666 572606198 878078227 24516012 725047851 822587622 488748894 273392589 869354801 470202001 998323208 497758492 308558062 818833262 347479653 811605435 361714290 415011142 775136009 164433278 776829301 181546635 97173217 315777461 50117174 29802893 479905803 380473496 109788821 697634765 733886153 313221487 122757315 464480731 190253850 847805165 139584704 679002743 973714105 8939505 149204743 972037312 359214348 457762805 643386925 706694000 121884591 5101215 121705142 897020599 22050844 751050794 931083585 971740412 66828255 981200759 854059656 546734057 361674254 963848477 96885173 948076758 277069963 72158839 265073840 467323812 919964003 404658544 146326555 746194460 413598048 148047649 570748123 772812395 458326805 66651400 332022746 580211395 71752614 453727887 329748346 946319809 57295033 113348282 918060221 124123287 94549040 624636228 523373695 308739645 588484704 620258867 256816402 718071018 692417706 521890242 37911182 464898060 926548785 36754088 63608871 192663184 184801736 634356994 817991930 643128541 701008393 150014675 75856287 625277358 456258914 258120984 571597166 513553946 371469266 342173738 637677232 466018305 966809966 13567278 774757950 407811021 633826144 884090703 125882039 178760201 258497296 16309572 496174613 37562432 53063659 559783483 230225615 237865394 194140476 48217544 733510286 895148868 50748571 809366573 372942577 507007484 67487556 944539743 20561429 291473173 139229832 510755012 757491478 958556149 524322289 384765779 218883522 10664784 121372833 197281912 41941337 379870129 213591483 538115949 417432560 266655141 97899431 647658175 504520534 144556259 548392070 90547172 39705126 451656992 899913744 265164055 958664475 819917651 62220149 831742255 111390824 201449980 195013618 721398653 12522481 571852258 958680783 231406002 582517042 80053615 428687913 624458378 459923743 642279395 15090678 877356303 908934535 112990108 377530829 265971420 257546366 778439250 356518591 149767844 230096242 108948686 414931898 41277068 928866337 477152046 725535675 892773512 531118377 920549292 466688516 543640857 344917902 277885650 775046858 927434943 357939264 203734770 404409672 670379359 846014164 419500349 400252013 607465050 385006808 777782841 873436470 642553174 408738442 229955060 644837369 638834683 338903746 59769266 532628103 120286434 389437663 258163777 865576297 920556039 31229420 184781164 316713248 376147321 462666813 91760105 156098615 820606076 148011227 413024638 343501786 994025390 832524986 743753798 454006792 70048146 374052990 327443261 712601319 782791432 409914672 209955039 274142466 748818417 122240656 806770568 721621202 511678318 64934344 587197498 284750708 948680116 771978661 601463955 177343788 87161825 545740412 333442403 907767901 693751638 746467040 103786038 540293379 431508378 847539836 994300170 501556523 221592825 174259782 66674193 4384256 584174454 276629231 131043074 185509222 398869886 937813641 907130424 763064555 855264337 346844273 47815262 803944452 118822934 501795569 981288239 58501110 47535980 167246993 966269010 593803969 766230385 70055048 134097347 50255114 770111235 128397517 551811636 991704059 155173650 471002180 848604667 739348103 747631410 979647740 924857325 999017647 769977732 831987748 762082201 625242068 31348372 662413814 281702871 2687657 16725734 115507462 61188767 916778065 135270806 27457776 510582033 901501190 950029175 497195732 951756303 572656761 478109600 356084290 416877172 633283249 827086469 117998190 372631352 427234230 97645929 150005028 426251876 720140012 981992775 40850428 197898432 13341146 555780594 479601302 16028803 572506327 447625115 77217569 341800744 582895921 957191696 852382776 484397110 759737223 202094859 288669765 184910335 680204458 644754054 601787506 313487707 471840523 719785695 538635410 899074752 669947975 688640437 177842980 390087987 523149563 71209759 587986418 389007060 626990352 920104071 257552214 52013031 367729186 187286134 393813774 950625106 144477830 98712901 287538567 756731404 300807760 576208331 941641738 981012217 73478737 395945596 147016275 545319259 115731290 685651684 296910362 785679265 374292120 327269693 28283603 897441682 398479452 468786372 138965094 25469803 388890442 396517307 77482833 609135979 583803441 471296606 412277436 580797622 570009507 699816003 190045377 870817266 128540685 131687114 704345834 202019421 380149061 851362109 599855031 495880351 537013792 896765393 134075967 763822264 76551437 14875921 513780297 475030888 483662292 652745390 500500691 872552733 49262697 430499875 334205064 633066137 901796481 746482499 66380110 324322339 298814853 256425486 47655956 427355538 240628951 752001789 481891310 620778012 455880249 81746341 116658362 992894041 831028085 103250680 609232656 907579521 118126600 123012952 382610409 601788891 775758342 735627451 326857975 677537390 166127325 661063038 163119878 920440157 260061889 229499987 97278847 558876741 485925472 144934802 986232278 726554422 749452943 320639940 347332433 205333191 402386280 316507146 50743583 85930716 272274177 659976238 993510236 390400776 635505542 228636996 844706018 263780235 964264446 24080345 941317624 130391771 685143382 104437501 903348279 945205270 333937487 627126 356598363 819862958 145561927 195346992 398933731 747531221 515986931 746266164 952864412 918373210 915289661 856124346 4303925 187563838 368616936 850330513 430480965 4122477 78967508 275186983 267902711 43231954 299267327 61736686 26140076 836927060 166174186 782004706 634648682 352628024 782631831 991247044 25007333 780710110 186594035 423941063 380757682 702580966 22723578 186138445 473470527 938013239 42262791 330290804 125577076 410879726 33137668 408574392 267518554 112105175 683761374 535421264 7853480 835545052 597157949 886509907 672472112 615848486 668514613 159637145 968476509 303662795 150884188 993483841 936889256 189994574 417424903 317646938 892575539 440148481 503785382 218562418 230678071 398564524 401369573 208771498 809444249 434507240 617345889 76962802 546612414 153623615 464900417 406982246 989168666 914574717 293492152 514157129 530423202 814523116 673794273 351416062 118185911 824678460 344899902 907591518 14673034 614841157 77754807 759764924 54989637 581540189 830843693 138184059 980104712 232213265 346955556 642065313 666720504 964301444 571544466 65849270 117925058 888961235 472831515 107093724 803535951 618840018 473767204 186475505 433363134 147561477 537891566 404065396 824756288 735307820 164173265 691945673 350148976 241928072 304226949 257654964 823468260 135070641 395839022 656089323 219800258 742794577 150670987 886520761 559612372 574731805 804886382 677537430 463693039 130234248 637147505 119745341 749074266 110914708 158737197 34953751 110992536 696628763 439019146 935748824 284452934 603192410 480210848 634601909 845120481 784437796 744773224 521105092 919508437 140612245 29710767 139308694 735923173 32898105 878345806 148051896 607629909 535748540 825589325 71322947 665982787 315253181 43584640 415057052 278684241 202321836 450010802 242193128 751466950 741546299 30458303 35919883 197255061 510669151 523038143 42375541 295106946 267811366 415996985 67131734 260939962 298224103 58956779 849379486 331122207 789818937 997431382 938752116 325567476 675537058 862591414 991550262 990790239 906176053 259123666 121990831 961014241 561650819 364183958 712481190 303197118 394642261 600917425 500452178 905311411 123955567 395344070 52934708 244283285 663857406 120066442 505223246 962081508 31539572 207119084 293203715 821358508 204550465 84472182 999442335 880087522 947063595 843508949 723394112 705756000 102632614 697901294 666770240 516799784 62085252 231767781 819996901 309243864 832685205 172965430 67071626 809157124 420825852 120006333 53440408 84683257 92589126 411180005 46764765 976645050 618299088 192484831 650519909 822849552 276957012 649962244 555453426 76536958 345987544 131363889 782292957 301136509 829265183 301579548 817936292 743866786 533347329 490449545 905627001 218548885 663414974 972698626 27706008 84240825 945221310 933662767 21440434 890326788 344842772 920721550 719488189 963141859 113206380 370008097 638507763 242679743 872486692 46477540 319216700 218474235 30357780 101509657 519610743 859622962 255605556 190063387 456006099 788952884 680512931 214149451 860018121 196444256 39364428 740240480 133201433 984585738 673903247 154641866 727428877 871262370 75363415 299433417 686920580 41086146 669441513 177944694 136282240 394444557 224422233 308015291 612918791 254780013 262041299 985045886 966919326 517646855 175109272 275441777 159116090 855622202 489591227 19134210 52066457 528955655 759374690 37784241 366057744 285794288 192426106 93486620 9573009 120305872 245436388 696493588 13908369 914877900 874438282 2706960 161838808 98860514 310722251 774757599 206156878 572763549 612319836 25592556 90410403 787429107 301034332 249526493 495567660 790625558 121177054 400150468 319581212 880551743 437934709 685638955 18862382 482877166 631641926 28435390 603183038 877078313 724928978 469607758 644472565 451883611 472314718 806311372 403260476 783036968 433585322 609417354 355800516 45905157 635009909 298727271 685850615 936044240 548253763 33934626 579186149 669430816 286601446 898767361 402498911 724536154 436922667 273877644 59929671 921080945 302313034 663112708 650675609 879758363 132720466 147664525 331641973 457551535 953975897 734902448 240588502 240077570 196836153 448905369 138499079 684362413 747632639 676866045 472923004 148402753 710800671 52109153 817833569 997402116 803392865 72848831 574454621 92831883 346726474 634384291 13912827 501555859 150013351 664588436 381314221 135250168 812252960 565472545 592801702 618745208 152891345 685906555 711339130 349727497 134811923 849838208 34089910 882444562 379220604 359529265 30847314 90021274 411638417 701197234 939939741 67547633 626562416 366910713 160379516 973288890 853811356 174292342 327361100 3824706 691397129 708675321 991591225 356166441 126664217 436909278 974911648 279555561 122815832 538767129 629283058 110144106 241121688 515889319 992588667 620342292 875418583 875952333 562879917 139573352 429665918 355336010 207120984 56228334 722246722 367500499 882033575 428574429 394309193 61911026 284915486 85706321 770586346 276506710 441872761 897250563 713415987 269300761 29322475 688748170 808067889 658605532 798892276 49189577 27011202 643997294 522048220 754946137 372465978 84928136 894519488 802131896 440264145 954156823 710876581 15027219 174173674 445426507 443601647 568482866 507337532 728517133 654189186 130440230 857540194 948578299 880207144 423472533 70395411 909529618 112220702 878463299 420651502 911112977 780169227 447662703 407626623 154733798 55125191 780092600 239661934 949644678 434740847 532442430 756317853 145617427 547469648 930491526 443560285 843587647 498974391 803414169 424621131 5679928 933854398 282161324 954258226 666577893 705633856 24653636 576107510 670370910 755633287 996759011 434000238 388318865 296938066 841626860 543052663 352063256 621719460 635230948 154224286 56460306 167673377 910542138 54594085 567659377 693550015 350670721 411247023 45040757 6601241 835868153 50720684 940455638 970545828 857495262 459549882 528696036 734665249 35657392 199066945 342814887 884932754 633067182 731133752 34387171 327210394 126702766 238966779 948929853 761933713 393191064 857906510 782123441 156249553 765016946 349782817 849799567 968204019 613546191 894840323 974805259 301930695 798077358 767777249 272476523 655572619 227327130 801172558 242754220 115500873 852755854 585569106 852949979 338339387 169219209 887337149 665549780 295921974 126303927 466995984 910372038 372011342 177418846 692495479 380777246 942435791 894794647 83093164 763156161 508340838 977933486 737961420 810271532 628527196 358255020 935264406 136616166 585582149 588953315 379370385 553599374 441709168 964939491 406549352 780048555 134158699 146402852 298114686 282597025 125223131 765110670 192969062 349750824 942529515 737980892 730528070 737481657 632775539 813621233 500637818 993632728 644071071 91115589 656420611 272598266 449370608 591685017 409214431 887469108 33154683 788584816 441068481 474863851 606040658 700134184 107428757 740199356 846537036 405543442 22796380 824276518 23170463 68281794 174027341 965699977 806262685 904555410 703181634 291554575 570692995 56335803 137703654 214764065 147451391 794124265 339878682 449338350 238325633 749093112 189323809 271480315 390194279 630392290 746344165 996234936 183042825 706289273 588950644 29579860 111832715 464263375 706372729 135003177 385061520 880400070 953219506 43840557 637471831 508917491 335395131 60681177 565253293 473098785 275445241 565221035 119739401 615323922 867075736 358065033 216933386 56399544 629545347 459644016 539308185 228405864 308395304 722351010 934695136 897345947 604447221 899044202 214125673 310819950 886563731 599187193 43736371 839783236 643027749 533724553 201217078 830939231 594405730 766470370 156554367 869850970 184207756 276293767 337691244 51283491 634358799 407140981 960199386 263904146 866784996 499507571 492310009 175180299 74374932 279521496 925042597 678822152 178565698 139168270 989642101 65129428 590871814 885894823 757429015 86415914 419619376 958646092 917355144 14025105 577632813 73909511 736392426 614356920 202719629 926600021 518156762 837078428 333741001 478356147 100982573 53042349 830380069 445808933 228222647 904755000 725330428 5781596 583577152 756412477 144949865 425735604 674058256 588338030 164146779 284003622 527270295 583766154 95166065 297141790 450307610 672798877 223567652 39216387 139672148 426287281 965816408 657828909 263365708 152073760 136185056 216864632 205116108 819081476 515189916 285855107 723836476 93036695 291636702 159929979 849449172 289102918 438181934 523507427 877440947 602328712 807511049 257227593 38611217 902677113 554369382 488918826 427992342 777937034 380651565 567664489 204224314 198984324 78009750 320106373 351058083 66711157 536971004 408690543 885792632 52160919 694545649 462145459 145197613 986182350 622075437 847163136 275285267 60257371 223186915 5242565 515102434 30697963 262470157 553713651 785891427 816839538 42632476 66400120 447292923 275800392 486580961 651517236 474784715 564590710 971623608 825842798 631301866 361110963 87049692 517094497 265788233 781595340 979239956 263502198 767777689 453831744 110665333 895579307 366605466 186368599 900821871 881707900 69582913 15808379 287937902 855474340 685164268 183086729 774390811 132457191 458887121 260971771 636490778 933671835 825562480 460630738 612030984 309380697 821741700 699080675 826475194 940046285 480676014 658231501 56064834 100970054 964579596 19246518 996549360 183701414 205615117 749887582 65409313 275198029 618212312 205863566 130672368 303376580 388950294 757579531 288350122 847837414 18551301 924840899 781509249 696630133 385471636 246056584 6010829 59729688 945137259 685002374 999775972 278329624 195750226 55840805 379299678 12846174 75087322 228365389 196547587 133218790 830769323 114473251 408416819 448981634 320336816 391605538 604874565 709287109 149185068 893224686 557124523 20252721 818065585 191150123 569399205 56053572 437206706 427926385 115783259 234860316 112928759 968075582 513189940 161195336 876432738 892489617 174041509 804036412 973371357 370589095 937255201 804140679 485062345 198188371 105638665 805399160 589793909 710513229 367202621 738978976 456254267 924327143 611748048 126836203 967993617 181147252 182889774 257716674 609073637 151189385 492576990 574518747 971781318 5766929 588230434 700730408 750772897 762271943 357283171 724144253 985377389 147054723 380801284 322956086 345243094 338956300 128355245 935037002 49469528 348074217 526532329 358240146 124917711 138280377 485076348 92911327 171943980 667966122 350628001 781017616 671671858 843204990 208052714 643453175 701488270 796283148 196699934 452261166 411071442 553983104 28921770 248965182 701037827 262239405 571921267 46280920 601195704 552792864 981317921 503181584 900867080 360366601 861421729 25784791 498646977 346498077 118696117 670590957 866980550 321840469 304124924 538652407 17561810 364693990 34621933 719050079 13493489 231321867 23827596 424564930 785304970 52749366 673530111 338859148 167505122 97967730 385140067 768700826 650760593 218974339 271882409 551627672 579340940 133304137 429928814 930504268 332318565 401141283 453611576 51815466 722981751 757736500 590467872 593059913 122430489 477606157 164626343 135923977 708928023 188453939 413005258 346749344 93719656 939051720 685608492 261224777 37019449 923264910 29925602 687780041 142239249 154324362 91924065 574096540 140144851 521852878 357117159 324979767 922994160 810728735 376795233 498492263 420981586 967263104 91552175 395928426 297385612 108694869 384368754 6313634 297148807 797374011 205579330 243384814 588942082 743704173 504609591 625961531 666969082 387051544 166257923 661724682 393892258 110698339 88337573 534037108 632551217 445454732 859016874 408061728 108699818 88328458 759070342 529681403 55591562 703138868 925609828 205493525 811833737 309978581 64323511 108982543 959868943 269902840 204883709 548811024 13607012 709493299 27288906 533092445 949061194 46063181 47333479 342953451 156761519 135671051 729506910 789312735 433642134 441040136 49890815 542341951 529368593 808961156 72023353 437476506 364616376 850149532 642970031 176450112 12644464 707293541 137949006 972513406 977196380 342832714 373840782 843319743 904842364 401129687 228928539 853903558 447192867 128778369 49373360 603954386 116965772 778880270 245783472 550607905 72436757 148190638 945466208 601805349 957151794 870005912 39281855 174284521 720155444 682251885 350734632 732799907 242061777 341199989 557829665 71774508 684032703 931670446 915094250 441391418 185316484 996539140 147811327 632509351 125317509 197184687 88980088 242283280 828581308 187279911 645407536 901018064 335470549 590873743 502823412 145138694 313396007 394621618 319423214 33551450 76873502 670157845 618867708 171451630 11357833 29213724 243226137 547906887 960884169 10836738 989298305 146200653 7375878 137109631 631226355 132693386 186810669 720206442 227493017 15391976 907486352 872900552 768926391 95473252 316290647 124266155 240611945 629686653 518887772 560035158 515754454 448277626 82709354 987138513 619729255 94067187 16352237 862955392 494490425 977236405 873792129 336305081 975953409 881168006 325931064 607179763 866377743 365258084 179902556 946387111 233166412 939905260 671804015 2092802 35378511 988094661 126358956 275990456 470297665 645246728 836025613 838568470 93524353 918734967 825706982 565769959 865318505 694575570 428725350 212325281 524328327 155033831 401146714 500281735 36201836 727077777 959977850 755095931 92335860 139880405 553999393 178018623 932302016 225803407 180111425 967680527 66414419 158986732 96187334 389228435 804233459 784729298 227796904 750274163 555980616 906020238 168560474 273815472 600595807 597285823 486140753 124924133 752319653 887287466 477722220 641037841 466881594 290216421 248650123 411733805 282613177 802649515 589752428 214915193 880969274 622380204 35112071 947383692 781366935 131299404 189128479 438116746 768545053 416925382 40907260 324525669 175461971 209467733 598341140 776057778 806753556 936998244 753498262 411589560 676802061 83736833 905143752 143683654 373953253 6310226 407933811 656566430 808959741 850202590 723997974 542445366 472582793 759110044 342345409 106466079 742925799 531473887 544582824 363987203 948399269 585490084 688512871 123861239 794957816 139370363 752435368 454227723 76368606 358449982 865817283 605687019 294703166 623477386 601887024 668656419 629787612 9820834 177739200 291263704 712539775 901737173 833709069 37638919 513363568 176054477 144104998 108805718 707528364 688687821 472792920 508443984 274177904 13822143 484821574 69135720 5708857 89773294 375879794 82077462 300739627 94213428 540280832 595442792 717690814 142167856 116615562 347478425 4505041 294354761 638742128 717044816 48608285 324967548 754683734 414488204 501022024 898788731 523293921 61066739 439992904 848603193 422027074 714170807 862425335 906848648 635822878 868134191 849138293 11702672 802728004 149877919 105916099 195525188 745320710 676123264 337693043 861936272 23601688 194714435 8807384 514860167 911759250 57415669 839827714 518959336 324420224 193366090 270264418 847714145 106949180 710257321 548833689 528976254 276944480 263775375 288341253 765283709 131909565 137479545 629502732 787153920 139873815 587935183 982679107 885194524 264058446 172888501 599647147 140176486 367602936 460970883 507553004 131878537 370902903 199897070 503354224 695323126 393263159 773618642 395553622 500212338 336392314 944387310 29188591 465853145 208162684 170046195 231136854 192588600 307525739 860639585 832258872 447399553 301091119 667454330 185110429 565149565 840342831 637273927 557842402 60462118 98244809 65395405 44857006 469147711 265292474 548211230 16987189 511071984 174346223 412540810 11284322 510738536 356928120 892989264 976591681 417607155 63035459 60244886 610195755 223077549 773400822 294970978 522993454 74491941 962425307 708103882 492157857 655284489 197894160 50000258 715746606 296138969 115395662 760603612 617803031 233204488 161331193 634790219 744276471 335677415 47331029 608077144 846415950 256775500 353582760 675523982 674382654 269134570 588285219 137094760 344728470 361686041 432065737 867721923 288694333 394491044 428342156 780852189 49775532 626236316 830852446 618038490 922375284 798764459 231158453 392694666 884485298 392489645 27484885 481278121 728167059 74815913 89355264 427099360 184107764 295454375 955139694 858490417 417105296 543424912 995585177 761833766 757627304 427650913 629555688 46321636 674658308 57897844 827173824 576950192 536650511 510542621 47505033 311542146 161823432 278663485 704236811 46308729 523669481 731721695 380103201 104352891 659053959 321974817 531452250 843161722 617429191 339108295 554168491 34534487 882533207 549753667 648884604 492676862 829920931 130956643 538998498 504579239 41370838 218688673 81529430 578021348 581747646 129034462 889563493 743571077 260214298 593800304 642396157 783883778 178038350 22499358 888236668 689608661 196990526 272205269 385286734 814419716 611313564 939455224 701470554 346363122 341725242 202871509 839039983 171646173 333828152 230554832 528741763 375198989 301759857 462787544 953220337 883507502 444338357 842783829 479594930 704552654 289100484 121991086 340952783 319655186 997006795 81705802 9263846 46513672 206427422 394550579 860933388 817740985 186522155 414920293 16620458 528247396 617791802 708176793 699893568 951619953 938731624 81151682 179335293 93007832 543939225 132555629 976515333 988277581 827855810 456110262 545346586 116956293 430617700 886299368 289127830 280140846 820521521 298391675 326654518 26948943 545458606 40104257 697206279 731980760 307540901 713826737 260228155 925332702 274519881 812638075 729469006 65767856 893789756 908804299 158775688 437728981 893876279 135291020 278522913 721732088 443917634 823869499 691204733 874535333 562685218 980332562 7192530 383206739 131240589 186363399 262672033 676699194 226467655 959878311 261196305 534008556 526221399 521424459 311857609 800741279 186578885 893842967 866509135 80368641 655163617 25284822 370613973 549039895 13092193 649136885 123288335 457009826 473006383 667009419 184061510 35691601 499858332 191254040 271414691 631098920 377617438 534086723 160314465 456601445 346481385 421510769 990610000 872702784 795451580 154983960 673444062 982030464 48826926 392469548 62399104 556506894 417754369 285529428 105546789 430846562 934666313 81351475 887856387 260189047 748360893 71917897 148396999 100735576 115688288 419811689 731834496 345822077 806414763 744665312 802423521 152896148 18692433 645549872 25598931 814144012 800533832 551559344 796174475 701877109 944028892 711089931 110900355 214299612 996619358 68963495 497662525 783802022 150314969 238035264 43991069 751192213 162469512 192388067 851927788 278157799 464716108 436278635 623979875 271130870 180943947 278919748 276543369 199636379 924469619 154658651 13780390 577519802 706217995 662471216 131913263 502763238 226077498 242813617 569579201 75213208 311777111 67241726 859015229 462092079 305276989 755522649 65800643 467746500 947910716 917728430 598420650 265143175 354007065 74916876 536274044 387467363 353836623 812817413 587103741 278306242 967476063 453400482 855826043 526210409 968388049 987739305 881489998 46981899 83069273 451069199 122195106 394846383 370827276 833726686 856938461 676104264 589249335 922739103 996367115 389676402 692983885 594787764 654819576 46990949 669704639 43609971 286974663 23541262 708943735 874078403 154363855 528936150 179995236 862706249 55146558 899636 702961906 789152908 47881534 786031178 92738458 170076639 180877561 463565733 3803325 890332373 139669996 445569011 665587828 988553462 687761764 358571712 435857577 195097691 258079012 105562215 238707661 545053674 981619828 947651396 271648428 988500034 329103897 304160015 851206283 236766806 305059650 406684540 25919713 352941184 192715717 118658170 523017822 226109629 582223902 379337498 116442002 574410249 677422860 782029829 415480062 365184623 993117892 851337638 560282313 103713255 809416205 651506326 648766928 643552384 451674073 772931707 632052418 780777969 77091721 335775052 17544774 382151370 742459591 43464487 735092553 787691659 14639008 110626727 13801288 449379262 342480576 130243289 23789510 19903436 764789469 291785924 237604410 610423712 143123561 797886723 714136966 952539765 301909400 215420245 448608501 753583472 988351951 80660918 534361440 65443671 268952321 404422565 300111392 863928263 300403403 887720297 651619921 315042411 998347023 517937560 764421672 193343950 500697200 640727533 213247385 118003020 932513456 450851795 728426731 928153369 101254869 442563696 733209485 403164268 657983940 181817985 9264091 498852242 114995254 543625530 416812264 236463926 948048094 716923656 100392188 100967849 457160304 604528461 416010259 308023678 122466020 32948282 501367627 623163220 526192166 714615012 741166239 311221974 17983158 322109322 239375342 119238026 764673017 972584826 374918645 275173309 6919163 384182735 774025550 121914416 780324616 43354166 210894694 580889061 760277821 311286881 681856909 69954476 915815341 97867167 377978153 890797713 983331800 879345779 366477284 509523966 446477142 107643522 820745939 464460299 282269195 912637632 436214676 46942212 737738809 663649672 174631872 744657971 47832406 801173773 719088739 680673373 844527938 929983432 261562434 457322110 93786664 943419342 527276585 862118357 893802861 905254737 752916069 729651012 784600516 119393352 91691329 83594009 79553225 912437267 548054308 214338772 677591250 836785335 113797335 415330059 500435007 288429206 12504381 400783764 89602978 584109471 81457137 786647268 366609254 195535922 243969377 460395918 991471615 771245962 175030626 737790827 529017050 927946694 467441839 166133917 899856397 559133167 249727926 831925973 324086786 797782233 46264744 1678035 487083919 12578430 269524445 987518925 301007635 134545178 240819041 243126965 718654648 174792529 29774232 85263902 222844802 126259960 398176171 214316416 750022273 573206796 952107243 279039323 353669841 272065433 445173239 106042589 683714951 694901164 937968561 7801736 345199748 836749657 861996123 832283667 849328086 984036919 672318943 2852073 118582096 765654335 98495389 837236744 940446863 128269620 775016997 15808016 107045931 173193167 230124432 857068204 746399962 34748026 988623878 100069802 159329810 286313468 58628742 843044760 981214632 996597302 703362848 178930731 685863310 417875322 863730749 387707748 401912240 388566044 243076172 373010688 154220378 341571560 62763783 947183593 322357531 837780779 962991608 429403461 10973945 45632391 138988016 609890258 80380416 127611893 562476411 239710225 266441713 621105152 82754985 100172696 470218805 638634184 279103426 8598467 56509505 142834175 248822566 310938096 383916570 491898737 683948783 538136947 833470296 746712565 337836891 155827826 584493343 300828499 437747638 447983639 346460889 576735654 910390248 279357657 556863898 325383010 519067881 823305610 946488161 454339217 923478305 269223318 92973400 55098083 130338136 1999256 50448609 379160701 312937352 434365178 871059437 996886134 825018476 704529732 596115051 162855367 712873909 33124745 316200217 150621546 481108384 662661105 579873551 244014983 942018761 136737449 569397993 313602994 812559410 368402505 620458562 588554067 637625822 565948314 496168501 767963957 567947569 546617109 147124657 733401272 833498638 870700445 582803758 658517113 427746528 178918808 673888831 140620436 212043552 990089047 143758334 545668287 505266504 723631884 789683270 299801616 712885684 359081262 613404609 377961446 727483766 86379523 966515512 217625940 652327836 315200364 838106248 72791756 861817472 837747257 806193028 547832461 708447701 388996785 58865925 136194229 420431944 732754756 129331016 632475495 722843802 273089349 30660134 80626657 996721233 820343403 380428273 562123268 31941016 993832881 940084713 759424781 80212403 759116576 829567072 585056590 74316939 667673320 657848346 788650762 357936928 464041373 336483222 66384628 705554509 395349147 55095208 125986452 128103902 36942576 610978298 703464055 162548276 641638431 784090712 11785860 461981833 17035336 573909128 493922848 10868216 513993840 105863981 943596971 125626768 935431052 381169912 199943706 455620723 39018257 988594468 813557650 355575981 177594041 732458630 61130489 425459539 640070189 39633292 406079792 529529116 650611590 109543847 692077392 292250020 746150910 703863251 606748205 763186245 277772378 100671052 626570812 644282570 59051384 422684134 769909337 846998788 803854046 969853042 155135862 695388654 810963861 968693512 50964635 841074254 553668493 112095123 266533792 46255033 4244767 672613584 575784149 654856356 634673782 120377892 947106375 233341043 824241142 406370931 849043639 102013520 359558335 328130802 598812441 418609718 750814936 368721777 118124857 407185333 191091170 273260719 102573986 854571383 94470582 6054972 695645636 648139074 970666447 814695779 546910458 974911213 339825714 122694606 629767568 974499495 95588849 429390294 60356889 919829991 835761225 909400527 874359862 47835911 90047681 473172302 466445628 840862616 694410430 584570485 100564300 885501599 857831203 55654637 592589333 952301784 61709609 140751320 452957209 884892407 955447099 999867666 859803619 295272812 975078624 342087538 122288659 70667472 623994183 35161899 843013814 312271759 944562426 717373675 360107669 34610106 43062328 826553297 727989073 737472757 263640133 681069724 475490708 973987687 736724360 68080040 778805822 650950320 61347712 84279382 388359078 16794810 84147047 100679048 164583973 911742022 442766585 286872631 834925846 66760768 322034530 530456011 231548878 119113307 100346038 591656547 6239764 143408365 270726195 586745188 733397474 534366327 267814911 61404533 360870365 857055622 129484572 139676186 360522294 43348635 223955567 748881371 60143444 160618965 849560419 224727417 924877339 144843355 364116399 612319536 64120474 686150928 142775546 295669352 657780586 243121583 887325898 664020349 239046300 158052092 103281888 972443773 544934770 371096798 33848305 905805134 80668772 15849228 45481319 441191065 59197863 121953237 190072435 119341306 135088553 39632853 196585074 59965891 36992560 560701473 672285426 101113033 99368752 667577324 396782384 757149338 910698906 284108281 273686038 2261557 294676724 376967926 974705329 839611493 600581075 8553633 745416626 681249846 876919213 643414296 122440910 936117075 617883884 165029697 907974732 752972437 57178901 957076158 812938327 94171460 370293982 337740105 195284493 469662733 5317428 592066876 79328422 768532685 876175157 205530812 770794242 23368232 582498737 598015922 862979725 35596163 459085907 460912702 716846009 336005119 104326998 839286918 124638545 574727233 4316614 885129628 327699669 61495515 842205785 993154348 8183326 65016118 183410804 203467818 534678851 41244583 795534694 466523624 809777267 524226202 672054435 433087860 547594433 107069523 31103782 410574157 142665686 342706040 871486859 859511694 678711158 828330208 551314963 655866054 255573792 408147929 540995681 583273461 322159795 235717818 428944160 330343120 300733935 612354963 533810938 687929137 653599545 329345631 154452761 315893163 853571832 826507195 748981023 253682616 933576718 632601156 664256773 76242403 975307195 388259983 788270448 506534704 69106542 339585410 14917109 324680333 747733338 555912789 760470145 69893132 644146958 189414304 252752604 944880893 801769266 786563541 485326381 307885162 115909171 639779141 623778325 821997354 318802688 225275699 75679969 104895757 857876854 592453093 33654511 685700400 833229427 821924958 44751455 902335968 14026719 59668563 79532653 614276409 468097703 840002797 536685892 112244661 881933453 789438495 909641905 536219070 576002035 394968285 844104232 544427557 887263778 467882556 218941262 58582817 693158254 147137583 163478573 403551459 592107027 49649435 941768210 425336454 871574392 986519664 180188773 738117462 898704578 112237777 352393870 366802280 952240574 889079762 331563292 686690378 531034608 241205196 222909447 107036643 488689833 67013678 503980551 375953610 387412585 575438165 434536426 933087190 722575747 450531350 189155000 167199125 500180784 130923209 592535578 224271527 969959224 625240703 962388988 868663801 737478479 167299210 87982433 542235404 56378971 419545724 228925781 439929930 513267272 304351580 399482924 1957104 223881609 903463475 230427065 611294194 331417991 664963490 396897735 53993737 115494839 586052735 73709213 468191974 716975943 666244791 692463500 539451519 144001845 654852487 260631671 881480323 822151696 348614103 423715727 731047018 620676179 505157859 23493300 133943450 809509438 422976223 135900553 33391047 178956049 218843969 497201592 510374039 883807458 894099326 416884127 851818648 480152060 490593340 172526973 49644355 9354482 864990472 589095873 153356326 372359310 849727543 34836648 47027358 50857998 311068726 778074375 671534176 816226585 801567674 657993977 625736022 77060249 646410881 511643420 256016297 865254849 8845011 766390336 601578658 902944337 183274462 305913657 235612748 673867801 478440629 137773454 683222282 343431100 726869326 836578607 715790409 429113221 723931607 762817766 332487570 35000332 393408493 4021745 851226916 47492518 514532073 329479290 124552766 160942953 841122709 380569063 26197801 702484072 146959398 480292810 457944760 182750211 786206466 693557507 709134364 264647094 831330961 244872997 460594545 410716638 81451604 28901305 692346210 657899562 791719071 24833779 692899893 37643915 881371875 396643161 85136432 395903947 578638802 62205550 409363251 272277862 295290964 288077403 974761933 294766713 768370212 432706692 477516923 554576677 978780551 39167638 671740122 662627863 284040635 132334666 73344500 218008590 161235971 618207062 875908151 805471393 643040840 421324395 843115307 376929067 817967555 780768090 772833013 249122708 695489991 34712616 521400570 990780954 322790018 496162502 285547666 91160230 781385546 615580941 498253258 760166096 654748578 169993380 275310310 938789212 154844397 201171161 156797801 316080367 819378222 32705951 121551759 314935414 306546698 817183417 691864480 124514252 450467859 317213844 226153312 145957849 351926459 747553881 989255155 674716477 96232734 127319172 765876706 877618279 742900112 116646315 490300726 397648690 286639694 765611035 188954253 441484091 966782196 345752054 610080809 786160417 230974356 584148920 101095830 537521053 253848688 645476661 514551657 704316546 962690505 740704968 702790747 314616963 340775200 544562253 989333439 437007933 671881424 607726496 314626212 414781536 724372811 804926937 664946577 863528856 423054324 853900829 157529298 389836519 52169234 767610107 28513287 283143590 351759026 982125469 673180994 605607713 627602129 40249002 162440611 442808985 780953969 717747709 757425948 121729168 262309961 599275738 411253453 934191384 59518586 725879664 201489271 636407748 383322952 866435847 499936603 806377275 572853028 657465901 48730145 625022261 277592359 77243432 908165850 629351384 911885252 433863196 87475448 392003732 474112197 102432410 834812717 107582518 820180118 444755016 81828037 82490078 44030753 493081489 869197814 956065690 71477504 923203436 592473437 454800456 642155635 944926392 113694082 215008662 454908644 14940579 840030922 732501002 92184010 600713124 214368737 856585613 34576319 301844184 248589344 361204867 404276594 83402060 468787384 76973063 380673427 550615421 11979493 277220532 43696909 881177306 233286221 115174413 656897093 678276010 422491220 299052727 623202401 536185301 366577740 78111044 551125879 59125014 663128397 495826240 659838137 877497133 204928204 546930807 31857668 453517548 908135673 436134261 389435959 229439409 513107324 770109386 780054829 525086816 47329917 823751737 258780473 133132489 791442501 915677565 811408498 213933720 67246644 287127250 602635373 433824383 217754645 6277603 492949396 880883041 502103843 5303884 610896525 707032046 404751042 642754193 13065945 165403067 78888453 255018256 394842475 444512128 25127641 174897303 822115295 924973909 851165391 80895767 910622749 642607892 849089684 574547599 709057963 768852679 861674848 311693335 55193413 931945845 317970938 548142809 665345237 672591132 405963044 276241762 232139529 810714086 918995954 245205474 976117152 850400758 500223729 370959626 147429238 377867721 398373280 969544532 155357981 249538670 902956651 65980729 744662913 604562686 493044679 453720876 225931716 207235879 617930562 281125128 139181723 935901499 829267936 804526959 461008982 87747332 933285072 693148511 898461417 704797377 938353984 874578568 407714487 291094064 98054545 555143724 521478136 496427824 377204607 676836116 598482845 132677609 595333196 343145758 589756646 88377875 649382985 815688361 148130105 267313546 96813489 287311827 55731397 778597776 944355137 516740378 866345107 877640209 62405240 764806523 434953937 759223 491901442 842668423 144369638 442472338 250328498 665847773 938900161 627533105 195200240 389899358 612727065 643049788 733045115 202483711 583944014 234944451 18172071 732074118 502257996 967501911 19385944 410505744 746099687 816257432 927246122 464961145 546413992 989651361 82284020 981367929 842926936 574185461 824036351 839812925 16657799 74364849 358177050 808074311 554414305 553377289 50490020 19657721 48943428 783535134 222141431 632887441 18479584 92829854 364961558 373253932 60331764 236863853 783759675 658947802 53121285 563522148 123908947 452051628 405689861 58709318 433419556 101133148 632894778 109972259 940946072 502068928 36853459 151639473 162659591 443784115 705016762 213149610 463441835 753960189 849201096 685583266 239363982 720197031 630929471 604325539 93450962 543777586 693705744 729726989 55241740 599343380 145765488 31667038 51395007 403971700 90376355 337330915 505104847 723271132 447303173 298567271 77856412 336672983 450206743 93032354 780457097 7739856 306181963 243898931 614216397 7899410 781998548 853580378 728096441 412928018 310422268 674063754 956705604 4128011 256307094 11947343 603471390 402072582 43614380 507382749 806044281 133990734 844713663 163665480 709778217 144533187 314749102 640150980 481206169 764955844 733183333 261663265 625212052 39365296 358078547 239428448 47264705 140077095 93008825 627877497 405521464 255947444 301941251 214743419 260075455 558248344 79207113 716063196 812837277 122821492 223445944 471397910 109328577 68159606 635063389 671623146 65209144 949812490 164290477 546415312 567284685 897473810 808078576 45013088 789355457 18673475 284441535 689136513 158750569 229966711 317014010 564272032 485914155 471471612 779015451 598505961 29719955 858222563 314569156 695073584 833560407 390531452 166471493 795405335 311207409 654051233 319544832 376416553 456380074 483835309 922831864 23664758 233825470 583426792 68677846 23180926 602100266 205635732 712317438 760850834 288118795 881847799 177639217 774032949 353319410 809171019 225055261 235555717 519909934 539624416 930629300 205986692 930155867 949617144 1392026 93879628 603668376 173453210 470296180 60048449 509804870 393128043 936229558 743630339 976554834 857423755 766811264 431171451 915575839 331645053 44538636 203694633 66009204 222177853 830243933 419328613 31348871 55299193 507400681 403775156 447439960 290546332 609761847 230112179 240163475 463670225 323991806 696348202 637123434 794287985 608913002 146928303 39932379 397658912 743074993 16487213 107599018 362402608 300175015 23174856 694047660 344713651 79385840 760056863 566891503 909629772 31901828 450756725 964928964 539302508 854531881 264885276 829848840 316810079 494997454 922528666 780480303 818989259 618876868 270120088 613277243 80306221 269564742 653209621 477965132 12639734 522213185 585564150 375042341 822388200 608739005 921606353 19618202 688124845 534179567 586509704 450270968 566081394 889782780 267716284 957900254 596831012 532601559 640265445 913641091 27599012 562794110 694121393 846588270 34187329 964241481 312381864 114493550 86322574 818107836 592458681 98962308 192837373 30539182 326521000 15225572 639278187 248127352 34843773 179919383 782306919 473869828 630190350 200904664 216168959 897906633 11321269 812999971 283024543 651586713 726641061 310623554 66897175 273278805 9728175 101084503 90036637 174626390 68094404 176359211 992734226 660553085 127837870 185571598 691092266 454358869 53313521 182886804 702486221 940673645 215322538 337309491 267059824 845512888 390730506 483228782 595935872 402051775 296228752 878960415 53638487 875386164 42100320 120535661 1181321 51828495 74136516 91217957 78971236 142230919 120093519 71705461 802784003 247931388 109793410 346392621 702290257 163106930 381795776 257292829 103780574 597118314 594602319 223356749 295147553 985332824 706585531 891083424 239900950 2814282 622560190 293539437 730716798 517176862 266591449 731898118 421521708 340727964 823116074 500492943 482958883 943209593 572198404 138259237 43657332 681991813 484651857 745947588 697615095 866447633 3240416 653912020 316082298 450359086 877268769 611229850 288208262 583854299 354829625 528109211 439184932 977389815 821648647 22418081 347083028 88240096 754316198 768604735 281484411 429948624 269097677 764443293 225674568 693812432 902702530 269331899 228320597 239870738 15279487 925935691 106318370 18519902 579847710 274917019 321395340 309632830 886146868 609603601 893487128 240976493 137712811 185188412 70882659 811877810 207606492 417965686 752634257 961922690 39086772 34118667 244387665 308184448 798561960 470062232 1996880 553780841 739394130 82833828 793651578 754673616 8769518 752486300 625709870 441133579 27403318 947105209 750766409 913550186 409225161 496769888 7043030 546937971 681958299 77925688 211332132 742081143 348407725 963966388 556520184 387494496 998085055 800907848 548195295 649163366 270970079 402708526 55460558 10364208 485542353 849112135 617554176 494311870 601598434 95780397 935445449 481518104 895401957 538728209 247584641 304627117 35498096 254627670 704081439 569972747 185069709 915413571 312053889 385993785 879379958 868574072 773488280 729981364 521998271 174199926 231661081 792968349 576908452 287121638 655848908 62450804 136233773 125919435 409279026 590348558 74216183 197240826 71866661 969618139 735969034 171967653 126761607 771467129 426595322 830843046 193956227 464181382 746256616 506010115 850175166 478152925 227100538 476179797 60650641 749098808 650379723 144828073 394583508 227288174 431949711 902948768 142255329 420699835 28868202 551534354 863564744 103084385 748775179 787947757 925218875 484744212 959915409 51980482 108727693 239027083 882823527 302683919 703208464 481596494 661210386 553383630 812265770 888310923 29563426 872916410 489926083 532459500 17744483 737025942 759747673 302210545 639974709 902003002 575426731 521359263 306053707 438991474 476959999 54828886 79455582 254695225 392089449 39370991 306675706 500817141 278398073 42015584 656017412 981606536 376128429 317227797 387506517 188394199 58055071 269586295 913826960 400497505 802045794 784087794 137523447 414309819 86298338 630014507 168829172 514241420 3890121 474882878 953232894 480850119 382228115 32688475 735545344 774317564 924575817 894737401 127651056 55490241 936752985 783668467 37096777 165397765 100896263 277119645 353791963 11467686 399222291 120135275 411965190 53784437 904223068 402004988 468094255 843037758 32019495 489439778 357279177 35909615 964322655 163028422 369276086 199067122 48233249 104821429 973384685 972809065 852075181 101035740 28299306 641344517 884704207 917912434 806742282 838116821 47548430 13050596 702100858 446770721 133185870 114066048 500555157 37408938 368587387 821165763 880446695 400606881 310605540 90242223 289032848 127444546 105786997 658308933 326511667 154020245 615646713 152412703 979345661 467721893 253448443 860161318 109066410 990669001 630590103 768325043 681302173 678138533 781375638 383403031 977425605 914561508 349985430 330497113 951970445 718572816 151662875 684933491 971696049 314784766 627692065 260728896 442229311 733479061 919037828 621257330 887499305 387200892 773670032 719361318 854922784 27118474 579522635 816505545 870303826 62629090 437346939 551605999 740767622 218722577 787525381 570709578 133284084 137510810 901206690 937770880 708599977 52869564 475220722 532812377 220170681 102912786 793541272 662399991 688908199 565095451 136173672 428923855 952296342 909843704 148285172 659735478 789478529 580324159 328757374 659782355 642953248 766104313 63904705 236237221 837343241 851430085 806946798 823143676 841457246 708153487 613430907 402573574 613539402 88651628 935385951 833710082 44080765 581443574 348626424 585505315 999055377 484800096 14429170 803868070 247160151 15230693 316119899 36638679 595554851 644877273 548937385 238508098 263497937 612842089 474745318 100841177 316788525 134208467 776501204 10762122 842361953 389932110 265852048 308417706 331100089 53754350 994644139 227697205 635197923 195786915 813202520 486769651 680587010 680148041 290637721 927747160 695378733 606757619 816902190 290933584 104151243 365839575 381958033 220165531 831198015 856703351 173523059 502892 990911817 950024262 11265013 685790122 192472723 277117060 846724179 523572811 330871409 841368318 603786368 818585684 37155232 269505239 305355334 570258593 949653279 448509406 350522104 645032011 55267025 19940645 788481946 11934619 385780219 170439979 232100150 69494586 879659681 405623208 69997477 723087849 208163822 81262489 261394322 400636544 210895901 108118501 924209355 541767309 802003170 380512074 212869344 691674753 650017312 518224678 114449697 599670590 966734083 464971800 97218952 874517459 484912444 885700898 738968430 723209015 908657228 971068579 792703600 788316908 229208138 862701076 363921108 437371959 943963564 625315430 838008503 7375816 733433930 614734209 549143125 387953451 995246282 762012468 79628203 497779945 132753497 194077899 97450534 952003932 511566050 47185837 679037742 996478493 785403086 418006171 572203859 694060313 241591101 364907458 334893572 323315591 80124885 698814680 760687549 24088449 176646461 451212403 31464264 910080390 918462963 433123740 150550192 766225596 47652560 230178394 264005540 32922408 276772644 213972425 984926339 788338693 113674614 663964081 637333537 899077699 934486603 209537396 445654364 28594056 426961205 780547935 351909646 507086090 331878966 112597194 383690890 508525426 416325949 267671505 271122167 187305263 700795245 421672358 953530859 600964156 504367103 70052750 633886563 781139746 284025175 618812902 569478438 397699788 135293334 59328327 149293838 69779936 268865722 594948201 98373991 695826926 228012488 302799988 55429367 559891453 267913534 439120256 920933231 684239482 706791761 44571749 871544744 260103357 466244107 677591954 861067512 970611209 747644704 494954074 604267307 31669878 966283327 26262096 281886017 101576660 85590422 431179854 23872948 354456143 26128055 974763290 902799421 106656894 130079630 958228787 666548346 397993163 397349043 439997928 82232644 104140803 484569677 806293739 216760511 950813783 336402045 77828022 773941343 84046748 425298447 230725001 968232977 391581774 256987097 102635345 345674785 342577518 533815198 222064084 697033661 412459604 49343726 452349433 519116497 179423355 410578219 38181195 577416517 660443613 478179122 512165512 617100767 962748798 170975602 833861277 766078932 507377646 911689298 392536627 443940745 189504097 623261627 412173721 581085870 880248723 514809065 779277006 75342593 901140615 1341090 772376253 166116570 903201167 77242037 685233067 82624521 487820255 575930613 512557389 780220 54109734 877239252 617880986 869374884 48214853 451742263 487970167 408108851 215947912 733023145 852049595 405452008 208801124 116739668 839054229 89049846 484065084 618331235 16908790 385205698 472188676 789285042 551322268 227906194 866527078 89071686 163047066 206863685 665002298 675604454 207643904 571628383 405360057 825524889 293519618 306091261 129783503 634006137 714200111 198247767 367029281 418766058 603699774 575830404 388022077 295270355 517396602 872087160 913601589 534305391 109809210 238306616 176106785 661131477 466212809 895150214 602719514 629259874 102013898 120238163 157380679 162174153 691866545 562740735 840215394 837902515 868831995 969998896 471908651 435548458 20763014 691454283 706830867 624462788 119801039 94852943 919733142 637197640 966940102 685851082 24019382 76749311 776674049 52642518 590397139 95403209 947792732 45633004 724663082 902322981 165871166 734560112 64497134 857737711 149817198 757228879 548156577 18649192 579744126 20065227 306714001 600507140 564035861 13544867 77486279 683836899 960914161 997219420 173550890 780370615 535586853 197570272 709636277 164777253 250212789 152549768 260180461 50521872 198182771 984843542 952844853 364053937 571920005 869858338 74307999 721737202 627087216 622464575 592902745 59347693 495046153 899616746 659854832 59082013 765677964 737341110 742918912 579108477 587076881 916469801 359479091 122663733 966556424 69115367 139957337 69285565 74181486 400137797 119807436 272364257 237497690 72652288 636418193 809417694 942510625 710726191 531154895 422114192 333190765 124057640 481461885 828236917 876190737 141316716 739835281 494385052 731174178 335270544 73493528 318251058 104256697 285488970 293431143 70813120 207120689 433388479 140098684 281302174 833526276 259906120 553666430 71023965 185074759 42600974 732958011 127585384 753327164 116629257 402215927 86517928 93203248 736194163 767271196 969393984 730027231 359622829 316295388 461201408 694893372 242305267 631968817 799150068 380310589 925399959 869963188 587431277 211304790 862578223 721249802 897347417 122484342 127432584 820887733 160075453 170033557 553845743 140177188 923360721 670475000 542393114 862395000 763678247 131103629 482182548 585588583 861130859 841805376 754400322 174848618 536698747 996705588 806817434 188365167 229532528 584733745 58328354 816963804 796038534 773422928 390729958 545902302 748423622 518162541 366790034 908499074 688196097 773152129 48676261 611556817 296143480 443585726 326468169 59821726 574689354 808650716 497926660 435820212 650456091 104843333 610668829 39671189 101548921 270002615 228036355 183597800 854736359 138881060 561604 503291244 912303988 243807913 49193545 513243961 761970453 268499930 421743034 450166549 41652058 322935646 914239718 337795537 766521371 240707886 250133615 341210725 49358601 600576626 629547288 552331043 705419959 92732469 444518583 659485231 362735083 672554938 843083030 217471441 663952349 696160985 720762684 428772688 939968897 622472580 942016648 701939349 890972509 216276033 4622250 932624567 539211678 918861967 122936455 305733049 12086204 225586421 499460125 913961156 826163047 129007412 318808550 531583005 221739880 763327132 43584587 584474962 288398421 886667616 654462754 952350770 582828601 227741789 381123457 375313849 850214368 175656457 77253198 741186877 391932489 934391799 526327795 931144167 705770117 501780601 89393567 717856320 727367022 588853691 484333827 553530068 717861102 803142376 937629424 792117334 566469507 981214010 229108647 854867928 867881625 883571401 659735049 303226577 111313189 40858505 678540426 961527557 69031313 608309975 555230785 460963802 395218125 934074931 392107968 100988241 435855531 481501534 671360912 15738904 70355224 155694738 569268971 640732677 958837113 359414746 285366362 377822971 340628755 514475009 85207250 61026732 398046409 744942298 216769660 361875949 638317155 895310085 175919857 707348467 356136411 731150641 20828620 751354535 517741923 412936587 704859127 953597454 746954472 376220038 969336357 669826047 384431127 391121680 163075076 195784591 750536425 448441437 573607562 943681532 962916445 511331163 4708263 213479205 108789813 73994274 575355154 747106967 969304359 751275010 306971785 177957121 334942003 327800405 781828008 852683925 593253343 486687134 658797730 340207815 715423524 480650439 10033861 99854650 871772118 25625288 295639241 474824894 474066725 721763154 271022777 436983169 233094316 128247391 650462374 341884128 202241665 78333879 941507446 24062375 829608888 100995583 202019495 164550890 428795987 983847502 17234815 22049329 323050988 528548896 214773495 38474511 9199334 77323708 990845512 733487803 102948995 139001104 60829049 577015719 860764257 331851825 866515240 93858573 460099216 369493965 288259052 662340880 447827843 82282850 686403254 277436730 183278432 888422748 294503972 612074418 724786602 164255138 486640098 900353941 692804033 553929945 791344803 702003367 631253652 782190314 288007521 586718998 921191418 348836569 16251069 634472026 680688394 882766308 580846950 140787609 252260272 869106002 803128488 700088114 951388851 342048093 830041195 134667282 82987192 124545166 599258051 807773793 288800303 938414500 560644085 981604336 492344444 351988887 536124054 976114447 986695553 824131574 562833445 760403322 25484495 579084513 394875347 706172888 314367172 975722297 846960496 566627443 697344650 502605335 119231908 501249852 844653427 949273102 488433485 927640618 926334620 940207887 587930763 67651274 878622386 1091199 49255609 223483182 353080086 437896014 52113980 192291990 114543940 614947424 952695311 140028434 46548288 200087009 846201321 360915459 28325657 545678168 780059253 725670306 900799854 899291160 79436509 597969632 701080614 420386345 378126601 479931585 360594231 966057363 547582858 91732969 967148562 449354819 167732502 172744999 887250832 219846481 365036988 854311123 834793905 170248650 994339556 733858544 370335658 693057228 94774003 398661315 91251747 727349607 124331620 992051600 479157119 56284481 442537583 32754084 476670825 820664184 512685668 689781408 639237898 60268525 781514376 458902811 509623343 949246877 631647809 249390527 21609709 849201148 103701649 856403613 19449797 950557557 442778509 389785455 496131136 390068863 788446769 439899235 117418469 765294740 284467186 596575587 674095572 727004769 629329670 3282749 547668952 142015337 693064156 39423201 54800214 327094883 498326012 416939908 128858111 129973820 666330434 150467819 831691320 622548435 6871432 851141116 425622343 302166292 93442922 774269830 692235154 734406042 214169064 809653622 352217134 498636250 258745561 26312705 78157370 740591582 29595453 625826321 735123271 722659608 665249521 789923484 49754490 16091884 59379743 31128952 146065704 725710177 181596771 830273375 200774963 40984554 533930842 478913657 343150845 627373764 253183486 35385998 214296157 319868902 697555971 566513290 818505151 956301531 592825995 896662520 549409465 474937799 375005192 284532735 50113759 892771064 926972570 99868248 908862948 986352312 130997200 907445003 564578840 165110322 737718377 765353802 206094875 124165570 96783810 549245719 751539333 349967296 584631716 965835490 669836197 134704038 384865131 340857699 91005569 977691125 90036570 492931385 305145276 317558113 777464119 355259034 210329176 556953040 307643633 119192123 543305351 291157184 879153477 107884191 456267505 469388205 725754344 662362379 593553775 822538154 211608097 197609459 25021801 648756164 15961300 547374349 783460202 400826431 888232047 726982122 231033907 830784968 219913506 536179182 148343080 849893976 891438215 211188607 406847015 199081848 182897082 802668717 490239031 62050558 763069259 946506536 531438763 341339955 461385266 124992537 16394460 672993363 175118347 41416260 174265878 191079647 588790608 957726079 591906077 329539006 684708200 822939983 12840325 757138057 359119165 161183404 607032032 103073731 372372010 866395398 302155578 555269091 669064115 644910961 469836001 284649725 443933848 1274763 625989679 905319113 978783651 642384138 430828827 6418349 683800397 605094705 197497995 125107356 562820783 789404071 307162713 100045335 612344054 320003037 857183391 823979570 481186440 316731775 927053300 706074802 35643524 81725230 113860244 704707638 726636190 583696244 989357363 170570037 437487358 467863393 75889149 268787360 110247531 359234328 275205709 646564279 964329032 472703703 771671635 379666166 262107774 78834347 479711500 726968179 251353736 189411243 550947748 732540175 358659369 330517399 291131328 394302892 412242628 404991572 99010530 138878817 988687815 940884244 161965205 426175173 261263988 90370706 694962532 371511518 449605033 970168240 18075797 413934064 295388295 642263783 793600229 557496068 573614481 125828081 136980598 824968216 167755675 687928345 410024743 526415043 18445743 701156070 920717934 283204723 106147641 872244815 422083539 947351808 665645410 584048744 226043332 926909398 674419449 921005863 150937267 124024481 743690455 21529415 390474896 39078749 663793197 36591476 449091168 89924030 14935908 586071765 767408597 182691582 126516461 29949691 709106624 997478555 731105761 629824558 280683277 689769753 354585724 555283168 489637912 20231134 139331911 715681243 947140531 666267711 489203458 98077797 642808543 85410264 119607212 885799790 124489012 635916760 922391265 426096531 578357141 937327173 864684647 345765738 120018754 991201107 375715428 681641730 841196013 959337540 163982639 121879290 501623645 518568362 529678809 991261556 538799495 521527071 706942799 338456377 40311133 48662608 289050526 683119675 134072871 261174089 421435816 111078234 749607200 196343432 537174764 327964341 133670604 254375762 526246430 106205710 98093220 901961857 640363791 939289232 713815749 804346429 913684873 215439393 322914790 443363681 59217300 714230637 964890751 766160098 52687013 5201883 814822705 194253890 540837909 948895575 307944330 962273724 59973808 57551530 11133508 449664923 238032222 144804111 704040684 764278651 103526172 802133903 518756859 596406314 593939487 232572607 400752742 507624359 300528351 576183884 803504392 359745651 290414520 620911494 125905748 195617884 478629729 793244805 242388126 19467637 594656731 550332455 834257713 507146891 607883984 845391220 809328165 845916205 842711682 365885201 462711207 798754206 20535455 981468066 247676871 614474941 66557024 648429613 122099300 367085375 77129848 778120043 726831025 367544367 399031536 705253124 415678602 877661264 351014280 658066727 749645253 945671011 208399182 436419317 305334253 668799517 134326888 114662417 367232074 829554921 333063969 829943280 480825478 353599424 811411345 728502349 968074364 877968369 229448313 942690015 97570095 306578160 720810057 824401119 674122526 972357945 529654242 89801127 702535560 880668522 600384206 304697164 678855884 808783387 741116480 836706488 330099255 727959719 803885256 697331328 557514640 136949225 527274608 38340117 490548648 191202304 619358817 311139363 921687024 848807129 253829378 19257118 155385288 827155786 843658236 682024165 799513730 225828830 624341644 354565642 959013703 224725849 659262805 490385938 886025587 252895637 327092425 216124841 980855355 130977680 913456169 390886346 120443256 293247128 281742815 463508255 336965783 901101631 774647618 258652807 749908760 28476995 130426276 757810399 708149132 974084512 439834564 360179214 52429693 64176207 714744855 11443395 141418407 374007659 354345684 27443993 626903295 681438108 96085185 460275002 664932139 862057705 851161347 637891747 7821184 132904161 101400001 344786967 34005792 876047618 603439773 636430903 757040964 733866048 246757653 317706448 560466911 686592216 677885661 465412955 603284774 392630515 329372701 597219532 619154525 683718384 477179876 98574172 217672843 573265061 558849173 882604982 287839117 410010519 373013080 295660301 395431032 474413080 640447267 281953175 202977050 96403391 918384077 812534365 830269438 17658081 130240812 243252701 704250297 808126472 708665655 160051422 53273338 38038356 757270954 672427863 574273091 86967181 771002034 791945934 660232241 182367558 527067267 948071358 592378076 900080346 96248010 987809107 227009777 736695276 122278633 429986826 833098666 40662709 95037543 515884455 58320790 225278354 759137155 615087438 885921178 320319162 627655211 939194515 210873869 237442516 464138729 785146959 324409697 87657114 429609244 984641937 270024671 956676510 785229646 714919099 856756855 881477655 555244557 83766632 470689282 677523190 366269809 303787947 570702250 461307351 819672402 481539391 539102057 431325908 96626828 425023234 604161421 576798391 216734100 815035289 814240906 533389181 452698600 138650602 621046294 882307843 975808891 743587317 691500705 613554888 458506415 400773911 347548895 13750971 337056894 818238176 543790512 703326703 122026123 114492762 17150405 794214876 596032152 556252461 78057135 545175332 833792046 682218556 121973722 50526146 349770196 788730979 436431678 654985147 927381581 57477971 389809342 755706823 653581639 81310046 369261710 112088053 482083956 716810604 978355376 819140850 387565132 374662239 374983904 362107606 489155000 244650660 8838833 937703504 800903121 86895967 335395187 487211518 621630874 309885260 390254015 971401070 98616238 826685692 478902568 878514170 736680015 868711909 634220992 390261653 950021954 855999054 354866058 284622262 425326009 185737785 956279463 812891140 560400023 183779718 174998745 902071375 428430377 183837577 839774878 81849849 123249896 27686416 569061367 744880769 337571675 959315381 568798190 436187912 786001073 47700758 167218434 375197439 916412666 801439425 765459091 718950972 509954830 972841500 856089585 935280839 11095636 812369047 748171978 571495659 996148764 775687075 326083385 277095492 959524651 18374614 358945341 82774546 46061029 928006707 680171667 383632703 887322087 248969856 819820614 525839511 149186965 987039047 901036949 65599631 640994824 519012392 637066954 3466005 344370243 345672890 938746843 355465879 10558288 539435173 926961537 6707051 315122247 105561273 136318894 127163249 123935886 495264234 62454147 169996914 423270940 742625813 553629616 163109379 844112020 225966581 541465241 993298985 65521980 295018542 911414967 706516803 814030933 400998272 709982807 10917527 746671161 501246002 366383405 757229448 40681174 145861293 616452850 208319772 251422565 752771743 335483020 375358450 248035977 250453518 545355363 523823268 993079330 98984978 686932646 689707702 324951559 80914239 683006686 390473538 375932780 446938004 949506692 42480064 847936275 512005850 53397590 594607435 13251851 419780995 204353234 53933024 565642287 820806083 114769147 817064852 573577825 450252167 192423301 674130153 700705684 737778664 197953421 546301366 689279993 737402418 88525419 14231551 818316656 771532104 257221440 194249435 70986459 59244483 236729498 918922733 571250333 290127088 366046519 584502183 709908082 570399752 490951559 128066720 391205834 605720705 945131571 817300010 908489223 137554872 491430163 461711259 727849887 541899935 8012624 269646231 279302352 96538042 136394134 97619008 720586497 393615573 144384794 791572955 452860056 233630644 563012039 24110388 523757731 929058557 461128922 86182164 499458308 804596832 214248883 743180493 262833889 11896806 560480502 171323111 1968029 904427016 633034369 729817915 446326950 493563344 999464145 578145654 442617737 135858278 528281013 15720585 381990203 672665806 659809891 687366610 906296449 222821929 563993349 282570531 4396837 25122270 221269046 503855144 682235454 435517929 99551988 945069342 447414734 660032490 116392452 449382762 416975857 601943173 31717028 863302807 948022868 883697524 293964812 243156957 872072154 822245824 258877541 106578708 347427981 918687432 793945317 106240782 994025712 357938665 388811312 998422549 235577286 610080358 354794044 917812739 898114638 454346032 715398432 198045723 114378521 684307236 647428484 383870729 138766760 531661863 99689887 86789627 415359386 393654698 329946583 139947891 215900521 441340476 246526598 563328502 212544259 40471914 669569283 206569970 250926930 910896946 57508870 486504216 373493655 412302914 256833306 271608292 866648945 972231738 469654014 833543817 509055325 969598849 217414545 647822084 501260711 317104432 734611710 769136449 710759129 917074645 909084339 779176002 358415120 155610937 195020855 570959378 48599202 864590137 630045699 299526132 628003434 687554569 786030347 1497089 99857482 895380004 125621732 966506426 720128093 595275746 652566594 229183417 417390946 869981138 877005500 918651657 39601921 464133562 540304457 602877402 233724558 449388795 382053403 592139677 457516083 577074257 15615406 506115285 294180745 645661104 805641416 922184178 185732024 444188114 776197618 285589505 339568117 901819350 104612282 59696210 349611447 757178875 141395978 767002392 479676365 870917830 538170400 371794637 187567743 78474856 974672038 421292300 380380003 209241792 13431976 837896085 786316048 881563733 344011369 933013144 379741188 2169136 707713674 565473212 446357249 483911291 851062716 785925366 238246992 808191350 698137927 587858438 417886576 692050256 354860830 897562940 562968085 893031229 121873929 750535827 824022437 96545966 24344478 204402439 305787758 37776453 42298523 944620157 771856537 238826244 877633301 151597725 240995379 437863326 717070936 687352628 921774616 420650003 325794345 12537960 81357704 876448623 600396397 499244280 568498878 955257226 249323571 983983315 700804807 371197499 587035493 377343595 467743465 611379971 581746033 626047574 501672775 476560907 570667730 273529312 567903502 300817382 277643388 808898881 738680707 994714323 348767860 512971675 267880677 527078556 525509634 349238381 403527178 125906030 848482660 824542407 933679608 97806230 808525721 487000766 321520081 248077566 864344360 789263545 859457536 298606744 267827470 361130310 627684002 838495199 487175973 195587504 991828933 764819360 857002736 583025991 612050034 58286947 95997665 879930711 585365502 474023650 81685443 988892679 452446032 782684454 665951437 238641991 733007035 326993510 578159108 54527115 575071075 295019819 696307011 434528610 593626562 964134480 648175271 73826915 655146031 135351244 269414418 646974963 900170603 126417153 82517305 364736989 37220451 31031322 97184051 622585952 505054971 178869493 463994982 810017354 961553946 129946419 48659344 547077332 456939928 479334803 601604447 32011002 774354621 150427809 319055963 220497534 114562289 967231233 294324449 769708319 955098828 563738866 269199633 707785783 542672371 351716937 72522771 579892821 382748258 169706821 54995125 740319581 201092665 518990106 550336934 15162962 648936524 451512630 562240293 958392803 930847432 16361091 842920156 557718405 166788900 14492470 778215938 281351188 981723703 72540386 903575858 789338882 488795604 25291842 497124664 31467974 377008778 422163786 463877146 612273388 591870606 518872270 352592968 792963270 37862376 755446253 808126231 539315251 59475234 222882876 350224406 990322666 239243966 193144561 400557422 406032865 207637031 178773359 687384052 41877085 103830097 443476261 831215966 592625700 468768102 180856982 476610025 845776880 603020767 940487170 310566619 47407725 311875792 663159586 692887346 202254519 271122190 353529929 594086121 330597424 576412804 944310526 173436441 815656769 137455087 573993862 221689634 197608469 752767220 761590037 92001905 856597316 205066298 923217870 301739367 673834399 956591203 778349391 372127630 412128322 571352913 682694248 459536046 883228704 198370185 4939743 937999574 469492375 358469671 532085694 800089798 934882474 328912572 973526238 750539243 318884010 400036451 824745228 516492478 5320022 586335264 608494382 861917338 643917913 384228603 16173056 170268664 193336158 794522447 542396293 605464479 365875359 77606893 65000524 101620414 128493429 69940266 39619987 597985803 280926289 424222032 250591952 215808762 753134603 76634541 818864356 72018612 476670991 643609583 441027441 481991013 82461199 902038174 196424702 726379111 138783129 212597757 896647774 332119286 7120203 291560419 937583764 225511913 221683663 855100639 179648678 350177091 777557256 71785016 948162894 58483544 496007048 51271197 126808658 101658002 127905738 945673013 26192966 457093080 441798948 319736758 791600444 524260146 221774932 988025145 103155608 360558060 53139254 852319734 692677345 912775808 143880152 482777460 138287721 218080166 337878098 170452750 568257256 115435353 242237766 368936501 26435249 738244813 420207698 153243906 692419166 400629787 98916918 718612131 710239218 393232217 38348889 501839662 917492362 112640172 342381158 873164322 325714583 248036763 725484055 18391927 160812571 721880558 353685738 151616643 939960723 691563835 322069392 360734330 659515539 564307157 729670831 538467139 155068321 2394880 691711044 847487487 403024666 643144314 418615969 113263883 36376530 309481209 467619896 806385244 274637732 662517406 532065917 600352314 910554168 110066323 471260592 71366738 831946880 824946329 75499732 624423954 369026515 250085476 985158283 28542054 814392632 567345465 419525544 821977305 569740344 111236588 521981143 972765009 606897253 940597111 938545244 495790134 102594672 258681491 154691729 377232403 921198896 686757645 977584717 684269416 796823967 301361660 608152505 481287198 126307989 683652237 958227503 495334503 933737712 795902138 376392908 600646695 363247602 795918452 275140351 932987946 759671391 797121493 758269306 219084995 590234956 549330901 567391480 692829627 660528744 722083209 922578381 434243991 261357205 752679449 118513406 910697524 54041109 726665911 244501073 32865449 262834499 202728576 528199951 49088562 998630713 757109211 502251608 214394666 405544014 777391959 999898963 17731756 574513451 610684621 236816750 17264758 12531873 804208229 710094384 673060616 378807789 485189117 107304607 492681346 237868565 78334364 403378869 144426025 805000274 647879941 177291473 920351124 703124868 705491424 969439685 554271932 315116986 324207645 768666598 720660999 101599603 621081912 738392754 528629405 231766532 975209503 545894163 244298405 631934083 108504898 917359020 863258224 593694014 877179978 355939569 831562579 955514342 611834789 975988603 613030967 112231081 5796428 533382091 815355949 711287851 355338127 369627880 26404836 679545771 990810829 599582186 633661725 611892741 337974939 162291130 696175624 165700793 708185292 940474028 650151227 816690189 710349400 513409450 262900555 440045729 721865370 94463133 395560070 333700158 922968087 8591037 445931239 928764514 394489479 113803539 492568716 602343957 483431418 371489903 134406080 326758599 971072088 768067804 938651339 161563378 930358933 487343314 179780522 491060576 280333694 829931749 160267117 990683093 195857550 423167671 283245173 917722920 370147155 678805243 103939429 145631593 539912631 549870667 926912459 786918461 663674205 271997526 389262417 999621975 643487429 523668496 326380573 467075868 144252652 117548263 481155598 74611584 604891576 660936119 418188512 885225269 490867867 430971980 728424713 686725417 854139650 11669886 456964688 76803156 542991480 560904116 74951100 935420462 110774783 1863558 722338922 626965339 273861084 964117690 479103665 769864864 340302538 805484237 89457083 484555189 775548851 570612680 411683124 232956779 231548799 829871635 118182047 574933017 113359966 699123112 114174785 967499615 563309349 571139472 896819122 958817180 132043588 971770222 894237641 95334722 973633779 469092914 574816412 100011214 285726955 53920077 869876077 626029492 711920665 959333160 110584680 487469516 382462191 522267804 720426294 614010989 204655790 691124692 41460358 318015756 242764155 155635142 138031722 658589855 726774614 34850844 617407034 858818201 859137417 364161026 806669274 685287547 685770291 381485685 785298761 971497246 287922113 507691189 597526737 999842778 319540700 560627769 339828645 702002891 82895572 60254938 168530231 140067713 603895981 209990588 310599820 699176488 365625730 448631542 357766342 92400343 335998737 827689728 803734895 47652505 44367105 462920520 732940051 730137396 844406204 370755163 701634641 132328317 878446352 151677729 984687446 50503403 712305497 324516090 605022645 647717420 237287379 773552876 640301485 693699711 836059815 950901304 392876198 54201896 252049197 603158892 146602238 588047933 430848619 802853484 635700437 475215723 118290355 221156840 57869470 962696559 591912002 759504110 947541227 322874705 763698191 784745024 373378108 328520039 109261113 978400752 976237459 199064843 604469979 469055295 892764553 293046146 419956598 138157103 347248041 672005795 741315994 346366631 112570079 24680964 1736466 600786868 352413038 120026821 821943707 410282508 82723379 413855708 22302969 882780957 736730413 786001159 520042332 962624872 114521198 481819796 793541975 943275008 680884638 250528306 412330302 426165542 543574451 684803251 416838996 890822491 209325397 10671341 237189121 321895476 35352304 238925587 922682343 387765342 358952407 597142401 798047849 294192137 10998108 820350817 29489445 600244872 458868328 549531776 415386095 573389525 31351571 208928070 369180884 564752560 459456375 781511185 843434453 3030825 318830787 260273449 746369667 528156184 270944789 983558788 850051659 158813445 75000726 625250353 546578786 286469484 74909105 197142986 580661620 85907212 870010154 462667416 538668436 328878481 12199191 954054530 754784357 896067113 15498951 123965240 313336024 327471677 757992776 9286828 183018853 76823563 269560276 929388520 604979746 393021417 765463659 307547756 551834861 840464384 785314460 98413646 126933867 860223564 148072983 560111838 798647127 18083136 22779253 189831914 199477969 887494795 143886444 954262325 636078259 11901746 930743917 801930634 339373423 688736692 811217461 522392275 618076606 80777737 304297146 75572703 326315505 69760804 383120458 878150365 762741539 20951269 829080362 742191757 881174832 977153344 154819946 679821959 847752831 30115550 869653872 899747151 917610344 866056667 706525828 406204954 730474765 637269744 60651939 69848187 178522787 871869400 444756813 796599393 805163488 749053959 872172095 131478992 671331114 107808905 9629356 434072653 128760173 691226069 28780761 9935005 520895764 183600707 542273315 221164946 213716256 264443538 120912097 131326600 983016557 827437924 390047905 713491321 317224019 450699844 635855859 348263157 175085595 933129023 144862549 980249082 534699333 869550996 111728073 206030447 829876252 973873780 492619451 958636424 517616200 521400211 821087780 38511963 705000917 215877446 259676908 918717173 332837336 233105356 902560124 315853892 60543279 145124380 881861564 230283649 595824223 370233774 578546806 770909817 303362796 575925706 603675250 838062129 297993053 567919674 896608927 127869304 394309805 389228377 939022080 911926004 910628587 612626211 950437966 468145856 681020009 62631226 386863028 13857344 295736581 141939503 182227587 208796212 287063882 64089150 291596212 882888105 434322923 870143017 506314273 590202070 298585075 109989523 280780550 449094479 530425548 177389476 429480135 924735353 419134204 221018566 836661356 182279143 833644776 639615674 650424998 367181136 554763251 37288025 381038479 850499831 31743879 563266065 911812394 318807760 479871566 203408606 54212216 914194488 926067974 560526489 356912910 77169400 523032363 637693459 526263879 53457910 815082935 955744013 830709614 86733490 176762578 519887322 269012632 862923705 12019347 919437629 230104841 566782597 809242005 463659671 269798779 840985883 26925736 181611173 159793643 359313653 237536130 214005858 126024493 163604103 627048698 482937402 240773503 2597412 120630860 767037381 56055322 788230146 575297745 739281287 874963636 752060322 259168608 143976267 467500378 271187954 63413896 697605218 837970550 725172252 13781241 107769329 566158135 40706976 141896853 578468129 252536980 379432982 792473986 378561472 395553436 272039036 861498873 636326938 274636447 982129733 255880670 183208120 622876230 831178414 922489407 497839865 435755087 34174366 494332484 903255465 305362320 410262731 453377034 995849221 135434982 467158274 956134901 554109468 360381601 98031753 132577596 612918581 329981086 777567934 991480052 725534522 49606969 705495277 214377811 324243415 540141361 322774833 507451535 163017590 6469598 282457293 513373807 442224685 316631658 7706290 197996501 621993977 417969020 503889886 470359550 405920353 971048160 426494450 960029821 183946112 377042555 92607416 649381044 559539992 722691701 493377448 137590865 772298669 198872724 351968676 949058436 739014084 674743508 309026322 754548025 681213105 591483614 267921831 975954141 908115271 128144472 26466993 382625600 546113491 530356879 852985149 952033844 353921390 131995950 764580016 537867501 509038504 709703783 39764897 68578496 432395484 533142344 58685712 57210504 732015067 410654387 6268939 323545502 937914246 167811612 78093526 471643703 759295225 198531709 447597843 667410496 326676180 474064836 50036095 725306023 4421714 755537595 529856218 210859455 887533544 294436233 748726955 249088400 4140015 788491851 170183247 289051850 174150546 228868958 198778706 906165612 639523345 57563996 82227465 429953942 225375608 12837343 901597644 984670832 63885403 201711839 504597679 390561582 675776674 407150125 115867604 532714739 162687719 498240173 743574193 50221263 792676405 344817499 151826014 649332772 985825702 322009260 790900973 159976247 550878217 989679678 918658211 42917913 47243674 885675 472871855 272619281 866239369 374469498 109806464 930124771 576181336 614404143 173202705 104474361 21554267 141586660 489705451 36758338 639826833 85795995 86979600 285019589 430613494 91321965 934352360 268955547 413331224 577769685 428931793 964209440 567449362 200106355 7127353 467209387 53508382 479999207 739828667 919747750 706985056 849635131 849872521 135682744 316555625 23075225 240157104 338109891 17178236 729862555 374868228 657005068 815658549 314364179 942024657 98788394 405686143 728893368 367743940 819017366 306663052 649192085 635743158 726628766 849298439 642870510 193838152 902806820 975386068 786183171 822554570 682371123 488334653 524943442 818053866 804890277 400535018 910727322 143000167 417713253 493106228 370384747 74718321 161281128 537265277 869259329 260069522 942951420 598152696 480329813 614485137 757332100 129521897 102744646 483960865 978820336 745615155 530315368 734143507 573517574 316498538 409214428 108405049 804833190 934157869 926458914 462239818 187209238 689702587 457756337 457438843 182808814 828141083 384673515 344089942 217922711 253932843 456675815 13390482 704601890 937005627 627875619 461933989 66527524 730620264 798411205 897864211 328751771 328726573 484524069 902269344 497741462 893738497 10674392 155091004 680412717 789649658 617330821 867621955 331868596 75087157 177577149 514677410 755744591 562250663 711283703 973667302 816183505 167959517 987057783 373301746 104965143 467449753 835235735 24009018 50586369 486163291 774389580 379338139 814889863 111430001 134123834 165147677 5168497 997314578 320238680 685581213 639480587 937569500 405719519 971349182 12656657 583296667 338542943 620917599 145547329 49826645 594584900 814247185 70302513 434159035 40065283 27784008 901608787 875301017 51793025 952195155 213980659 678698957 184049645 28870522 790128957 318173479 46534550 647813805 168004408 366773229 185911369 807484994 304342728 591630888 778834175 169515736 27443906 117377118 790433335 25507587 19720114 237534586 692271123 90022627 671693620 732336405 117806634 425818759 460153773 22116010 378013913 674134432 553331318 562063558 555521305 195976626 732753388 602055854 843790430 900757795 968829082 29701799 708242788 125688161 473849038 339593314 295203897 501292943 309486783 938153583 379316881 181723249 28204520 71588004 271745875 699898140 803924408 242068860 125716898 116594533 264184869 356247162 790728964 817516187 770827071 346250268 13492812 503580458 948306121 709799594 256854604 769651554 739501392 965097391 895339714 65866781 157207057 43059962 567159723 319210191 981213544 946476604 500933439 9418064 870580959 772679313 561832555 527021718 14748172 540065804 643616250 131449393 896312965 434345213 801481931 519656388 633111832 667491094 23236845 433934304 377290687 132607801 203585857 969308430 97705191 98925571 35175210 107428599 141985532 454851285 426638790 975715428 253844240 927572228 985133491 124425198 552767893 399482397 651446915 420032416 939548200 147579517 403998160 688377516 581924729 205480090 208033903 67552913 872971184 83787100 501487216 102778222 216394900 705073073 72086652 166616442 656514995 959778213 126561393 651016878 414629497 553200182 479248657 668473736 333288761 316898499 645415285 738573005 716380895 149378552 11121773 655929094 296958068 415119932 196822962 878882796 620600022 404856864 946435708 346087557 341160315 300439276 301382130 557555214 5512348 225985133 576688008 514543694 185763346 703249400 18076923 452909194 108965933 497325580 121382930 442254693 814224078 619314566 33344050 383121325 768693117 44465822 39050418 65651184 459585753 88389731 797050332 80185774 493246595 596002391 278789682 834406909 896441666 580171812 244478475 754470365 806156944 821166482 121530410 844436641 376932233 139607333 297345835 485898165 489449264 271245116 928152857 156189693 890559681 961496906 539311017 511769150 5962727 430877787 577420333 318064832 519267517 226987016 250766957 12514111 822989407 529556639 699437372 719431072 962244802 796432198 326417789 620918097 470115031 447948198 465354738 847047263 587555530 615216924 332945427 77004793 886462039 113614635 85710838 629538071 927627893 625021854 141307220 786106971 55899640 571243905 104171802 575167157 798230920 354938759 440197619 473736678 737011749 992151342 45684102 699256550 788583539 372101890 172690998 111214921 820050087 638045735 958262183 260121969 105779010 143723961 189643113 992241048 257338596 275353950 474295471 37482840 900375804 468119042 823589810 956275443 891879298 927761612 383958951 542626570 135216722 676672922 16363247 872228470 668824263 62047348 424001371 309924154 434149237 596692368 421139074 106715676 87254455 231917609 366837644 193033464 375641569 556480756 37790864 632980164 831834706 364602686 670463003 732210509 832721727 346569165 541002303 577117377 126847128 777477606 119743946 262063849 454150527 136107192 986808670 975491141 50670892 263326392 137931646 337336480 860018759 559070720 444052155 799789565 790988328 810889798 992823029 19146248 367370554 883130244 652126412 51721611 247732929 175105766 783932119 932971007 521674930 177450773 510088383 648522057 954928378 482348680 763102257 261595256 470972224 749910926 89602749 521643115 13237317 227534394 858979594 725772428 786605113 155548101 378078344 430109792 966437898 223417724 449256040 186324803 106547967 953898803 238046413 206797247 129004568 21978531 139768254 503195850 51945656 502372988 4234258 859390385 984721668 767336515 120985641 455693891 369763792 63104741 829853357 235517461 290639134 541349302 813806240 77244247 696897402 191884583 359870390 663335300 415302307 661642781 849660102 374366625 615541583 87706515 581163872 597062503 962201397 720932125 952774704 866663404 75821464 957008961 726053789 60543131 576861827 699555781 368753373 799141971 762660521 198606729 34659431 53299654 739956031 700982022 983060252 289369784 892866604 195446994 952705083 160685262 857089774 654881537 535051887 325147709 595104403 116215758 774726563 409822151 689664234 727501266 129001907 765485697 537026578 855055695 678545180 966404757 407127827 47298552 765546727 22304699 98421633 652722509 928120704 838377663 206220882 763697308 127747446 99087485 959144301 932968881 112289099 668750426 440366769 499857337 846414486 887987523 468589446 621141048 150326025 10770031 201158665 279327931 776255727 590701595 134383625 307317258 557106351 394027803 354615810 175169429 268848853 453037442 680408289 196969557 143931456 886629170 960666864 124195253 838233006 772327516 909680485 950522104 293594293 202563605 302895792 140008779 90551127 771485237 613666178 240877152 782255267 667341195 520205082 411027346 258042789 507105059 718344603 667665491 753649213 72960412 842834919 22498066 378514205 375759559 71983974 374962012 262388728 32650837 499157265 100621733 657494704 261354101 903660189 803605348 463917706 59072332 796130478 554468832 830557569 262313008 647862335 612812835 929654202 20583769 23840180 40213342 527688827 594701135 707878832 133854391 520177898 403230102 156352456 898692103 778989660 228336429 126170466 41378387 113503617 625327730 994516471 623514672 886681831 750693011 427120020 203115888 809765343 75766849 757584719 492839263 338079856 257963406 105652097 267734057 278547174 982008629 307947398 806236000 429226115 15826229 940090390 949404012 271572682 948959198 700612466 50562341 29811978 826782932 944457079 143315595 304627013 791489902 766830266 43825195 394699264 46466637 246941082 56980958 122233486 4525801 549820220 460313341 115005558 507988669 580563750 393552731 342513649 888511147 52305082 771739763 756853728 992395471 721143774 28426409 793871020 274272592 931505102 823682998 101055523 875962180 966998592 405682535 519968433 586345209 449507730 914667697 485328198 696448811 971648654 607561683 553490963 521468874 920391375 668496520 29457542 500955124 62049250 224487542 241982623 114354331 996227304 851352702 959266154 569887429 732295462 605653525 844160020 663800563 429336522 945215542 392279095 248851465 203414429 912247527 687713026 505438510 679431575 173041223 54403672 651080229 633119257 607894635 25065454 553510631 128907506 907039347 906982107 43473108 131526888 1481081 10343790 127754191 852833782 822126295 550157971 585129243 427779820 394317991 101446158 709632693 192049884 346241604 958484158 247980664 111005482 498713535 753419173 790437057 671754757 807822845 294033637 157390365 268233831 319099090 710900995 397141336 78654788 470399453 293130795 210181675 471880533 303474585 190452217 324714314 125600879 740610187 762359909 405897050 987444529 863806066 115529743 32010765 62564021 926530252 279991428 173569502 277760138 33410601 964006558 949514894 841233445 258040194 106905258 109467275 429655635 670322604 359124962 508310422 140722057 652255757 718492096 465118941 808246693 761460664 789833255 786363923 354587203 404709515 44777325 342031731 121031932 12823419 374042495 183595952 939353670 654033923 357165453 69630159 539960875 321172011 19145052 233710671 431728556 978566661 195694297 861384191 501405616 554819258 369694612 494644024 59591366 940703060 959762965 867838058 702163723 602112571 506718333 56750925 6822085 551495657 251299008 127854016 564319075 477857854 163966319 356189096 131891776 521131771 425819254 524369002 842303781 297480657 758079672 126548689 128563669 953773968 987932879 629969284 361109578 210143842 977129660 420700943 150846901 789408976 141055353 705526976 244037898 647773685 614794252 103376334 51785693 866093259 83746701 616104767 196467465 247713019 972293862 180875592 768844789 398113115 705244594 463664922 695593771 463324265 590213610 824157439 269614585 578146488 306643074 630724162 788290329 136289085 51425104 791653582 925698060 44996808 497180557 169735957 545286844 111974808 273112290 597072536 830584419 356858990 213177302 27051883 604572008 37987515 60443826 225933149 436100629 765688419 689598070 984210751 81529036 279811679 660884541 351143620 710474518 967527615 981867781 351281198 103816699 885809236 142934779 882031111 930806044 492631687 51767067 328609239 457122847 177395709 925681775 140223617 386771050 138859076 19791851 991343058 29362943 80235676 69792558 465463571 845924095 759390627 302190674 927453130 39202305 963075214 278596749 602193174 783119180 112980881 953474371 739452231 998790116 96409150 621483341 782112511 441557188 525766759 110721750 898680034 555678819 36403524 38903650 942449869 27778951 58695500 786309278 57141893 138931176 856101835 375121816 984855270 615492461 677312489 764824751 507211117 492904054 43421499 109404290 276023234 8918731 915395012 15475464 7708846 864320513 489475156 789821357 305877701 867758266 753059458 57074086 423437085 641979333 95977736 218403305 522274635 7189587 4712582 431932880 146120762 860814416 807054695 983492383 328823228 336883535 748317133 688550696 829787588 644254983 650471337 958327173 653173713 565866348 826318988 513398911 282703213 168310495 155736619 588580913 36068761 908796076 645654998 312022197 550775408 594149085 530425501 73050042 601338672 535138082 357499273 747459433 248468849 17070319 583468168 429808428 353953853 184301652 118359123 36257793 828556635 768830459 994584965 334246699 187213158 673420305 847645609 469916370 841730799 3382227 911013634 877799559 764694654 409184984 42338107 167986413 3334068 572763607 93552807 604672739 107901688 451052079 204648524 208886888 468122398 788116691 638695315 822076250 972418342 609570789 710850394 653491328 230917599 557951711 840254379 418130757 231372015 540416339 740563478 73102813 396314918 651577112 803418724 161009571 60762095 845756830 328995984 916612514 271036789 422548790 373801605 231454828 873600868 578450128 440341716 194239617 219083170 931553382 16315867 44017863 541124171 579682612 550025543 772041769 137634322 390279921 42688877 221522688 930696259 783252355 147141853 179527528 287345818 950560576 340537099 200624264 648833757 522049434 117236777 919870545 944598223 343554733 3841725 670715442 922004860 444183440 864955059 993604381 228253173 733787277 37622244 769377343 165986240 440164138 393935464 303620562 830444058 289140692 525143249 613656668 72393046 672285101 793184196 212255215 475362028 986237646 265395830 976712137 508287079 235148959 749099033 305401653 578703691 752940757 828633446 353224903 49640548 546104856 346829283 277893721 132408484 236967878 47271063 298394724 677132015 293722878 602015285 360092424 582863570 979674885 826265444 507772967 504476338 471965991 572544534 979838365 458203636 837940363 809066853 819007066 73089321 558165886 124408718 651793012 163622994 805558515 5017914 213263542 351663371 204363548 491157262 484071854 293847778 390944676 782466577 970979792 684667554 236998213 183588568 120047475 69189450 9854011 480336793 573665787 334336353 52881326 406020503 792539988 890821689 215087356 464063405 816427361 625769593 440988474 320736724 789392586 246546988 178270989 2656127 450726710 382634537 493813388 934798564 676482314 884758064 569781492 499978457 421941969 659296057 536083376 394505795 728485506 398453738 874842587 302151292 732790090 927723913 708171794 377846429 671061953 775775501 841909833 340005665 401545093 282898306 660742389 43454031 381961646 839013377 46110157 832688355 74164265 392439897 620003270 750646578 129714312 42301114 103141387 551656280 701597170 639224762 946162074 430082675 37678500 673521012 584750318 622984941 453761276 145438463 831370 124823228 921213964 842741202 317345245 175275408 978155860 978087633 218729438 360117505 817101009 264839595 45322211 891265274 657279491 665325481 494428203 786993802 707626594 450085941 191166433 409223763 89310703 989844858 691822789 979505554 663365869 276573106 455006846 117127145 422011568 455838215 94466724 195741883 151095769 264328320 371017291 129251628 242415952 589746728 341885484 912033313 854586322 387207694 655814938 364382164 52533174 2759492 3892317 612676119 452845433 47575101 21899881 394672487 37419958 566239021 226694392 553302179 842812126 681701237 522945675 117340046 137539452 469928750 313081928 141151572 734257070 684099218 122919551 976673021 126362298 317321386 741222685 980948619 704529079 397037622 197847135 609578605 399797114 54255803 74771075 852642546 101830904 96670956 99831384 139250861 515426328 326525775 692553039 210754806 8227011 68015065 328094851 998282814 537943815 493693130 139434385 272200884 30308700 114870287 101390256 156670997 432191672 842612941 137619615 989237103 92166914 187983101 451332059 344480379 242238904 526103133 49639276 344069807 475290440 149470659 335837019 990716768 475996433 28390058 201471573 484223444 96405122 382082775 335022609 486865288 875775904 326973346 759066171 906084603 441843632 712972779 62755599 726551656 408102071 52891566 715788758 500268984 93391018 19637168 844749363 335629921 545740300 894388638 532216079 21030740 43859297 868053098 11747507 372372081 748959507 65735431 856595524 697880980 447818205 44134485 184746268 176110460 371107830 796328790 82195063 812951461 509301568 144950661 392019468 917403638 50358578 107808225 270188974 143749596 127445392 967454688 331895868 525702044 714359677 864111947 546732783 610735325 732165044 410996641 983107406 333640902 329248423 692219281 31521881 777066627 736353765 68784500 953177086 107461594 865113290 887888500 772929407 226931209 885355513 164948874 144334847 935714090 125273451 267040172 931980037 105235194 87011211 263875905 630937237 801370887 127987851 30186371 412106212 712669246 293699363 247729969 46310147 622947785 939949249 930348379 252530763 676303014 999132879 58224201 636280959 864246168 946112700 409210365 91177376 831468212 426675591 88028574 619698654 551949041 207585097 404195042 509700586 294596307 668070946 140637823 95967194 648575148 23340545 360589757 213760745 317039908 608319725 112587243 939987692 400785325 42935622 45034807 77088338 894584852 103259007 565885649 611347371 49371706 975096013 555041098 733356270 254287955 495586024 205571275 806236995 703171120 609766316 168453933 850283779 130353614 161608107 798767324 778928761 184948651 11873432 845205858 354504910 620193156 957793100 147008954 20978480 853245073 192043760 950583170 600346276 295302766 368985170 211693646 344674471 196597534 766734744 78030740 450885489 114837119 136118366 109638835 818008238 745884682 278092767 520808368 876238295 439700873 319575691 507683407 624649524 331449122 352889264 979154433 804158629 163198716 126163386 677653461 868960140 170723497 480752982 469306416 466026262 849738151 533516413 810700733 46335684 152767508 741247824 497221172 267604626 877366190 606860007 85612864 475767223 884952773 458937583 352005517 177169998 778513274 859688923 801819521 962478747 65094539 633490305 766637376 80809606 612170043 296807188 949769745 782893539 777560169 271592512 101436153 627298319 805108925 912136885 526150354 957876432 505901060 23371526 225481058 235783601 482747884 163610273 711550823 220217008 622547855 916072691 397387005 253577480 628277966 51722877 68572579 693372504 537729534 835209954 774182109 2415928 132017141 576468205 785309466 762093661 848060717 886745618 241908331 653169641 651398854 768058684 463562424 9816266 643946561 689043481 98116218 126694444 705170105 809667041 199427804 180234312 578256083 449331160 433811791 206534048 501054037 502384369 752422903 38783570 190110674 379121363 41199497 174644166 955589568 679025314 936737826 803650284 418287284 31162508 309336276 922202489 799221192 772898699 932018754 443167752 314458532 30134972 422378548 19628636 692318364 474322703 52379299 123090798 923653862 486191090 329624846 277224250 841091810 82047748 168524171 31202484 313685463 62240019 58363001 269275030 741265333 847617179 925441665 12068968 878779686 87294292 934271456 678000877 860192990 718806562 973684981 27167873 601457885 248579880 899312861 146292600 722902582 951692159 269383397 646556443 290399600 451524594 923780693 131491410 386088694 92304863 15210245 699774156 7061234 73573245 969049185 748326566 773706775 747007201 612911885 652486461 834301492 399699692 183003689 547010833 118506253 9205021 574178706 572480489 257784900 326007918 571289440 980687481 277700076 840672837 479760276 568099676 144713782 256057320 552107437 530802475 200878534 567317681 230576630 207939767 493407277 52142166 956266332 119630404 799149366 421694568 772116864 485967209 821394260 807636904 32978042 792416864 816841925 459673099 217413705 74626824 785681016 788703144 55314305 63381091 481892332 387590932 483997118 626606114 643648251 36104554 157408588 844526784 455938586 240501570 52466551 801862215 292643735 861249234 921492618 944309453 282943802 546125833 430276661 104338061 353762736 315771054 749271276 23121012 775444152 966684980 97747836 561125167 755388124 5578492 477022610 89796807 393169423 813536079 716402920 36817673 702156985 873811508 733860808 10611922 114313077 786327358 812474136 259473163 500092944 733966753 56298967 783036745 132608937 486575628 739891157 486371673 802346681 341678784 509492684 430307185 308363764 459756871 991432351 916268239 465335362 320971312 6065045 711021136 134507391 722467965 600355160 689180727 448795824 334215968 699792648 415625252 973059677 512266784 527614766 473152620 98749888 583913733 108705716 231358825 70489360 701113224 570246849 725352392 42792008 79739532 8175928 203672123 392012755 999608279 119940361 857348116 173095942 126005405 420885604 160119684 700989721 21240763 849300410 2301896 207973082 401609410 270443499 181032759 913876193 798058265 506701730 865142432 381971997 615407446 96501256 304977708 169037021 519264456 882846451 211829028 451520340 891022379 415501150 843533094 743147009 387957862 553397561 916242950 366479619 974283164 928878986 67469339 995523927 630695747 922287587 56013360 32305156 192731085 237046118 798697700 990789349 743747848 663840132 225277697 211671645 612857739 382771756 380708665 132122195 265618207 445054045 436158886 9156937 860555194 279691979 752303945 101029408 833089539 521063246 467509026 659889055 449942231 387494716 507929333 80637978 309782302 563942692 965459485 355029739 800988810 764157185 198335439 397253009 280513668 423613136 461441005 745887758 806384891 842149669 730526304 924519449 139720065 166685189 933676385 275259 298893519 685980329 101304666 131983058 59559927 421330043 644388464 509502157 808824758 152317796 442656486 118607060 716260487 260632323 326153150 369765648 24789507 524488588 619535008 157819526 948101723 80976012 903707283 607002966 775642033 486749939 384038766 915362097 653435127 317715151 768153707 952328646 856211831 721974724 936828055 915771757 143304766 433732870 277790266 952129524 586050665 720446751 923252935 154827503 981079073 101922436 377109503 858384931 626411023 996644510 868720808 427029098 77620522 624944443 34032063 705778906 111694381 270587180 621141002 617645859 588302330 241811061 422490856 297030513 963785784 211835262 212802269 107090550 645568131 490592534 911736425 84135147 63555637 687505711 238962650 897151061 789428146 616072152 608052344 268355520 465233013 476773151 695384617 395369886 101717593 581933031 101148791 65928325 852520211 574806145 683574184 293338892 816617205 106065039 590369404 780402988 170416653 803171673 740009889 815984783 146280558 504262665 900119930 62352546 44284727 139082579 959503607 686229224 607671082 567555950 954584744 72904094 896845452 649969360 320790332 851079397 84418743 421939122 917007721 936938953 996745266 453098256 230277844 665878822 411679647 820647248 298798162 582096299 476335272 38808050 250597433 475132181 395587067 150717362 537484727 292388145 142316292 496988333 978617369 602503725 917060634 933202112 527924171 813906085 435687823 848714502 517501833 520106565 123169975 287025906 309561869 119915241 740124161 539839713 638310414 4320159 213003312 937108575 438932809 541854935 828432977 689530242 16987115 76536395 840247603 554471841 368924539 835080247 903976525 347541907 437583971 821037158 133260370 965508141 487459595 421464545 666738994 4961427 941571109 789908969 144503684 103649330 762340561 884627845 643489042 400650974 741464355 709008705 190275901 180397164 250863639 18708877 869927405 120367105 95245271 562691359 674838946 464169809 250287957 431331822 664228068 687871928 104885332 797488437 505896420 592344926 71469333 25151766 449822704 13040442 815060734 594326388 116689771 577401294 331470584 612695164 830568619 72934938 174220220 20844519 105848453 425083858 39553395 828292209 545450962 987315017 243499920 72806259 304001178 493787876 504138081 968229245 34176155 609023412 618234033 540072575 53884689 689703366 565224340 356223744 555260159 232801425 950550131 524466281 810202718 134537066 137161444 493287688 59988356 163898015 514132207 18353160 588981872 406201953 846645369 986949185 246033322 90145288 59755444 550034499 583933163 416409876 518263743 618109318 877949639 136497775 10698244 931834327 678717492 428438935 140574422 233977650 661240359 91124553 758443930 323959428 78177970 748121725 817247115 138166325 912019739 183895673 9035837 353517962 590097626 855681205 192983499 836130947 945826492 105255294 238681797 382276006 521665169 756945539 852901675 252131159 745959665 863599918 36481837 277193509 144555204 177056258 511171158 805795562 120697162 122131440 129754989 198875132 722769516 947002104 189557808 487305607 130897776 198593644 840823568 573511753 54274848 33807066 262159051 852617691 139062359 500840847 87410049 513243879 110302737 940311723 765375037 708778754 656427993 801856873 985972262 800983196 978913131 349659771 459295110 99610292 471791210 589050098 151001775 47077078 388568553 193075935 534382684 371982681 391669578 227722603 798010785 298460778 114046021 60169836 3594820 105624731 413527034 91004868 618868610 376346123 883832943 236759998 85124876 392777287 891133223 71097137 46276834 722562705 273273259 505571943 674689348 745064469 947138393 825691123 792141546 188223297 18767057 179040581 560205977 262952986 406763183 210733114 413930115 520809203 123419301 417524935 626433934 536946334 361046154 97818895 913292456 97395448 334578892 850933683 342689086 78228466 774547171 388965920 800791170 47820430 747054214 475480518 645401250 694192606 153687992 290059147 882415903 24971400 469099727 295138231 140440737 875862909 505871344 554370852 396672112 629290644 971895786 23106045 18753330 185458291 120924939 784562137 135370091 308020182 635495820 478059176 386248648 262559342 867025095 39556169 310379771 466595661 515036686 955781020 13304618 521241029 98356518 895720520 546212428 567456244 43375103 686653165 443319153 401762798 93540368 692507616 31053442 65436153 568130012 902323123 103410795 541571302 686885259 238780885 849591483 174897430 716840061 88356482 437456772 436381507 127912651 600352894 902977167 495465688 408650266 916281785 16706717 507006783 664518656 415435496 74463027 560410110 102088660 370298531 962172908 48145379 62806146 845742701 113581531 630936157 748065823 69508678 25023810 287467433 160805914 874615292 314881215 877645974 815488126 752337986 166543833 943400776 205207231 922037351 291382815 613857496 690835487 308089531 120864279 207870495 723525027 47843657 768280604 678130038 418142187 730453511 726275417 480948332 428712563 692373299 964400840 29294737 614398328 989424649 316762170 775204242 716556292 631643384 505366567 532044417 236497721 671910399 327961544 441704951 446464102 619344359 55562447 137299588 779950241 28943077 345170082 355991619 76786733 113450686 34121657 494928919 696420548 612913425 828393602 125133111 157803075 792794441 6944199 772201403 634735441 323706368 399921996 351291732 807866103 905288562 735852501 44363823 429715313 63814044 338585126 876179414 535674754 246663924 13479001 168141347 128123352 211165435 524132965 204910084 177132472 410770973 552355354 726069371 23684397 380748955 703718833 34003824 26059747 710663032 658721578 660795187 34369399 58643573 864603270 694751854 963932134 600455770 591632028 246163798 516786166 930217153 122343211 904977271 29397428 988338564 73118617 157520779 52020350 597251582 214947214 229152821 8022554 767302567 955222191 884223303 567873 511457376 770743478 26627619 222120407 429465055 539939157 109006157 340624979 404542427 803758010 157073464 857514548 247906390 403237262 226817065 30639894 525580472 131794336 60037322 366435387 57429304 70074452 418455736 654680885 285021666 647608556 515219791 52324232 455347099 251959445 52892105 966804474 22702922 79519723 41441232 304684328 471975232 2963740 645309306 876517658 806721750 802382769 586548557 54628139 58136382 813365622 85268032 583716854 945159957 997821705 950152240 2589260 67896157 221124328 509786497 352917822 868732883 877522639 257758405 176596333 129482083 310650509 995917158 4701356 242686584 37358389 161902035 714661815 40322129 659727692 443695824 699560230 314626812 30244380 606704720 372763194 696126353 544489103 956480047 493802661 394827160 759148638 348908273 462723316 980272965 858694769 668157489 701522200 588733759 925915893 730634884 570732193 89082754 726552042 427949900 331769337 616426782 589851934 898947503 509265262 102095977 195159678 61341843 416722788 77920409 520562914 789485981 774046762 65052017 598482379 267849422 312395528 210147369 616757694 775118843 42936685 327968814 295792683 744458884 916702572 221708575 327610120 339951116 310791328 54162161 767901015 495077016 523105294 210269300 394024518 884886908 312365276 589184195 946228750 729088064 667104604 319308016 518574044 293667717 236876384 117056423 561517138 549271911 179720143 30791184 176907105 222656827 211276349 472699787 967115711 127978921 694408361 147242182 320446388 857716041 53920694 88347403 352793056 577025987 298616702 599333926 314429246 610981978 41034472 113174348 192586393 708139075 432482363 711160436 1806791 669358746 680733210 415840281 218630656 860453352 299147816 395537760 83110179 510424164 868237546 902742241 490919436 415162258 49984422 811365824 125394650 103905115 899713226 478187706 533447453 50846279 77521631 847876699 514344608 118556102 961051046 706931000 679211529 246049760 270607788 533534671 915408505 951340997 801891303 134039160 664310701 101039118 382093271 599937231 611463282 102847168 355195823 102382717 370525777 257696596 766264892 495920427 214118062 518494469 974108132 600081866 569340748 904146114 300474916 83685355 875218567 114042313 643132707 406946447 360092072 913740494 792997470 275500576 717597842 594888772 262056087 234424894 548444242 496665709 834362124 12423875 599512876 42074298 114806591 970038653 152287245 733587835 318475431 366405306 252082303 145099914 966487172 673939402 49246027 119478439 610141109 776980945 233520752 253273815 36443744 593612823 19530660 829441213 869113399 737128501 276846336 983685837 971553395 825290577 480351546 658431870 837714451 932380773 700506168 805037394 754935777 852793412 391141580 73411207 71715070 643223882 218511120 890718593 169679636 120273498 10197031 779820744 749770795 243717782 33094558 786214538 837330605 52625217 468172102 558960355 642270069 597534789 395162543 613823463 275341718 875514088 124771685 113056168 660411213 825277852 770609913 415346989 530587615 14267844 341274548 454819036 657491726 559785667 345537628 827171361 532575517 208251011 459508456 282346311 451968792 345119365 921077200 141815748 250260933 241765653 553292454 892531001 839300441 948454997 358870816 114642158 676485436 483642500 80214678 336896648 161436703 703340942 604759989 692024317 717608786 946034536 146843353 227616863 358336554 344897332 54788223 890912070 553148342 366813030 25774732 857633486 711932394 946851931 999449233 962193326 188617583 405258039 854724326 27918024 353713035 66111493 995076533 30198470 549753992 75291210 219611470 711190694 631148504 824371458 255731363 348757289 622922345 255091067 576374151 981258898 599988398 483678725 872170968 5653092 850491754 897945699 863286577 414940499 697313982 715252161 377133824 885931564 120510199 84374501 766365939 326739585 150485994 613958824 209454407 700239985 541766385 281582228 263947031 172914888 105953685 519678393 374188528 581392381 774769459 950562678 562651278 227274208 286757754 287338597 232927299 989765859 37800648 948730227 404706357 735114629 516498740 634356532 473562544 489525290 718731033 92444835 816264875 721733378 706403658 878235633 274489714 100686394 159817860 538436744 273601282 118287896 58115136 647789809 699680276 832884594 450868839 114847905 60158802 590142944 254702854 145602452 579908803 292503501 94332679 837131511 880134481 463347770 471488043 206213376 952873059 42735427 298658210 621654285 764468804 857578219 499889917 38958517 958264613 512224128 429911613 84382246 630512023 488026748 732172054 182708650 173427694 35557244 150072907 86102847 625700188 404775760 84221650 58125342 697279260 31070680 895256852 429930092 494418449 219261246 636143467 447291508 114513024 934801677 68945792 878981827 644896247 421352061 770456696 603160859 933576188 52884660 687543104 416604563 540911407 272231510 451829564 566855452 160305105 601902470 652958298 786005292 6678229 737179948 696646985 556473840 768250627 444420189 986403931 115185428 663681434 622547398 562476935 778194458 409865426 483939078 509692636 54761672 757807490 132665683 510438883 543900030 185550342 50498338 960504592 578978101 175246199 264850507 145833552 335551304 866752977 651308202 121556595 873431205 241004501 670719932 282421397 9255127 115140120 268825327 124440554 631337905 743889076 539433840 262048714 6270853 875889270 771741350 61032525 633696759 756923384 423987759 30113140 942473726 327002448 990617731 373968178 502248647 107984590 519801729 837799950 974737566 23626282 811872896 700685122 264630782 482592827 983106518 126402261 450249298 104448197 103359166 81587203 848337272 642793006 343635916 854608125 371198627 967893617 768157001 4895385 724817001 44661111 35008525 519807078 371663558 878142607 893775255 873912204 986127196 266093335 711712153 813381113 289719617 376101401 514066235 554350398 858694227 349689104 680752658 161459877 454137300 784111824 243047079 302474572 279421181 439199346 9599048 650619807 407092963 777756048 508031543 984426315 822417158 395556419 356749744 194080715 126215378 103041350 67992919 964858925 369134684 632221423 778240038 511370652 8322823 144822624 65721050 719533402 494511727 598990059 880993278 948649027 235618234 976556708 103639950 367555766 415756053 113238997 18175572 675365367 890995044 378723467 659791681 565928553 626796237 16541424 760009267 753011614 119582773 680518537 570386891 341233809 165256312 201143280 852604460 26095486 345965903 770841861 598145239 692993981 222348272 331654868 494159359 310482857 308211575 597799308 678038623 576483980 563554656 548730546 251849346 307066051 927454012 764157379 872994603 406766601 633215154 485520222 12294566 605314279 18555110 582681456 946548087 183811421 783824735 651668898 62423259 129790637 275027111 660568497 675300970 349891734 992223365 169460328 660374590 152951291 619775988 338413212 729435270 183330643 887143758 981284616 490396694 667114121 597958346 215907648 73880721 231173499 701427869 86175287 836487777 719982979 521373094 635552215 903794399 305197829 139737465 966217657 287504817 267280927 479302506 962805786 617172660 471525870 984782466 277547249 624477160 604558453 468476813 206428782 640405447 208136922 40229749 130802140 875251042 638188094 199226140 801648115 869361592 900654008 740339753 558365721 620636986 114229198 46434287 376947737 419427026 38688103 195681745 559448195 305969029 674984250 374770332 923141688 999026471 359552797 53205289 476019983 816627601 521682101 682448764 457033048 729819022 722678512 440351539 457586415 360866605 639577678 111750881 82744548 392748038 852090633 493626620 13385023 966319831 540060907 242849111 238263208 578749009 291047208 797711402 884718038 966031457 24998086 660376077 817574280 384550882 713581365 293594262 53694835 235263465 976043025 510727882 965082486 551237888 803595772 275185253 912104492 295689802 386936133 847365391 688437839 91543118 340992011 554339213 57862948 733569269 797188324 148642507 164834629 88235531 798870261 49552666 906783339 823868346 562445095 576873970 60935579 276026459 870468231 114630413 363806276 699027607 625358294 181405113 102781846 281470418 456590365 14886337 577160219 843526498 714768080 265598057 935069615 55760090 819937269 845448914 641845710 469641944 994091420 806680338 410393826 645478032 708749356 169693517 469346377 271194450 746567486 530281956 399737260 469552069 644912368 763543535 21096027 122787014 944948648 123877873 404257431 401539012 991280561 981417649 97581861 706048640 99532057 32651475 614325081 771985677 878100388 108687142 94143973 724708160 915367480 504537798 222702543 624116835 526747666 692048920 747827636 125831504 74847227 147564895 595383572 572275946 911108430 468995950 695062959 708573429 592873822 951836741 110112440 436670735 785770741 60210653 142719374 885302797 92862127 609560807 509804826 823478867 718247948 603948798 400703378 486131779 108486595 623405920 110248613 487750613 167971191 710592600 613582116 242818417 858157495 61482039 815094363 621782276 530477988 362673673 182872056 123351810 167026766 145500847 412538896 952797506 205711499 407774621 690616655 298573626 17335427 200421480 122052492 588099727 804370277 375272221 74231505 765373223 998678140 36996470 105640187 166649331 600105421 719222302 261984099 310779267 780704340 77078461 932561542 311182328 292268486 115433597 287050489 459295251 113450796 699589384 264609108 319162294 107364004 955225762 617735919 977215783 8163593 592304762 417831861 812533869 967576982 344579717 430423444 818771474 234092538 536063630 985420804 834197959 107802284 99921254 144977225 888506623 29516067 930055119 52205302 321784552 898005067 339255790 633596154 11455862 891361525 898205261 183134508 851241881 853431023 800870426 680974015 861594615 245691540 98805875 526644836 65784873 295901943 809584631 884556346 382510833 198164612 722493501 69225143 305966895 822414755 66718719 194473518 851930821 996773837 246678819 26231724 747295256 438450961 659827877 611267469 329812485 410549489 794401976 33570717 116496863 447788754 714544731 978091478 545996645 665866957 357252665 611781517 961768900 19353647 348854215 196796084 217518258 923864067 266021226 523485153 598795173 332739944 717958670 303242345 182030133 817153840 329474068 929325388 255604800 841818296 393109208 437933637 252367785 40027536 471504353 368864647 340332641 186049084 199472476 886329285 851916040 409241492 350627153 666201291 428595138 699481367 862997374 646113396 475861786 129018599 169598548 74656958 314274895 740073569 377899303 496305027 557227408 559889722 278146766 665348560 401708018 671255973 103282196 506592154 563799860 574786548 875456800 904132500 613351983 927445628 790461784 317784375 336687119 141088937 983985665 765282257 693086655 699499391 263912004 21464792 681034341 433510551 96121750 995309235 26100471 326537404 344130613 583327878 886427125 622277378 101192789 140651494 146049703 204474984 647243647 709849562 631777884 375216799 613982062 245129866 302662426 256960197 562914240 491865896 250565485 399416257 109664504 796168492 951431999 373576507 817633283 484982691 807087057 913755032 332808278 833187527 92808787 676938890 269031757 979235912 299216268 370224545 119887405 445265970 427215881 767131052 7631883 58993764 142347850 621613944 156639981 297526627 731090493 719554221 789392522 981655977 971486829 899057026 630340820 922918827 125149884 447974103 260417869 932236941 214245486 593226146 617940819 307054273 270165036 739488927 138806536 421897655 109713472 258693940 867163624 389445704 878341343 874795506 448439467 873205544 348925802 605079447 23248522 80016294 177150019 812641044 914188622 1153199 564214421 397045794 924072025 689364304 845019896 37006246 474117596 911781733 630232391 944574767 71352357 900397426 684063693 210158892 174811432 646293516 468852832 41975055 35739219 199710526 769286913 336695037 72916070 970729066 794290836 96164591 903261711 971440854 761321986 669966684 972594053 178052758 67012477 749182429 867417062 764548724 786188674 194051009 676330457 268937417 138625775 747682813 21851194 675205820 957841705 196662626 174015687 279210888 91154032 62271258 478921413 860440944 251482646 404353834 683686361 45773481 500518425 586948071 869730687 114356762 109431107 694841091 292409520 176443583 296539871 12342933 940992307 82728545 206393941 469839115 204182313 197536068 70038279 226033506 725258239 880396335 422696131 899273925 12123574 513850163 814061534 491044987 226807458 65544180 895398820 910493819 111317660 248433596 349958241 833564698 362790358 459389347 528405788 655199877 635832930 824945659 667542809 429341588 760190555 726453101 751697054 964372867 923989168 821735332 42922724 501763758 554648019 465618855 253554035 566771592 979469017 67615568 57816578 206276474 133159747 805731750 116770292 96993759 906681697 319244885 783074808 121988406 778634231 163996948 777188282 266983512 988942606 297247442 696325099 601649512 23700543 300538504 418538730 800206062 122273836 461461453 154486172 529438206 927080307 408040206 96209797 759065675 475655773 6542727 965342149 461331872 664790828 934628792 410841982 571472524 106390028 46433141 693460930 885024259 210430088 323165563 152007770 51889045 472929357 700849221 653538556 349146251 1387724 924593637 1868664 976177911 238571442 156354835 505616116 18168100 564395040 454342265 777233775 40050813 460884991 595092275 353899036 125675818 382237418 617257369 549664693 488627446 663690509 95641974 373651704 874120597 271323889 378175825 926009641 744253245 79025045 432064549 93399495 80412769 356658185 95268158 909107031 595229626 251622993 267239499 613397726 816018032 721581763 243147852 708585196 34983105 838240126 915000583 13175274 220477543 532257951 562839966 709104988 48464812 510998292 935273043 922585408 782322180 313448868 848595048 526575424 244990264 133175948 472491270 177919384 489834133 567759427 87026415 937580110 671898771 354265913 403494187 340433155 75847675 646642038 49018350 110830779 484882163 816535285 124006052 557876058 201309587 539362369 119497397 249774398 50360660 54770440 172359805 685199191 220735659 873471205 64290966 465725922 6647152 536782235 643645306 348997636 104541662 730671720 286577746 628956784 937453984 690071932 969389938 865818010 189230322 870924640 829165140 674112484 687459924 805687543 84504893 888769510 197566263 204002290 138543908 100443275 258772729 163420064 785642465 479508387 36891268 849933431 945234308 896054772 386715665 441395965 245052407 343773678 24584036 384146504 972730462 962038019 74218436 794636751 827856028 115965109 665561390 509537519 790077592 205537665 315225061 874582485 946823527 512791324 78584774 937883786 613234598 189873854 101303849 251393414 521898592 990711469 101326844 319649251 739282592 340558861 761045216 984334998 684332538 785629251 220997854 509579351 747667270 147732641 156732454 428039649 263697749 822293843 937577168 53775340 880347860 105318580 780874176 827171386 470626255 711975301 617571523 83860852 754365506 571391723 187770618 276264097 414619543 289097461 595913348 153902134 629656321 209474915 990753484 166505211 995104165 211751337 528600913 595287786 359483977 685333366 23327435 623181725 360143561 813420954 529473416 240491420 771255885 162863944 920179157 241882140 727355596 537750679 178259343 481721102 109142401 366029960 610501550 376278296 507643773 58931249 530180429 137300093 268406163 373450264 156321655 263510328 585201600 684922568 858798113 797201928 222772285 734641899 272900004 582915845 400579204 802373420 823407264 24351441 817753715 596102772 266233580 545109310 133853450 297009274 879346763 95512203 663039234 489848313 324306850 23199358 548779561 854487278 13015802 817185724 80453894 169337457 933212403 665655493 706776376 644526867 315373773 929548660 231685118 588273776 512464505 632264321 243163547 188388120 656615761 60917261 784490892 775365692 458542923 770860693 72374966 337889685 718889247 587930551 680254349 43196096 611129908 81550262 750199726 624145709 898735985 830653619 793483165 684464739 348825463 352775892 328991605 664199235 282324552 560676722 104989363 647305408 45457395 348152909 835693527 554589507 409070170 472700770 329955199 867613092 96077815 254846516 58019128 667483413 842777066 738273477 563195861 453906973 819823738 165911938 78052681 571076074 996565556 724052198 108057164 197907370 76828089 437048768 714622957 211668992 850241842 819612319 858974399 895699236 167765227 547184278 302805094 429351748 872401399 632760292 149481191 968479213 887606807 207500319 488478978 582900224 798290147 51674838 36807196 470630236 217586775 967376229 41706309 66668682 543944778 2279824 117092403 473289218 439328591 831715359 537474562 142086784 651327677 248965312 37786019 671609256 796149589 193107465 100961003 521067340 825867756 250442194 342062904 565990915 310458864 830541881 1407490 108749010 882216718 38214686 579379245 952319844 858107266 473601905 18988525 254568395 475881728 136080928 580373964 767726670 820312638 117848525 909813454 324156667 366813837 800115824 995765922 15479777 993223288 96726924 536547116 671607396 199685469 878610020 90114662 510144332 561668252 91522151 471409693 296401322 129736836 50788937 248721165 840360453 376907193 120226042 947445199 705305272 108823321 527819163 473031942 929135958 498184039 235361747 105808976 864997875 35477570 101574897 732994004 28700858 50818173 122057471 552824605 103019993 667490 642939266 613164325 414852094 734461416 84574017 711253415 716714604 987879306 959974579 409591408 217302850 932716972 357036607 922608122 41540292 737372121 248156415 823192602 235556159 483518161 929001577 953070386 371512082 883092826 686064389 252729291 933910998 808121859 805553895 36930990 661305701 448493160 502611666 76157794 35470928 439702035 639927560 752185531 280097692 452418490 161776938 349916893 385135462 371329896 125041366 279192105 108702016 373197780 954901058 196774527 709232292 736418987 149844912 80744374 619511812 688425652 333473664 405939161 349063862 139027559 295386502 10369562 440037070 650514520 939043707 475507997 90216554 431487618 80209879 222830597 883906108 241986817 572747489 121557921 613316712 697788855 400750025 574535080 923502986 208167435 771309606 632735278 944586421 921154517 565996003 416614584 462096520 899469666 822553744 811160381 891013576 970456597 674046295 183566998 620971116 465606353 511591346 563704021 897093971 591801225 639050969 781000078 833788041 64314810 902557998 299621104 762103664 155824374 874156183 538123001 363991808 497982140 23374630 161094580 271653008 589370632 577709163 733749527 341356650 252779258 544909908 84886577 223235855 71472554 268453574 696723322 537078906 780044920 112943695 434172876 224362496 751994663 67689305 58150536 816309472 822763654 210287991 430929487 978588028 936960526 969052488 195096187 434942665 992427117 356190767 706595673 581797749 933899929 292861551 923154398 39195539 837771458 8040974 262431393 909244011 129010900 959154714 298839269 761572171 72098408 733012144 985934666 676609423 653217801 896601553 492918894 475981454 106889543 923848381 307085833 896366420 745417220 354698372 183825437 737844336 710889138 890421109 172158436 497305418 35799011 947829185 536500956 873570469 808386511 651448700 635330831 937397410 463119766 934170099 551485932 387734525 519698595 537420597 64343947 25432747 286538501 409779193 501414200 245944395 186143925 661016385 142310815 931561144 15714756 326136251 521921831 579120245 69073711 694080267 76425662 104872721 494425803 465442970 830959541 302812313 116891669 318806724 92726074 432527786 105493174 644212005 820262311 625191768 34148953 884606257 650624514 320687453 146901801 4555066 566631848 333045725 665571450 561459014 264606868 533802557 887595264 786528699 112922801 809185326 333125317 41864814 914058046 827551119 359824135 597533939 982879784 329232156 916340662 75605857 761759941 21833835 572334214 582022251 499541955 458999518 319144860 2682820 779686971 466046660 7237885 198835170 799092385 525325686 760294183 916215604 59128242 500405798 555260654 24567394 162107475 888385970 66432208 76165520 568453441 426256342 526215810 403849576 755488497 442556471 331971784 369764790 316906658 904305997 951787040 816448612 215821867 123448251 819131431 995508837 442011263 826369316 46860358 93619999 204211353 659670892 9835602 263339595 12593041 565096256 287906988 174700515 305998577 206855547 103382386 726968369 633111889 629598196 130817944 241116737 72154666 462789728 610881526 241577675 219612076 415184918 58026286 435433942 391149520 877157717 283459130 833160782 556043384 182835839 926780780 760254736 842506730 936616382 876110682 855099770 354228989 16534022 29800284 512743917 223389568 133182670 239712286 856501456 762780865 223046581 950134545 687451882 685836308 413532422 929029557 757964736 828717339 839572194 45915029 72383211 569246262 329374159 905543992 125289645 512209997 832324772 738060733 207233079 621457505 466687766 62332848 828202845 483221787 92133132 340946761 706611355 77832153 433175398 415629162 693129369 656221979 365763706 233097602 194574638 779296128 14643510 952539373 460529818 854215704 998454402 532913028 423461965 180344912 290973372 401267962 692554908 123298143 991845046 899787986 597271999 458532811 814637186 277991195 941754598 759286669 618937955 500882304 837118821 52113353 916511465 382764541 560851683 134791523 615862142 755426320 914087650 630505652 707965693 227133819 484721355 558936446 612563199 760699671 739281357 903536570 14483984 284352616 879351064 6329029 36656954 329139414 317378192 851294139 607130608 111649141 610580807 78584914 612531444 300215979 130698266 529042908 682980519 544066300 663834430 151359012 299492620 430438431 781864663 859974664 510088602 119102369 418911109 122651800 879802040 10708817 26188369 894286023 295061432 758055784 900615052 331718385 87195197 70509595 183012523 694325804 182158735 646109681 772910717 794690178 946325659 756125335 176249437 481822529 152707986 840083867 633181541 452200605 123038649 267562555 164691620 633127250 386664924 583602728 608295401 266466963 594311544 487000121 13269337 889372976 245055904 913884388 73607712 184767452 984393982 256620235 879093255 19069068 902729915 504520324 813759245 701571926 113162010 990008682 35910806 265869995 682608900 521608698 570586952 805647548 789171253 735278571 291291150 175836176 171397651 899586550 294819490 765709194 239103023 308088826 507598521 484158926 74489566 581206233 668926378 58883547 690342819 400535984 77952615 445589085 757572659 744228211 147161010 870734668 734236892 35588168 989121015 269362143 557196865 559707966 75009691 198884469 147502888 218817192 374720644 318900538 970920093 669540133 84609732 210023115 977628959 444724604 546698393 52118524 878447188 68141122 963518422 568790006 468677105 893987388 14379091 78766116 490731951 14056452 949500783 77485194 902160971 791138149 346847337 311874188 203362466 274373379 510758656 350865354 493190570 885479300 669765891 316627014 407535784 606891974 526650129 237681094 51616578 73348521 142315969 782580117 141489642 958350743 203886475 462683098 704854482 70781917 541449213 195586432 84838368 343466348 273071626 839515691 134604496 619918962 151389878 190483314 894292340 662148533 541348667 239999261 400144184 211114557 556626274 660196320 818006531 935792754 897877413 722139460 861657626 892709734 357235928 855663619 851060476 561122402 170863069 408431309 631904318 712312281 604017741 569259038 908294980 729605718 408774728 895415828 202041031 412680957 85899141 96333370 74829489 627247807 188848982 327490025 690878715 597991607 987686344 361401597 533784361 738080108 83541056 247958338 483306193 293293336 103621957 186883020 854415737 274485025 595314329 486320055 839313657 51848421 55579092 747608637 781454138 316870171 495540816 983495168 729551127 581439956 932344889 656896967 61204114 121193870 836903343 752082828 571701828 677106038 113484425 105486188 267702498 49541832 205960878 751008690 195351519 309582834 937891710 49767256 436584210 533206038 388603662 275897866 585054458 296699105 876022854 219024947 613569275 371563669 202520114 195636753 805519976 134865002 705050071 866724089 108575223 541953414 471323269 532793402 71575803 437324045 490795942 339278300 339382228 696756819 90286990 534733747 6339652 28178699 437017354 295440213 413901088 825621015 571338078 851471897 122320119 299877284 70496843 588405745 671440952 125533308 784042497 329477280 112914661 341608919 48717720 74006235 883562332 520040988 606799636 955138135 809881384 97595577 146932786 1779964 794352395 237219775 536513710 653208398 117914825 973531063 948648610 384332264 651668429 372503040 235804160 773988547 672380323 158817354 214910643 196337626 284350661 998953139 525814905 397265321 193078409 574532625 471271555 76640741 947089964 78071191 884295227 756971348 28183119 31228012 758751311 822535514 120964139 147781372 328260263 91395315 973828786 129425225 475727579 625497214 354444616 711531738 252002112 26824938 870349092 466912754 75678915 7216104 318382244 454010172 404481425 511460652 28542796 875752979 440617744 828149111 953824169 177429322 437636810 982007288 61173686 48904472 657059153 34654176 196685843 837835767 126049490 23030980 967260991 601777068 648528193 174221958 165825158 753046656 53563247 36174249 72475761 129242162 43390352 390858004 583252333 300388128 754835008 464311480 176141107 47969103 144976942 982481627 225398425 582613752 817005266 139088462 631518223 326580770 173742637 828204066 164416537 299792126 851235045 984193879 901569194 352279590 158415837 67394351 105326245 211979083 956084951 30318358 193737596 851991654 421176361 776989928 152379782 28527720 93817759 181037240 76496823 238794701 163518866 301895247 821408452 980524132 440983708 305443026 159621253 614726344 133647091 324037789 914518469 837398488 160748020 668604014 42194429 319163856 735998364 37025 383659290 544599666 30355382 577396886 396591320 304048095 206903165 401487453 332575814 300720924 582524692 409072636 392031976 746043557 710967882 65956779 579084040 4467941 371399804 738705293 471710636 357563247 915259433 238745457 47478086 76007452 907349470 89672514 247687659 495864186 89709538 631346949 40463851 972581272 208743834 289571522 276629366 415646998 691058974 609205179 568884273 273583665 18277815 960916248 872143574 581762048 26873026 303743965 438746341 398272830 42449257 910456976 755836076 810225042 149202432 803314161 886232493 56551902 745503026 133920152 404932439 687728915 617783452 445396289 660310186 826527285 734967811 789455903 94690634 278543136 251177434 663574907 552126801 121971600 477007506 276786726 703733647 503880532 580530690 142479987 754669713 475496299 905453315 363022140 285721340 54655746 18852652 24470184 963723999 764355677 10906687 221172789 452084591 628690138 666569078 964911129 307733774 254053240 754367031 254940760 532596375 5544464 918515666 937239527 127516063 248039523 214026252 683766062 751920054 794556942 678762400 359106118 122569592 436732066 722128257 408290931 343904164 740980908 285277466 160144514 505336584 296184153 381317303 809937527 777390642 47886380 774848655 85124416 154455971 381732037 192581527 539568697 239792853 111097192 476808224 219825267 211653066 543350827 756107680 963573120 190424120 287386432 175195589 312993711 724118497 897323846 721284641 68022660 638304753 6562107 228167174 996157689 155262611 609484476 806095215 932653252 509887207 433460221 870294019 516859529 667708609 62875545 56428225 907501461 26489088 385752800 979843080 90658506 929103627 735950759 54231625 119527746 23337190 81943565 432521457 599972039 979267410 6322449 667994698 470088515 865400907 748678223 466246203 20663517 210679050 124857769 805833121 720566256 410834341 528643491 89942136 78542949 444035388 146370361 838560762 323040827 532123160 818403841 413699332 313743138 406870951 320447308 433270884 282724493 402390873 718308692 882696531 234174634 724631140 403207580 704263148 442548399 4402155 23025702 315728267 215081204 147883470 121561387 935647460 558717810 502721230 25589595 489777111 799272969 24476307 328337872 122313795 409115819 999258064 388529479 722858956 258645366 561493138 8646191 541369858 963884010 726954882 276582740 50574996 304102374 532306672 754838143 746650772 536708826 777863845 62379038 751790029 925747314 36456777 539953840 336981476 391694358 418059787 826758586 190967326 442536093 7612809 165797472 851651911 6870872 406843302 427027219 118032589 968336440 435673409 659402447 784736801 162628291 788501538 835311796 466730664 320808209 590149939 65897787 857517034 220530135 128276824 461823415 146277448 17249952 1777254 335775275 408944309 419837040 15050212 599911634 714889485 22663020 618225458 419057747 882050243 25068759 846084965 82832 993405198 281758374 512001630 630658351 296903016 153019519 465970146 763633679 473827728 908636436 829531465 183861113 129166570 810324640 645684527 127960370 827574592 499978133 316251996 236518900 919815172 331302208 688946886 487221008 206481579 307172343 906278755 941048174 184757453 752363719 793647357 30679003 886638444 158165338 661337353 183541459 311184856 127307498 799691489 785012583 888460286 481739305 821390048 17626855 292063945 319590926 998103576 119638536 819569058 314355572 208673787 591900582 498174131 897620672 79121589 704655709 57309366 985400343 498220234 242066819 590280414 291867590 272745821 329435209 450032927 934083173 512976668 761217783 913907022 165184508 398746717 654883659 646923813 72653116 525026866 938987757 392244042 523130441 911142644 211813099 690002364 972332782 803713680 188176494 722469806 735351621 745348555 779779171 573268315 243568788 874362341 16065080 387952730 147108161 345500289 837985656 933707685 858476956 451719790 700131059 23661463 702982859 207531069 523101627 775635974 732557934 314605735 167880015 108204727 78264730 232209466 798207090 50597512 35923145 986383584 773067317 623791117 584248490 405362839 197059432 827817277 132241532 213124511 68286358 131866044 558624799 906272014 65573729 269618106 210508155 618221139 145795921 913491013 825752207 668897547 541643339 410826493 983503282 709523353 519031219 61768011 941732818 317238308 964881874 830172315 156138243 590465542 306479783 740386732 995828381 503539214 420720361 128069912 569180077 489006718 112452307 127804875 247795083 30542387 249939333 310819590 648763525 248251605 76826954 327032084 917149151 618470292 737858576 753168784 180509997 109406146 667453147 122242814 426644453 484851372 804931480 435299048 75316914 111411263 28202131 923661646 467466828 448922491 904247909 36646904 790445561 16700215 16968131 38240643 47242602 119423815 201576584 548522478 367675419 278403538 875554561 137340921 896873829 465929488 743026057 77383825 575335633 262995555 52142991 854496438 747846926 709590822 289795485 823163839 673518436 317997615 599341836 140985264 619436458 503589744 30148519 409882018 372806311 899633001 300639012 420048912 871573167 502215596 968571389 91764937 780619133 696642302 229105858 530009313 15088141 972131914 607393138 442940126 87643820 512052480 297436563 835490745 221643301 439748399 511170936 895161737 757746013 110512771 888663352 229698822 466618867 771328222 639580839 839425177 523477575 792736203 111990440 247567093 147468150 80561828 339332030 928087282 629720481 568437887 310612946 497324974 393086152 918006083 940265099 480729971 282574914 90218013 168737067 504218215 529966411 679908002 251896303 140228775 790420773 993076006 369927597 109555991 616920579 9508435 948981167 140398153 654760989 60971606 240481598 802229138 994049785 579813627 582832771 476286618 767865 893445717 973611591 393854016 663968151 913876689 727100338 946543065 4094701 895837404 303277631 386577463 575745406 555173933 526806237 218682530 400766290 896733833 328238520 17686868 758758620 129736038 10601373 413519608 190707643 251082970 68265098 37273779 830896596 651097868 513560396 831664460 544543584 487171986 78034827 61028087 253565026 805135164 7571151 110176078 553488919 310848781 496753540 129234324 718539065 23559777 200433205 119305354 772809961 381188076 136992221 531568580 510924113 109945 797604540 701631755 103709266 865869637 738905534 934605861 516967504 104982281 618786672 914027440 592154267 549337850 975055526 698235644 206989365 982626676 808411722 760478284 145991808 157681613 742228959 864530872 33757741 942662164 836352577 806567702 176366591 825861149 190652633 687290704 825971094 988257172 241438810 929680359 706643160 980344343 716802572 76127016 85326624 188105595 990154455 529997242 737443445 965209980 80749237 944432809 800353007 889160958 557427444 798861166 899358923 299656403 515908389 933116663 94834918 352260965 592200716 271201508 30638465 635369701 958492211 856609558 476143224 52447373 638806269 182786384 32791715 208125192 258913399 970634690 248747138 101584205 353148283 986190582 66794184 433897520 783139743 719663542 175574829 193083538 371041059 74933751 492739940 886949447 860566766 440091209 91726763 305283833 711292717 122365227 940653533 522301279 978974785 269313109 574748651 470297405 452099492 460056718 530938948 563529242 283207759 779686085 665113446 488872394 618393019 584423981 922769913 254049113 156603874 950861093 447132650 527644932 878311196 939872590 414594378 591394313 232480150 506321140 896678145 943772866 628686366 689848030 318590497 460177502 959161138 745855499 782991258 263776981 58428568 313930205 827306222 341636327 93616290 344936019 830508720 564525660 929359999 605794984 818574772 85963872 409172428 265707421 613608803 287483623 58096362 880719532 878877935 290576512 239557023 628072432 86865729 868243388 170436813 257972577 180937242 982114302 3828076 963928499 98407634 62256643 130375056 925713855 256409321 76507697 123166225 86918040 641033356 52526223 545229375 312124479 138490094 954401803 577831899 604615248 94401777 488444613 337851131 825796064 779021124 577408153 306384847 718403204 298167892 476821659 976375781 479105133 311452312 980203856 295549984 409859945 894976850 278441391 188090151 151386171 354949087 311256375 90820562 848498794 363782597 488566289 160623272 354789042 295484443 590971522 811920641 389886219 79416134 149771771 68198634 710953609 727179923 374583480 429356813 25347814 851405138 258248945 356969299 15373801 90969152 505035634 425233745 985946001 783477024 613323895 137332171 138426110 924580269 80669085 839441255 140879217 569235373 64526 495668258 864719815 443552399 160105250 107122385 522968533 309877020 175321019 86438493 889573294 549904498 515795305 767437460 253825988 774044249 124406758 269199788 865013400 481958743 694433533 703475753 265435766 160273779 693324275 256378227 84854048 773993359 95819481 225733264 195745083 948400358 573917874 912981249 244469108 734023123 20103634 767437640 43900143 47941004 853876133 785989788 450361853 222187789 553427247 704187840 848748390 530350356 825903980 566278141 12309098 372853864 269753893 130261215 533127642 963078168 239155793 617981689 589587878 187491625 696231305 637849313 135891982 270149178 550830561 232877442 4172300 423450546 315081 900588794 323907901 706707565 539094934 774269754 781411706 92522180 330973945 630160095 475388888 156877924 48954587 340214337 529731787 318708480 322991904 62859429 134302999 562147696 533357469 576407228 749639321 82105125 214256540 738047654 352254302 617603453 970925095 208942954 41053998 823756528 962048099 217478251 382980444 501143032 991748004 164392149 446181564 322721948 647068595 774086803 332116224 696023182 114301139 861848010 14731661 289809394 777223790 1551011 851957090 163097611 577958238 601596410 245202735 644731130 192160415 449973389 262334582 163085510 658916342 155904931 986842037 473480792 373383181 222338832 974623824 217647536 386730981 273321739 540369484 33799575 47408541 872485707 582339108 14226031 586850068 449587120 156551777 216590210 451138130 8508866 232204172 881612720 462621627 477406906 526343849 654782041 927380294 641194782 817867550 438812987 797099712 657225938 912293779 22999245 879564770 739433954 240646780 118812102 865272044 633532615 5128028 765196936 358534673 587467136 631939318 945384741 37054255 788491094 14491302 340708737 796999959 246695473 74837808 112137937 576618730 601181656 766919978 356515376 94892789 437303879 795328362 891992500 94529817 560138492 767508096 826610938 152088797 8154876 797939391 17360840 494203842 803067418 635074127 852738515 243050905 267013445 650639607 132621512 55504538 665130908 325846600 705020849 764342732 400684407 817158785 340961461 1866062 436595114 697476836 96758850 873898993 345321550 841267701 820945161 757976393 461292149 500072450 910065190 321963376 298011840 779942381 816167217 953595609 267532860 668905731 49162866 534546304 172061689 181784377 442567193 837192596 507630976 104393 454051679 908315382 669779530 795013140 762697795 106374643 345006327 711972996 980273635 542844228 405757048 653735147 300820621 867049196 153807596 63402162 41528923 304335787 695860894 857696140 257931396 963393753 379118222 307094261 350456408 551179911 341394989 793023601 240888858 849025964 645644345 694940537 609857697 315423874 342470028 225071843 274314869 687476354 789561190 107104855 82836934 47834589 760840002 383657554 914883785 914647597 299576067 956412707 71499736 995436960 666625198 329431131 958830713 45743420 489041743 161803472 596923330 830436731 954827072 837812187 531979046 452987769 385269075 141836742 768411642 727739102 219424936 42726510 267731808 8986125 2347717 350568741 56820713 763187718 734226294 824220849 530351666 33802360 633149908 601851401 881755671 152291457 931282531 693102735 198034876 272840625 854906207 647474557 103277355 662249630 337803096 635256400 115237398 723072170 629609493 736165392 450811272 701550780 631408253 718543079 563053256 633755969 69111819 472390321 396943686 655854464 149127521 927295352 542173175 782277428 381663104 276445197 934568885 165461987 969547932 985120112 438302611 824454138 632594669 541579966 339220119 970397764 29352717 454457517 545986285 511478562 43139260 996797556 213029341 674547512 567856986 776082597 308303481 489485156 100989269 557763518 997855971 250116789 337575221 392545497 32394217 719238325 668990694 819479453 884700311 638538625 657115916 323002921 315509114 142226936 717099238 654729232 112624699 746451955 961703100 511127336 110446868 4842359 360441243 323476208 679389871 928298229 952075156 840209703 270299736 53064424 397973220 120672059 303181213 735548441 513217555 188091781 307303117 182208248 860087585 192003427 673263224 517203500 367522699 988772337 659430436 84621937 496017921 624571486 683590243 310237372 135698821 794037110 315079731 348656416 117513317 846985953 129470996 922104825 687195655 399770731 975169248 937685226 520442789 130866812 525750018 33660344 171474944 833053134 68384943 31562528 25056560 741648167 401282380 245095611 582936855 60712815 329717547 931471127 537800652 13307789 241708499 526015825 659861250 409304581 874672240 629890918 256290533 4143235 551995742 796002539 256430317 379681342 733687764 629389458 363064505 111954134 515566153 534539449 945007267 583951095 566101976 822580179 178115613 967384355 67675789 613568820 880613521 249909687 545039946 270930525 115733827 639264796 649462701 775595076 48569376 376651292 405485993 157376260 233310878 809998087 953378798 489741194 42195780 539582914 119130651 405260284 651537047 487213155 939799732 596544313 71164250 358418060 271640843 101796214 178318766 339316631 715365033 58932287 589226317 112921331 182379163 704960143 752186126 831841863 333071570 653271854 61009506 738557563 810648113 294320383 401072001 764026911 784061576 443267780 156126176 755708579 848528063 807663222 95438085 788327795 256723886 19118686 146745854 528364729 120914900 177580971 867681359 688796284 89029609 309424028 801717614 271408771 866900522 406420092 955766985 199972092 59691945 16776490 791046006 722856409 311096872 192118006 339399671 947674800 635385785 495525846 555899730 336430199 303189067 651337814 124757993 559912953 670456500 124020198 88277681 791371399 154117521 808475391 332684034 243147129 970415770 134401648 514555900 837316292 393338091 322839236 889804735 305546387 339615726 680850740 28402795 503228949 725485097 220318818 450903748 213387233 715844663 6803477 549817431 19033730 510657643 527091776 431463034 181114142 503628325 372257066 825001892 657745845 33248808 157685925 900892974 3664578 144603924 267965225 693497221 390458366 590804460 435818307 696004752 930420185 116669046 576923899 286165486 694670494 797242716 737069233 908057726 365603730 596389062 457875156 237153811 107046704 984966931 668616844 140677197 341111608 893390261 965679088 998857452 926639069 975881364 899750425 782819998 120485288 20232001 328833570 363460005 611036461 764651876 59464757 393972997 733837273 488905007 680138482 281024118 138664074 269724067 189081843 504267803 866113128 499473350 741421614 825676183 336956633 262554809 818869731 678068240 8461422 637065170 676925691 935100490 612946533 429192468 570436839 585948172 449424468 751786760 949408177 60460928 368954987 861389285 306950277 102792259 202810643 987088758 236332728 193991068 256812824 425414570 698258870 975442303 924887919 292196835 653634837 114360903 407267996 472504567 792429142 415729417 109569736 321871185 203346258 575032621 751063652 773783096 13497144 53004471 378086207 815421672 965981751 747041193 529327308 272932027 702349803 732137950 112537136 938682530 926129017 369349960 216613451 476904239 197308614 141501369 621617425 850943451 108378624 28885420 175964369 900807765 444614836 138050457 222678949 647961093 713083077 826258952 274260540 579096572 879263423 652346746 394518244 697761525 251904290 923845551 970693551 954254092 508499853 83230686 892936621 287145221 305096997 109550071 616565811 502405611 103567792 238183236 205865413 64462767 119585007 381829781 965270531 564199843 519880237 40465832 64677287 85479665 866724783 191454179 664576237 598504557 843800924 59094480 296266081 95705214 835456382 119475983 902475657 196472586 55223021 647928630 336134159 212836369 609995052 952699969 715241979 566079195 43399556 921107391 630541961 162984563 155453524 595812492 727184405 675333760 636278323 644378043 760813425 355519457 835832221 425389661 954024014 532149497 337000492 102806446 480371062 24973225 222282429 382846718 73962163 130021801 30775347 410096321 342858169 493286751 362796289 58100148 59365945 406195845 831723890 689907906 569180407 987177413 138236749 148881163 515027525 627031423 793259205 275840949 982550879 481607778 553746961 936574892 13757274 890747452 39381338 494128335 768237028 114180118 729491404 842199190 244201918 612783103 252295510 587060086 106069853 467608151 497676585 17952149 873803995 181916827 707860054 295500753 21610591 698613154 296898267 536638115 325644576 90157471 664995415 160711807 424281600 218742375 97286698 438038873 962006178 989184387 784683559 730243206 955880856 514174963 424958747 52599125 126958065 677254257 639659211 85544269 144862407 989852147 103496417 871182753 24285325 663872823 19199857 45895916 362485976 316098123 435050382 540646904 258771945 100045797 701358710 683053545 171304523 651161759 973608769 133310701 492862498 758292328 716070258 448743353 124983642 141029004 501342478 104458058 670799612 993518040 42518678 668178370 983370186 146015094 391877474 7655511 809887916 411077330 906067778 24890244 579691804 341118159 565537147 838463749 293680307 119412208 374033645 464984830 770573966 200158765 598295530 263436463 958451092 166882139 564696168 935951085 307911142 66038645 40409142 978710754 912073036 82927819 499405475 747959573 81459265 891282949 608131435 743863532 154876630 514199212 768753775 734568434 707833723 186807273 425548534 1514029 306219480 799582178 466498858 76793446 999740942 917310739 192746260 810708386 84192877 757442427 599175822 244620371 675997423 492101316 75847476 440586810 427545486 575252950 188546383 509004750 466535898 796677817 105384634 621412528 163393381 874138408 208497313 871227103 913462033 634045846 725257483 72197864 286144375 44272693 1507661 138401668 961583431 194253921 949110053 45776308 804212699 400802227 142913030 332726474 892903542 218760505 773313283 320449027 794013454 961859665 681970129 113065704 611053834 787354762 734478231 626963566 514009521 942975543 350707020 427471553 429537740 75964502 499669417 715682114 120237194 501177077 854083781 81820625 547947349 655710186 980113284 352160048 56512412 123026313 684886521 949415953 194303169 310716155 122381331 988316622 125092172 804351459 101382325 736146005 444222572 688376907 215625922 958232093 483868801 566332941 238219997 913406540 642297442 737889413 629088653 615050988 91582842 335688786 549387964 639530190 991398971 382017599 844206589 47911382 357560263 381609461 849843686 551863431 692325616 824741368 540180052 817417787 481609179 494078729 406080143 925831750 182455635 621706064 884063842 666324436 188039004 122283839 432247327 682852797 712689603 61335980 297903784 656788796 249541117 847291747 148835338 240940087 81825697 993041926 141367820 439385959 374651387 843727857 991249389 66977002 668469224 383945793 736911140 2594754 878024521 142991282 928426504 60480155 764697345 665006697 579320942 805252700 639806887 11568269 488105496 205012842 925420600 638525632 861801637 27478068 338333730 10636974 268418154 420159427 3678900 262302325 859545385 230846638 106030181 850794774 150339991 627015756 87256918 887251130 629610510 965281438 882758763 558037013 878277944 499972459 75560061 310115238 305225158 715366948 174199858 645847005 920379789 99620457 284372636 782181425 127098524 622706366 645334751 248033029 42865792 501530002 510335353 754927528 732376639 468881885 458238653 735232981 95897640 545495570 475000462 725508149 510777007 357759224 136061513 241571303 857731682 211621574 551686540 15473191 926988521 725886397 661320195 699884661 678023205 798209183 334582437 657638080 273431900 979917187 905671108 168814043 481447188 268522812 923741570 66340178 737404696 381980223 801573158 685818687 927475792 129089971 263843188 290769151 486849194 399904700 532340453 197097227 464042625 84026992 65086769 243547497 662429740 726406964 943432157 340452944 377132498 278014594 998091023 650564397 110448132 756278482 819378439 591895320 877317645 743120008 510751849 467238692 977616582 164841359 153057378 757608726 293931329 416900565 48377876 780780523 669321617 433234680 830394101 133364241 369778023 895480870 376911738 32207762 474404185 172860246 225177057 851536682 450874839 75784431 502101078 561322971 684579264 173995868 5734642 561896908 917115875 516486490 29135599 747248809 681327848 34709328 504857534 975259177 304126245 405751761 608556051 973447861 691502792 291466503 106812101 61280814 186947372 336240190 946004927 661351556 509100436 23698335 365404589 812491626 99482765 867505666 226330948 636578380 41501533 232065589 50991639 811133760 601068431 80127237 410898920 134912630 967352916 915756453 110171806 271479160 174024565 571244208 97443372 865527356 862710711 56771825 779324521 902174434 393012014 577845799 416042342 754628801 454060485 781446930 567120427 406059601 501468948 793451374 42637980 395486832 878033315 93629618 59136943 479101745 26273206 470035862 614014374 993626121 238308666 576702532 117621633 412333230 463091 215065004 130376937 715690153 271836828 762217809 617864587 517365194 192579959 33906928 271993994 646640443 667870209 691630772 52700043 169339156 337598498 95338022 564825988 215631812 41483991 623962930 547249908 67757196 93998792 13780633 913899669 184823809 590483164 884037653 597157039 443462607 99102656 580050327 159152759 223455836 342268136 629533697 740821029 534848094 515956976 865331374 34004889 183827185 556962146 86704931 205682692 894560643 34559305 770508679 962708806 76043295 246987961 509958713 996316843 193503104 523739345 762732863 378326912 966738861 499286867 828000302 410201467 450905874 408050629 421870577 674361709 602835116 51404274 267699089 137683209 567361249 133030463 24204449 603704785 542508960 110909380 809387477 289585954 145468684 432412507 104811111 74028330 679400467 614769823 922861524 725419922 991025519 538110738 103746834 957764379 37397604 784263487 220482197 340819830 44830467 642352774 15181538 647665582 546273399 135396979 637865143 113634647 120943793 662069591 569855784 515969104 772978970 379243260 805555057 770964005 811655766 910366167 697508687 343572585 377652341 472886562 68992506 221194211 863513652 25255691 31474942 753427607 662035530 251957138 94247436 706865996 746826263 961945326 354531578 293099661 97342304 992396720 259250660 70802448 506982662 829106443 586771551 132477984 60866054 244842959 903441988 725038171 7725477 453467026 68610755 237894169 778869940 990119613 459088379 642383591 867891655 490563320 248327549 382443536 742520458 342574985 89309532 341863072 157036662 296357461 634962733 106895317 141270532 746729744 177697764 648253193 428352538 616985666 780731176 489218591 861828624 536689516 66773113 722070452 990156541 135383868 959964620 621542832 978019832 419052998 116442774 698427838 909616318 364770323 80871374 504653127 707345307 22697257 846516198 864381968 319054717 333995282 971277284 460325248 80725025 1491399 108578440 361593914 618477064 741825968 850812504 332822039 278515483 917585617 54892490 121188375 905485836 867373461 742731207 736022019 138942810 859173980 286966208 48559127 76460654 220353933 405728605 783805960 95567541 104761155 500704279 414622257 291272788 324497914 727463856 224514165 178505664 688558648 586108078 796982727 430384615 289436934 982321117 561416449 59538902 889729958 682604823 965024737 757103418 277852381 553563107 896046228 989542713 693045666 797121706 66003366 913399599 55366663 702325678 8967139 12644169 55546308 276105748 303916956 380044222 3569603 528431120 558549885 544644602 114539198 208048964 975029216 403976131 42886432 388962016 463515032 932616390 71566839 281056120 542236159 201935571 687135578 290798738 43994635 380181243 87920444 109998001 146097193 995803458 812323678 7580684 8447626 867869985 136202783 312364581 100430558 139772385 840795701 511496795 536933339 807851250 719545758 364478906 64343732 762432189 753440922 527858763 547564930 677524112 661431234 89801089 879459682 348566811 380599826 923454317 581264405 321036621 885968669 727361598 169356430 550808698 587458633 177804055 271195034 723661415 342684988 371625592 715950151 35997040 883122386 252883489 843848289 455184495 617362395 908192020 70133035 223319668 288567134 617697965 900843779 949998367 560015405 632819812 151081529 940615230 408790480 732345933 114168203 294759148 312223882 283524632 845567845 899682514 313845039 116762879 623343928 656530026 340904822 191810431 692527065 76543559 444693919 536375353 384244405 914572665 297083724 454377439 137892332 585650857 924591755 38736110 535649223 484607159 524072274 686730751 277738741 932862753 271593035 244423295 80138253 583816917 527947926 925706097 483499430 841792964 894985327 959359710 350839341 88406500 151170140 43366405 17466410 448380410 432258109 401710814 362953075 729341832 856088253 353361758 314992688 633196359 244614220 703158262 117803518 768686493 242405364 248058610 701549245 513998399 492481904 781687497 97815315 872946181 559909946 433831096 567255497 307411624 393190805 918094837 248334476 396877296 961461242 265800885 845257706 246235702 667511699 60727132 975577534 376116303 414088889 143086573 9312661 658703108 846244835 979632530 427389600 88650198 80207491 981455197 602648596 572689394 615659045 552980262 298151927 28085342 986811358 865407423 335496966 232518514 783502259 583831441 629395810 597479852 849632325 474653515 843715554 369660375 535380646 671809439 745776677 949469534 814896011 755089338 460688994 661140845 587238219 888078593 602307395 667445710 722050141 57472342 92651455 337709186 610452604 390803381 365794527 597263961 256210803 553807844 829782474 892229414 137639284 311694635 342225617 839787961 786348149 38457522 61964687 174245146 710266960 807741364 976231032 525162971 415347053 436920025 38820167 2585271 177514969 641127561 670030980 899565110 698599903 762682435 89790647 161568858 6002167 308101525 758832818 262212970 861909369 441131643 6958735 852065004 752826278 349184351 544369316 391690778 387641873 606334003 418452276 97908832 414075366 394683307 475588154 829422418 684119683 514408321 684524040 861634651 8052233 207071372 613716112 559168487 969753806 556023110 720737344 975755972 864124635 332086513 90485293 726034003 773218156 97444027 430615358 378560785 446628378 974984674 622767914 834270250 581318676 41220189 784695433 847910393 288419847 260283587 529849162 972539529 627208259 214373201 686690532 635260491 421444572 152922995 46945330 243714729 708946105 767682673 71987053 573070739 99769186 14988697 151621093 725503693 112432724 582236450 104064477 411577453 409737475 579348742 98364054 991056150 620568931 883059486 691482894 908988777 143343072 221332055 734044658 623067682 288221608 420735189 110844525 709666179 573658183 157789854 805897260 135120639 925472526 877884312 708191377 25241711 892873008 712328821 603261755 857822083 147081623 559842583 269399535 556819097 139191325 367763588 400391599 612276607 103339426 91874492 373781735 99198849 165722899 107826392 722266531 453944506 381077932 833111055 16127036 954736115 990900908 822024295 89856753 916373433 552424958 650564482 794131496 297814318 215409654 249909602 155636400 362491276 809752185 277552287 919310373 948943509 645315874 319701971 413736467 748655299 264092814 787518201 847854148 429815712 895344593 422637030 883760217 128938876 255748084 899887253 83674990 99165343 721911547 26048095 15538775 126852857 529128928 662186622 424667174 744538581 912096224 580303573 107029857 574364760 857855859 878856581 375824620 355688085 51074903 789561086 956859735 315167716 577079286 657230234 744983428 324940230 79867263 628743644 453879106 188131698 381147248 390070447 287297040 103058795 268634893 155352167 82428003 650280172 817538788 507095176 247335105 582151363 87398748 206881313 9032474 797770959 85737893 384857093 5975395 136812795 174418178 962835129 451980510 604013816 472581715 49480289 928954045 552448977 678223933 235349502 740580675 59371180 477936301 27877714 14946326 746571193 35746232 97374328 249367717 853285020 456985855 496702821 287952734 396900955 703584133 296985208 47188265 789322025 681842300 53163659 778651171 708776830 868515139 83148032 312790645 341096853 132628321 94261041 746062182 810852253 182126895 339159208 722739784 660063195 219553273 590202462 259150739 255299505 540093141 508518455 108584524 997078996 5221275 249053609 246496302 708805407 398555168 293684566 350643783 80397468 346848224 129294953 641690649 67879714 64959337 954481293 408976567 197587657 901258685 7555100 8439909 83385579 346714307 583696044 743448773 566267579 26414857 2599512 821567083 419024350 363634318 782667958 268619697 368855593 31721567 515115998 930177351 282793086 808800563 133337486 215706905 8165138 115148790 857397553 76044851 180108126 664395197 485021417 377695782 565653882 492576516 238652042 501555812 839290822 822348086 97520937 258074753 701279294 100120448 79641835 120303643 316271117 862309793 388923339 685126709 746547711 904039336 467820412 29340796 565356250 601157897 97564053 573521387 716306686 954961605 649566238 896414812 619356802 134587654 274110593 37527035 479680522 512762635 539082846 171487695 187627072 636603782 429562447 888906365 589240581 361720634 861726360 905511698 76546778 103166050 443154758 823094488 7205386 910975169 704951635 425077987 364649417 802515687 998599374 80956103 609993644 648165611 977370914 81866797 635269616 103997858 119393831 967466489 469276844 510993028 138954184 656903915 113162 421032982 398326632 589353742 782753615 112569343 347381791 859300392 215735392 643052901 534911231 75457129 406544421 92379218 500535116 771193838 747411256 499134489 852149940 357404899 999816451 682037205 439271695 487602418 638551414 411181877 455068907 107828258 922174905 446539442 617248524 922288066 720088775 15575155 364158159 355358742 128144497 711539950 67175485 196396241 207109202 602086716 271853369 613653622 546982285 772388484 384847459 294393540 124039324 89513750 504314791 123855774 624067306 943586485 611458192 262618720 207284714 919043450 222963329 129459618 218099243 840211852 51747683 938188017 708303359 268422193 293546758 688964207 979962142 360722243 885360447 39587695 815325310 157213816 653241317 362307594 929602299 38088775 509217485 53641623 980118877 13532275 30013748 604186182 809635112 493988291 719321253 16919825 413031740 942284581 146379442 631130982 782496433 50643476 421835351 343316143 171582020 715382108 32280349 4060514 928620702 917640796 43648208 743946011 927370963 696889524 958769956 709489613 587494651 467987441 615647587 567613527 334036067 645661335 24316060 143671178 139649625 743637313 13107354 405197717 538438245 12003147 888845050 173451029 62646622 310680400 516767171 86744994 878578860 549047520 90805507 807199561 319204667 134453714 403661924 99091981 831343238 214948231 808581593 418837888 682935671 424229180 838967766 16971738 922406866 863283825 13159267 914572842 459437489 26266621 172286910 997875734 38269767 61131960 23843114 953432741 224328711 540610285 40177734 102907570 89657804 130983240 762623483 261378822 265436953 18801758 360470802 96780190 233749988 21568746 368134429 916685659 445797925 59618546 786173748 220721142 922902371 651849366 135293984 234856211 678115986 307580893 85248296 568902105 221229204 109091410 522334845 445557915 649701694 415028930 548465484 591875849 546012169 163605318 705771022 663965473 182407075 66241823 613262015 416157063 87810568 981396443 185359073 386124845 41014989 971532820 606845986 816433711 475898537 594656321 903806273 6530875 902237214 989054569 575432979 123466417 950662330 97767823 421540683 452880375 365313104 970006167 44756223 911325272 133611484 603043596 427807096 168534911 521801770 41069110 584691973 462128689 874981905 770051045 848253533 768513245 594100216 307615871 437463307 69998752 902272191 341269579 76529626 657025756 182840499 651962604 633008525 133502828 602246778 54549207 438899554 967559881 877071725 336172128 731401504 863199561 939215723 11724952 31734471 461017492 52794061 468942795 923146181 927775965 238993839 623916065 548805561 833094054 784048287 986268867 755609157 538836830 180054798 832138783 48378937 362895296 336617738 681387461 348914476 791380868 588453020 787814029 611457100 318041096 123986157 195374956 33757008 915718231 207099907 918007830 229252075 259893967 386950624 4914607 40186284 478460814 628830671 588991844 164071219 265395310 427777063 919680376 804232139 607831860 604335510 852611075 970727155 940953247 386514888 172157982 584850466 974967907 812488363 196307566 145525354 788990871 391682521 31798714 704709101 598782427 949806543 933961175 711192745 189273519 938875781 751379028 667734332 420222804 192887224 831805551 685618113 620664286 751485926 342366603 81012497 208337787 194977677 51739651 1807385 581492564 76413985 586657851 408976822 888902347 782965416 407018528 530409569 27164288 438817241 87635021 478463066 388623783 21596196 189655810 577897301 812988328 793551190 98147985 85727483 986438413 929953535 623861947 459619050 533955812 966228549 540631546 742293598 13722578 444887548 744100982 595215141 373817884 330758832 856708315 115236582 966240599 263726842 645646150 993404886 702544082 733281171 324384303 943684216 607393718 514040113 374097869 272898397 160107654 472245853 358625880 146546066 402199387 982487826 458681467 936155198 801232727 851829364 530965147 814955304 149233263 275066128 262686796 523051147 458341312 119395110 638287728 424581910 235638303 283933878 270503148 938182384 17215048 594887450 734382952 477125117 961443914 108480820 750023513 121551567 580726672 108649392 120613984 835442410 943653570 431811802 624113959 597402648 283641165 155079105 412357951 432874428 282661584 675044746 955925574 741002895 646956208 446729653 18101157 882594510 730663530 288604304 673293246 600394929 736008105 407676197 77520045 697452019 368673368 680059910 671519937 949400039 641225653 792133921 637358800 437395574 76462074 261472758 34798221 360103239 269068214 299672523 645494018 551729797 974717269 453935943 292732692 474189828 900665595 310833848 356784337 483845477 451954503 30077582 84240405 187962607 290270130 14276802 737930977 658943497 546853063 409450914 460859887 188078715 54101186 98218686 625474289 130563259 212207795 512788861 343182849 481276008 812461384 988676866 33005805 639695004 442612808 178254848 113884831 195794755 341605047 323185519 679640231 793559549 205779453 616396987 981522155 496049582 483190140 571969484 7509431 30043202 981420397 320885669 70638269 888037934 271620707 696112557 18601192 483828501 61417769 214300393 817620861 873879152 202977258 703143017 513574155 498106418 881397864 479975337 693901172 75519262 803160856 373541402 869078810 8940308 989938388 703117316 357506241 325644880 275086799 365015671 355688081 109023547 685901340 426326349 997061480 957522046 974955257 868179024 293866898 36373026 82479416 111487758 910252177 137973025 667147126 276342684 636079442 401061341 756318020 182496965 476580602 411995227 556038366 345659411 420935534 398493106 48776727 778441775 724137985 176379877 995973797 932342417 137919776 534391488 211185118 134981255 344429885 186140374 855676630 638296783 75029751 790672397 602300892 985281928 781161774 121964370 114140963 269757567 523025710 722975334 452254532 999606312 134970561 8292897 197782074 408422446 259302354 99075152 39380572 835956690 275455029 35354369 768299107 413374804 569745856 979484224 400872410 914175741 18140949 109065392 404988875 93170700 752254140 859806118 930968979 533415913 981770487 45109941 803173480 504796197 620601626 107944363 356918860 755572186 116237259 554700933 16510984 228055965 653776085 55891555 64012654 929231113 91245923 684828112 195122268 513508131 516828687 448511029 280200223 387485988 557576420 685189097 480656687 162346912 397511566 264142017 695762824 379282053 161768309 351452655 736594601 782369934 459397017 93513460 390458472 428150628 648214392 406969455 508722944 154506828 462861009 425251949 83737940 554106932 110080061 131376559 67615062 479425099 579887588 200331636 866911086 989980359 885520732 200084124 152327270 135548649 464226140 700606446 514830701 625994448 52059100 103941653 260880734 363972469 197455112 651339205 644639448 698185856 58308659 153362391 852692683 521169667 578614339 788946975 927792950 541210751 920323533 847924363 873152202 352727472 48255998 592579639 195224183 786293081 792663763 347551452 921841730 109406254 48157897 289188782 587917054 952733349 393130435 848797787 169222169 590585546 500136991 813861616 141287753 410962001 819740358 993980436 932131667 250871048 782927410 712440969 792081799 555767294 560365331 517750352 761011118 461137681 110329990 956235300 247430761 755510104 156303103 21788842 864916358 56977352 310977624 305349763 9710700 704108058 154147549 31449220 147209955 506800891 697827187 288497708 917762891 517567544 282478143 702410909 768438591 917921904 414851877 413036741 326205549 827733560 930787092 87216666 288871240 893633434 43451965 388818352 649143537 52271420 410607194 366576246 109248771 721584817 671926008 118959470 425692874 678589908 2925041 572902828 185390798 700752227 861400535 103153688 70836122 996395029 658080949 691791064 914316932 72932825 104827805 93038833 753182736 888131248 180255498 42053975 634281033 76223815 283388679 135940922 128495234 693995872 502517167 237744004 415580688 26959527 209219825 693789913 705549434 64661217 119209092 743456584 765413443 980609627 699126623 688765916 829521007 357207571 380556979 596354291 282656748 337901135 689393123 35839483 78548735 869648620 930409810 712829767 798388786 66314840 848770688 926884019 760310711 203804207 17144374 28407750 83280085 78880550 722197662 788829518 143541766 841406753 384802453 908955208 674532731 83929076 450237475 504053738 293652998 830794454 100408028 576309745 21211940 642317502 464665580 99760674 364482473 247591741 665106793 162871259 313906580 366393832 942271629 74217290 422714390 959416003 102625039 505994474 38296552 677339052 147340344 34354670 518745804 532142796 943309877 45794887 616071871 246063704 549848624 909724869 76858157 502773003 338550965 950586448 145090504 655732896 902863474 362089328 903324636 420486618 524960586 69747567 786880449 319748567 996481208 62111191 131680921 951622598 568105664 22493824 628961649 715446007 56848493 223805 247588803 158370 46018691 716177025 98738425 448383666 478418245 28112933 951156668 816969210 978699380 948763523 325218457 881562853 163369202 81059445 154565822 688329788 150807011 941446271 8078354 147288219 3557461 139759274 951427168 424179476 14769449 432905169 139625483 71617942 433128973 239730637 71776311 331664015 955907661 23031087 780047680 434325906 51144019 583720699 103811467 29843398 385000573 429029923 763922603 548369774 510089367 918488424 89215913 513412730 712451046 97294266 513217300 568524858 89569891 464644467 992704334 104339340 897549635 132329816 28473633 183194959 224576804 100249943 514858973 180484464 123281029 147423004 467326721 26941399 731143702 571138187 56784796 116144274 852684462 820707398 664514048 215290180 591712174 753729960 728702909 304163219 703540578 241920208 872688077 645626820 559081027 717908762 602482511 309147013 702754929 630956143 492341972 927331732 583722437 859717296 107816195 559519817 7140300 427659268 586461215 738284001 998797454 495762363 706944627 703998267 168986112 223975026 919288447 760698285 977704985 647991355 64861504 533761914 742427915 790065932 31905086 301508941 360491045 486903948 610655953 63245973 117860091 955514276 990577704 554098879 815231572 950910250 966135048 674888223 231085869 405112614 265688575 82399675 900874976 972633201 786397941 69861088 196608226 705686387 830559372 26829563 206194094 747937227 413107828 948622008 390519510 445012913 102647300 751010554 931916861 565819604 666772878 902293303 521333880 509866933 308908533 189081803 313293535 127559932 863970025 544379403 532672546 129658599 626779077 433547521 954808152 413177018 355924960 3932729 971379756 39000684 30762291 30090201 786937910 443870119 978712208 29973772 741399383 933875859 633500677 525832595 499695463 300273555 280642249 873545694 810140487 589550782 62627496 123434021 717110713 779113872 520329776 102299610 761288822 147108852 535847131 568613325 412802221 891772090 572546054 384181977 930772773 603308344 414272177 570227035 899694814 245500737 452717158 641094197 31892947 86217834 19443143 531588409 239007740 300085392 257650454 49148227 889636173 172794301 25098599 459263237 951908172 397944726 561562847 565713346 545053578 949926329 134326670 957855798 694214770 559389075 194554126 477503895 15213771 461342655 47730929 914908584 706843391 352964438 408519132 738736337 439182271 427962275 122841098 678190011 728047666 380491551 579854589 470200190 553285852 457469539 929463426 357710375 855414265 343542624 775940072 252984194 145985304 762783094 63356343 840200074 322172168 110426821 317703968 337385938 571769475 217951248 104810874 131129217 570915685 513330005 869865553 862614307 941292279 845223002 393320669 669339944 78230905 973175257 139540133 631516756 283161148 921519911 841743482 991091764 117578886 617683554 96592309 263564190 232982999 159948651 103764263 555155166 270375471 273984582 745057456 842144945 344452181 849868329 973274161 915367865 363198333 695656066 630498523 157006964 393395419 23819192 826346907 471626323 849510800 818403392 103143078 132671947 592439654 797402912 976280062 562534891 267602817 72872370 826099080 500585815 85337373 782379694 55740980 355712843 908880627 653314787 50374140 253332807 503183115 876164652 21217023 718897800 424337069 651715546 875904763 817732488 528051089 554768021 289358810 377561888 225687764 245018240 362750187 818127417 42421151 191546600 233178660 162540319 264418970 59277739 663126133 349756342 694173785 571383464 557985536 455570763 224698251 608359675 708903570 580397717 337040679 582636944 299295516 761377747 86868841 27716630 579110234 614919929 582484651 720985396 992481817 808172414 966003635 207748355 478816183 860941137 399294954 711994842 23481455 516230275 623788932 539123939 865986616 170479068 110507402 276488504 626049831 187722004 884848178 187469752 768119721 74405208 770106695 67415236 835782955 856975536 95131866 267409540 471895464 530132868 988394935 316893632 338305281 806914921 377158338 817121463 520372409 776453292 381632656 396370215 145199918 5421588 935494153 11186534 175900655 46001555 140191389 801950485 86239910 25039566 989420236 854359630 99444774 612043283 774291218 787744080 469018818 721939435 55153619 793430633 252072302 43548554 110324265 442893934 702979826 339998954 112531749 223352235 116452245 494164404 619722449 114168515 499585991 407732954 125355048 528002998 306250860 118062788 182469834 392490769 143102353 24406422 246850399 95063478 636449704 21141616 735323909 105468521 595597402 790477528 751415505 847669703 686542433 714256121 143079988 242038610 54255075 255611736 465390844 23223671 749776140 937629645 137392185 101878482 345362598 115263584 629881479 651613457 233326371 812351313 44104225 228945076 836757734 143470975 176524905 473207437 17128942 911848814 431192309 612726343 554842693 35124165 312912397 93901477 749380286 455992385 335940086 803635360 711604120 653847282 679375382 313896611 591476926 816767567 415775093 789355875 784547502 45656571 293485683 17873873 858007883 190106259 99335300 547281968 333577234 128376556 20489404 203222527 40225369 304198064 815948870 447584413 339322229 981377618 394002241 88702514 289886354 729942327 744854225 1490474 236305960 276745958 167903436 827782885 93513524 583678528 469655111 730577378 629335099 763140793 600967602 339859333 953247051 700302901 887141301 139340636 828679456 760147056 342563163 721421177 916861472 11028384 21521941 108700052 992406001 415524182 49918917 282292355 997982860 794773141 136299180 234288819 71519098 304202615 914588055 17548974 887881143 384243165 600642703 369732593 147383957 201610304 562108277 953147359 754429556 301765929 92487995 435625363 61912985 435051157 9562891 831290808 446079540 31084832 939990859 291001892 299125365 989909775 573294246 297108224 637199267 562109777 383913394 561234716 866312392 298501448 431300041 606709886 535260964 31942743 828958830 535161272 86069398 391067106 488308630 840498953 692833035 433312976 276124316 607262371 868364132 285687206 291069530 166960023 169288389 231060388 457961915 468413753 73486514 883772512 765521976 710685780 445882289 1951721 271920495 164711032 300453168 703220536 623937269 835714131 587679630 452896098 223391754 673749028 696479555 711700384 514247980 241828941 145013359 642888647 849091311 865893843 928575853 140160840 885370217 97864241 223737579 195848483 418794346 297224092 79620995 36832673 7909871 378019635 38784394 132346718 542730666 339237561 688083605 19184286 27468044 275763234 472080383 250859797 949512261 21076289 815076532 316276593 262905230 812606243 959165239 111996540 531016437 740257443 104673732 416386653 690638036 180927662 612235136 109432381 330668106 544372482 146265053 191094328 922392116 37565798 323441045 317639133 376803359 11524649 336823418 256787754 139804235 808903800 507647550 941832847 829980088 175240434 110625791 92885317 987846676 69791030 57398209 518863112 662564824 14588292 787766116 205719211 48032305 252517603 167667943 378700410 796890084 166449348 569794738 719282199 204015145 745752134 36921331 433334855 609793135 226261100 690122608 749597369 35164899 50286510 543946567 717661339 225526943 654572358 663063007 213373618 576879739 572977567 584753081 91960914 440082210 372519196 297680125 340630867 625036799 317864419 719331276 274443234 484313766 141642365 993725433 540845263 887394499 883163115 974180117 349703985 109424215 664302725 99301353 997105465 714589234 495764271 567283155 940116176 150336628 82862514 6006145 727216366 508356432 590759225 819177280 948438642 815794772 969373756 141585860 293347922 287238174 860917135 567791156 624068292 855075852 414032940 164913554 594986702 149712406 139093670 944690686 111652972 655912746 896508390 108758437 223018331 392272660 528557943 15650858 395125640 463936808 21657002 122342005 972293240 464932578 794035636 773248233 133243702 615925743 914834092 426591623 903163917 628267578 994382778 379748560 483343429 408415717 544662113 78330130 558128123 536272134 875537167 669781094 44701232 772045556 631055882 120235914 16834568 12130177 135886772 411960207 476066984 10060125 386818563 300876575 327509055 33370551 74124807 460752756 649296293 988958898 887344378 404976561 469742828 881727156 784725120 953086256 142659224 181903584 883932738 553303698 570692070 611986256 75601144 615393301 236548164 706657025 735629214 253382731 571303553 724032337 517859289 47370537 734092462 904677851 200763463 61601516 790564753 274888270 374870623 292377398 116363519 262215000 697353958 586106346 996458507 334595430 391708954 139117731 369015365 128158043 544937780 939707434 740144298 620538923 407617086 976692461 179712300 143246300 82591543 751015852 719794988 600450831 650902740 306403801 357645034 851666203 220521668 726138 126554472 595392290 293103535 95434342 857607290 990457493 534057040 706582148 177569274 925765993 698216230 546584638 906440387 243154010 338808424 499101036 863692932 746425509 328309849 43405231 742188160 410901391 646937435 461983148 863868574 297840174 768386948 74029959 2022728 988908616 74756096 128577199 436817257 367859631 76527893 146940898 210833475 610584932 853523046 388402748 388867276 551739275 787503737 147824014 647409636 126312160 646925049 363618920 872737669 975234897 259540502 467442180 238652640 906477936 929425327 102521213 56834462 550328627 176551171 58857189 391753594 251307266 39950740 828570850 619166896 116478632 975511748 830000370 579579915 681551145 70919469 968447190 85806771 858423206 116271203 733216407 837251717 615712603 96835326 562505737 590947500 356375827 29947917 829600139 115370115 811889595 784637703 172204576 214734573 961188873 231061764 606488166 65012490 271012503 287575368 536695738 387491134 115603467 219212459 967071048 797154611 290131928 788034589 882961381 1071485 756822143 468694139 838323201 225051098 565529464 253345290 815998597 774421643 283293206 498115087 889791757 95182800 135269141 61996332 162433725 96458013 293058095 768921890 13986854 564070598 909013609 550682591 804078083 24617075 769895050 623665483 674288037 912543329 264216423 409765770 913614813 21038566 878459908 604454365 98606015 296505724 857799654 914604611 70927366 993609211 265236049 813235474 941308363 400505189 875231805 103742087 349479553 20806251 725180328 215982758 437393200 634193937 766665349 241471283 511327363 389076750 865136765 38131752 154136430 129353187 300413873 67751242 2908104 31390132 524721958 101514118 327895855 235037964 868635080 251339572 81163526 986387480 64575045 22471888 239409020 792323201 126213974 588888572 665645804 703910654 804871330 103039003 190620942 424053030 197026637 701948304 665646131 62163401 592596407 819782560 44032940 893010279 740050153 899457395 924400411 117288462 853487865 104812617 352326425 574639296 356152189 433489951 413543128 273243585 308478190 652952147 918083138 287208516 94357071 583728941 991119169 899228400 539284295 181740110 175797781 736310932 736204765 841443911 650990684 328801172 513742822 547539975 74327802 253792974 299513722 998728212 371081435 5517938 103540829 575924212 580157233 312209369 9414162 993700360 585452953 170408703 499168859 356052442 457617218 593525929 939781382 448736386 345270680 331582029 482992847 521068460 67892960 219197612 215028722 718883643 400515135 728771543 118939970 474842936 835080868 418453691 473571148 58678654 423971628 429628328 634602865 4128860 741837696 496533378 850345572 179807000 666942081 202030782 535859442 124559298 795556710 328157175 425812036 140827389 659739203 908804882 514412200 727632162 128002493 729440921 299032157 381033979 310728815 417972126 855876915 145809682 836425816 181964414 57004687 112913795 611592741 691607552 117042654 353430436 188140929 819904577 533237435 855083009 21935358 69096876 832158659 670008419 249770403 257970694 810835807 909509605 19291927 177764358 489658119 147294420 907205278 788690275 380844750 70450444 59178752 236721664 68776477 748120919 418686077 125781164 861034713 30278817 817388715 830593718 236225604 858045995 503014647 621979391 565645356 377466356 543592618 397804014 47474775 793363020 508291059 710826933 702872625 527582985 888591291 45047095 527393756 648312920 833737369 908238506 718763364 745432472 144960169 640056192 493553390 416162598 765837355 207104454 298957766 435742421 37698171 387699722 146304768 540712817 9679112 711950123 918179173 553271729 109754136 818170299 199151101 470561546 528997231 902023725 998144530 270104873 947070819 525538286 918417793 633324539 286293143 489697508 231273362 283769663 129753699 724826751 699932260 748107406 931931204 851406378 36366178 822145726 239106099 182670945 215374895 101301562 894621067 133554067 654573290 856891554 804240717 853724390 327453099 185754299 608264466 178113981 455859172 407851636 703652266 374276964 893692526 989945408 863974471 124965887 126231422 846244521 702308989 826163682 594351926 486756544 530086411 630718104 308902270 769192509 813389048 524277164 870494070 560526467 510347582 377583711 417418020 167104650 83824453 597387471 352858948 544605270 775501451 808718119 952456906 331670068 35511434 698665783 174131827 899485904 823631670 300363248 598246777 378457010 126526929 45115054 865213554 509129691 675833157 26632175 130838551 341738557 550909338 1332620 902265023 913773271 231432683 172199394 80877920 167773487 769586864 433736867 712378756 397604666 94971338 517352013 729274733 130482771 216017796 903406559 29968675 892165817 203769807 480731803 270622826 182813087 525846856 135836379 691942778 54196365 14984905 822781328 395934921 565894242 676630300 150716295 332183864 760579334 175432040 413061783 928352820 945018904 699315002 640731575 195139921 794286339 10599940 924414654 924769109 226617735 827821212 807254135 118783551 884107370 287985937 241922728 66920457 813832793 230275459 611379586 868029157 245260363 286677265 116480429 663670957 815823916 119713075 995854820 576403249 295145114 261432955 357272420 92680369 960747956 998003995 287820290 755034294 8603934 212234943 532319754 87738020 892572506 339573889 59037922 776679876 480076177 153477001 696116684 146425321 383752459 160012621 14454477 481529174 299206237 983451257 145200130 115030153 103164331 141054949 543949753 398309445 255004255 901222173 490989813 215752210 751742519 778810102 823302855 612862804 843561396 355622609 700600823 736133902 547712849 612155096 365330129 27789025 765632096 913963164 174214346 1900907 73975784 41185174 483430080 225698372 24636431 628630209 340728524 980317113 622201509 884678277 231142909 877205764 638416801 722132722 945474325 390159319 353459175 768777180 3022122 49536923 976916140 556139296 785670824 524628988 20810743 3517304 404934364 786442838 917480467 579148709 788343744 843972602 472850235 271773823 69670973 350003017 752920383 262915849 330320129 227638244 110477 561463038 104844007 638527277 136112111 902834683 881202947 342087637 524128214 736741420 391624559 501044353 145397067 29811734 878189692 166207809 33329037 283124056 952650646 803325855 714789116 740994390 499814808 187639350 865284564 422002133 537642366 618204947 684917981 720478847 845843190 537544809 134458236 803203548 28588437 270570346 558554582 909791383 612657982 82682796 646532802 4282541 436243500 791929868 34094274 314433192 958137676 919939663 450073599 763304673 723265517 164862714 356815414 75596677 205018416 222099978 497598809 742660781 692821276 35033141 315655979 391180817 572577949 450114214 46900716 601166385 720684559 605455297 510957767 185858893 688138092 10006920 42657785 124381592 654453139 929268410 291331135 465107166 849208072 741404733 228411838 424989941 758783798 585227252 500586617 963802213 659843581 998185425 558979346 352664856 33218565 874635324 743845672 458312865 324749538 790746387 59479249 897950448 248718035 422953367 83809340 936856127 432960286 978983476 913754070 87413424 908251886 57601556 405036941 609976309 651522640 633448778 887482601 410306437 71192381 240585569 226625002 731035961 91287345 785604347 936217168 124505909 660239670 532579191 435335125 837505559 175841929 494814373 735456007 424559964 917767739 671781698 213932442 203244376 503281526 127686511 143174151 264049763 37804418 548211091 874026071 689327057 34176221 614025024 952149845 105368601 854610592 178774846 688920914 945897937 964379192 477654433 922920197 477135214 10233624 358255322 167157124 186075552 705586046 902613130 610635515 475870137 426911180 824567956 679114512 930192705 804770818 674805015 46758819 695091587 75532457 920784889 236934995 109708677 387326264 189084840 67593630 241936856 220376037 609030895 40351144 37271581 86685327 963271340 514406794 96918950 174043013 681563917 135510854 879629059 436693399 598662720 355499195 716120930 275747028 887130058 498829986 80517845 561935072 545588804 628125784 637467529 318890044 865060778 599692557 706216308 54145617 667286186 948153163 127038006 128833432 988504306 164309586 215518759 804291997 678716379 164954060 978335010 212796647 152981265 857964068 502006397 751643985 65979614 218127326 27391012 953109671 716957311 960425208 367561095 115062466 588550991 857544975 433952510 306128121 457237531 140168817 212790089 977040069 940838331 339828094 105873500 781858988 504137679 173908610 586150984 35370409 338862670 417002345 248167056 491843934 127482764 750173452 96004270 193462377 820817130 123395281 999088400 390290792 83820489 219165846 505353258 524887831 76710820 939305767 831015951 386464702 79474583 43806040 363504770 872829265 236150485 321894622 654688252 740288164 495803231 93355587 775658572 834665900 510357932 23825627 179026186 637840695 626515431 275030455 683819424 299848912 250942088 682907823 690139703 187278928 902073668 195492960 712166758 831300839 134798726 395699061 217765540 66789660 292021452 433786662 792135276 528171936 755681283 299339879 120976451 251484513 392695466 896635023 938666765 755569749 772977001 117692950 245926795 252008783 245239756 929746218 551857694 496181843 465170392 241997397 683460770 219760411 290006708 248143880 51061249 277321786 496359292 121343141 196627797 788380743 555129802 988763073 169069030 310811084 288102951 290045481 414811948 533314768 39196855 353478712 288884516 812173855 323688013 534811311 64182638 421444121 317073880 616040331 917625963 782244272 710554079 453603085 2004682 560787 554263316 53065931 277882572 50622607 26925423 474510368 691519701 582055224 315789792 860588730 892866307 603892743 3150562 160194606 137207510 42347416 513673318 278608378 854521271 689877682 665936040 771220260 111321802 983009919 239776942 881464117 765254190 950331021 187583553 619775224 950891807 741846868 525357506 81290730 792469474 552282928 408317449 336505526 134338151 724107241 49610607 879720809 180516335 52761169 39915414 170240196 95108584 406105083 448848573 802146206 95982765 114784612 425882817 59820918 950310883 665659759 941285034 568081424 615990779 128868586 187856647 419398937 870715453 713214152 353206018 515701278 118013431 761523466 852206803 252351581 485630706 901817410 132072389 666147040 807094930 24504155 836387236 754719865 430609237 137752160 409382423 379108353 105053124 835265239 438929271 55364006 500924997 380214304 475961781 969432127 361599242 663818428 241347415 84831046 229548931 594553432 600532324 347562362 356076898 305255478 452430294 694223955 59589239 437019035 212887347 866684168 461523189 49274582 473920385 744648777 39543093 883302807 123757130 144596216 718568045 562686400 52476573 72009394 795417055 380954706 41441520 157016296 44773133 135305287 241847342 126838415 729858718 694896017 326917128 85935615 151494 779347422 632675922 912257085 216366456 845563268 631457604 530405996 747354201 105377988 275054772 786897293 988680794 251328253 784009861 559765191 814014652 689002785 484290936 461948059 69957490 378248807 618964354 967246974 513554093 713328047 946601741 243412811 408224063 273518868 181864777 260891909 52866289 814540698 25665345 121749096 512620317 657122948 652155091 259974517 762500936 779726215 899388162 603698081 31054467 535914374 15979623 697585471 77433510 500270558 159533529 147391000 878519365 631014234 967154325 244589809 344342281 766272417 488002619 605082695 39791285 522383748 865974603 945173925 189440797 891639947 919439373 702061114 401279247 424110815 962035630 16296534 203837029 713940143 619994614 87407848 249854516 488490589 784993318 327288026 988761146 944526846 327195377 719796862 428057431 146866053 964386671 772399711 913138470 304905641 229998758 805446106 827289388 95973360 603136382 16730185 840129659 375092106 571307650 93925257 799202921 385859631 110221790 3039949 99799774 730216403 90447796 202170641 71223343 727957465 529458666 59984489 525000662 709170394 632297702 953058093 856036447 449200724 577974155 621691268 606622717 807972912 279653725 286428456 756462624 735306458 155674992 449108634 110398564 726982641 543033890 909601484 112842272 653255679 765157784 65158397 235988433 708121932 267329037 307211776 288595748 796787703 219712616 813596410 358474448 852010317 766654502 67027246 153727393 197145008 688718513 760350109 5117920 820888589 46778564 761580543 556195047 54969908 63205528 519109962 781952548 606239417 281227797 894794819 259495095 46385580 959953215 495483527 607023863 79798604 802695302 895619611 876586306 22407917 561732372 87577105 726934586 180903225 154604351 733178330 378048232 843322863 346044790 383166151 516727804 245339705 997263045 72922850 300309612 60468572 444549163 82262160 666707988 725776959 829573330 778719434 624678890 642042897 126719313 84219105 721841500 929414614 979838715 450944157 804338883 394087438 538521261 383789820 574990662 693125611 116968149 953038893 388964826 315529290 188721396 905692629 560868994 185984440 831131830 861178606 98969364 275680992 943440765 765677351 1457950 625530446 396913137 478653191 267573342 523632449 562872295 989414841 305563414 395227361 292875349 109902296 789314798 831396610 346208467 364305459 524522220 315692967 169860704 913487045 631222256 358582099 671696025 44607602 544566538 502827854 905786207 643535901 631025197 701743323 261729604 484999498 327273768 658642740 963652689 447363462 34791540 526524983 289294654 340354953 921752344 582170003 302773601 563583493 413566612 648982067 927888952 790605183 817191386 97749655 556608580 300929993 308848105 228304604 345537594 853414642 583648810 251323800 349466895 214674006 953067122 463712850 699673504 132857242 122355589 515842544 580220703 9663480 42367526 869515356 350018432 816636221 304201710 652792032 232736066 717768321 154290451 13141369 360889856 971481836 110891023 917498435 272411828 272255479 145803038 617949422 125670120 581968199 721789573 327653366 796642205 527373047 791366215 348832060 660230288 766238155 864674603 92967342 775901634 759558480 814999049 125920066 428711053 119200759 631228449 661447118 689485431 785518899 674588486 50375286 757000734 637995860 967873720 881928914 910251338 966193110 352394687 888437809 400677660 74184259 68607527 49836216 601557305 712490093 398668275 114303944 331244600 115859229 59787637 107146233 727934061 874786686 85582650 9161465 993987444 569327451 670608582 535989226 354846349 197713419 586364512 964363435 688225630 406754583 846292348 450993319 225464044 51203386 191947479 626141704 125387644 260555005 675977919 579461301 973045098 927162546 693765244 156806049 43021774 753552881 116468633 623472186 480855918 54567635 632633650 327359713 623895085 155758583 863348938 978741433 353472001 302229801 795621219 41697630 708984384 494429918 345207300 786964779 545633303 537154779 265622834 671020947 797709783 941600753 102998599 623271232 721279650 796763842 780077280 616817775 402833074 896545913 240289961 883688991 951113547 872923610 63565055 427524983 28682193 926913993 258782767 234670545 229143793 54403986 128884527 790644528 548833903 474091826 577609307 94467206 11246604 843232140 618004504 661472739 637349244 721003102 137260322 211145245 370283295 769853954 827963020 625632721 518916218 68252980 361838063 322546116 793692941 425403118 750071098 674891485 352317110 8853864 762078382 433977254 63257849 890962908 224621782 464608104 217571085 654747440 411591661 81334041 350495931 882112516 595323131 987845175 455631969 732583452 51506771 825915263 354953757 879469790 304064335 873869974 800239121 665902398 196416089 446448414 91305515 946487186 121339898 296138976 807857402 735934631 730116229 723631602 479413890 954738010 40756057 696984975 462001801 452347717 630835367 812497732 186976584 226158497 652859258 642608552 811258300 704366028 321040167 166212057 583835818 625104501 40082030 236591290 291006898 89014471 683039703 234828764 888018008 656895953 530967739 695875409 392830583 261083968 272023363 872244473 68338329 312779419 421745799 530340130 765127136 52581165 195354213 952103719 131256013 848213470 447228623 942514312 552579497 768268789 961242720 988931666 393373289 853841102 225522956 536896539 942855572 908562658 771725302 683389931 417974962 302693041 231781692 810805545 416293360 503805054 535566369 484631688 816584472 809828519 867488169 434227959 714926035 62842381 238848030 846182047 911055850 686076652 641212710 316151699 454345440 454971782 157599716 700235080 308812883 383122671 237131618 104184806 144201681 8856920 787574736 562176642 164066312 19356427 225498538 580359671 375677832 613581258 917507710 192262304 423409776 784995879 626490262 138335810 700354611 865338291 837034208 463926813 403931294 330763270 780078511 858276733 785735051 937678226 411028165 947064285 173317249 648159782 51249090 170035281 509533053 691340177 732211922 526115716 563212956 810226812 106475386 938890787 423808069 876499448 983669442 699734197 514011678 462676056 690586358 214366288 180530698 380136918 678293100 584461992 710900187 310887962 295255076 349151589 101082540 706283240 148732225 126916140 206959374 52497666 296951420 716492426 743837842 29163341 95124494 159567149 691906504 54116231 950974288 115714573 930615678 934643729 667965121 444627355 249836136 358551478 511509995 430366834 738688395 42319446 14828825 302104933 353207408 310083900 503772873 306806299 16367140 652505097 433722438 75842865 705002762 730673857 792335290 301356956 612353549 887459783 460924104 304260053 941576014 264414743 272490977 724708043 51574824 940456097 21851750 301410959 151523926 533361744 731777792 742728673 575681189 746606616 44833605 928888596 909206868 401122830 88211246 778090359 53627926 521933683 853933223 758630688 252607539 498784864 59987643 864961088 238760999 373428098 21737492 32853364 637842841 146744820 757561406 689417664 87200916 779413155 990828622 91241193 312774898 575122766 833969865 888456087 174245733 731319822 669861034 83452600 132442651 758072280 861542958 38586928 132522314 567992532 649733967 385129853 66777396 562237961 102607292 305538394 935666059 124344783 338391757 426025251 123605954 95953162 967959266 63323221 727882669 811304239 154564413 40657566 386427004 841050630 781630004 560672737 424886803 304007390 496641688 409845805 914596021 210700998 448432732 47118334 778693529 98166699 284764538 845470924 512921011 387371829 3525669 301103421 364232963 194433777 727128671 487838916 142903291 547604288 551162136 870785959 358908527 558242901 763959876 597851882 399293530 398106232 11040970 824180332 702113621 507682658 86542488 469225993 718383655 534975219 516344326 497077183 485658269 801108864 195064459 998579280 40997044 51106479 152199052 257746359 245540256 879327723 745585274 388443546 279448362 149263762 259229504 638356888 707506662 23189379 88725122 959316543 273811962 99766091 636013226 975925582 607448748 722555713 297667926 325832402 110047283 814012252 675425937 595705552 467637467 870490395 446801183 361150862 921596873 599000234 618897220 19653480 330844308 216998846 408097025 610292670 366262607 667326528 101165909 926285620 543032259 189891030 885602162 816844220 289657121 374131739 645286154 897105868 96687451 942954079 75454622 206734733 609482682 750880558 654956636 929636500 473887304 101757818 290787362 248000528 553274404 909684581 267654008 736635063 126683426 675751032 199444084 345462384 195593912 300609993 124264355 591142522 343017374 9866516 260503093 632674494 236514606 905789246 382296714 333202056 701259677 310267687 392453141 163258710 61148244 47409776 92895210 387551899 1683946 236198923 488068778 407474701 998399855 755722785 144109763 977599633 283990169 343553847 175578368 332100432 496680191 299842723 923242953 839697564 162225590 183746045 324888410 398740196 942051643 707185123 731942251 495827671 17452809 124395391 659086380 931117404 24321519 604497941 171185654 26005464 693213215 659254431 285996516 691613070 267493568 430106278 521729054 404000088 626176476 697307421 736100519 122856666 997150143 659343471 962554230 159375733 695605867 139958991 558115928 637657509 847144113 142574530 133485179 717113273 119486273 645087911 500747028 143807791 102102203 524449033 22329606 795315418 36219815 160842473 339444839 303713382 590948750 861173892 707713469 69641578 410997664 296330339 192498243 408147807 955673809 7568824 420039891 503796028 147527814 978155818 141453536 847188278 973246699 127455067 416817902 92732971 625059329 917564929 89057113 579677883 294530313 963903070 227509652 330750128 124745542 566954490 634463509 568210644 280644733 194693330 637852221 691642397 491023668 682866815 952306555 299213829 690435639 372346445 803009856 690479804 203018614 796979743 537668082 28781664 776951161 954485983 121514635 254526841 724567264 63088099 834204724 19097576 879507521 61714375 202364055 856769414 481185217 836827564 277496409 614346301 884037245 767864981 158505049 227577264 450731796 110811603 526791092 993683786 335674399 182317299 684163589 538693012 831813394 74348022 567474676 461280906 881350357 541505662 715807747 458433972 457110112 402528822 330047899 189133984 316759548 532411954 898419750 650461116 221755869 28432510 264807417 105793113 796297491 423312465 333370376 99545638 386640420 712677820 93229423 722314818 894995118 629909363 113524182 579324863 704257385 680998857 40605769 438124093 75020870 608929867 896558064 384647333 11458688 226605962 573781317 180734587 759017915 324717418 831195703 980773783 353149927 948519471 939083247 149447417 224348287 124969975 248993054 610988706 837647794 194738828 333303524 585159263 824648191 446827705 164484126 381421927 980342913 57606246 819546019 55363782 666536112 716104082 292527466 530511151 795226395 866308782 711245737 406760662 43542551 394957791 240050796 396692478 195993613 179134043 546139894 420341900 304104017 647649300 31330605 141751810 842388127 217150480 579427424 667036317 663978184 743911549 48458243 496837448 801517794 720520613 404717581 320570257 289141046 697245047 851081407 84367441 416070180 414843496 491128102 459612731 809801286 731178897 856305208 5794899 762829291 254961453 278653150 66933307 902610752 309983754 61201468 744998879 527134234 493145244 264551547 43628769 89573144 165526142 540466217 891090938 886046754 945183797 64177546 27704152 494945195 915258953 112071592 911015375 330102448 455716045 370628105 992420085 39411293 79449664 850731335 802240584 334411116 129384484 721690242 237021868 291884590 635408062 834537098 819018823 128553305 99088644 715163943 218126448 117131137 108146511 961733737 855694243 53330308 25911283 883398394 400791854 941170235 995469985 311807228 123789034 303702381 534951684 116209118 343113673 614401347 819456805 145354256 948812463 948841288 867044498 38350682 93242229 354968911 872887779 912261051 483522215 824492774 479941346 554165014 941623911 588087856 515898751 649834505 493934515 394326385 533232898 894726369 188012971 381219234 59049948 311802004 684921614 594001632 280527473 28035286 208402978 99984277 25905894 9731792 901341917 745466743 48082473 994584145 100435653 920970251 759361548 436474219 745463025 91819245 990639232 539603287 679907100 359054334 41954143 173841615 753380718 575187040 68567983 941393688 808922625 127617930 105712043 346360590 574135913 386239516 226912227 782538891 338740144 252818120 792270682 92598412 998284862 840353155 939698909 951236866 613839757 551576808 387711084 211819133 643396052 230866668 751422419 323303151 589921001 793376561 349661117 343301719 221079952 270745451 137211758 30002576 250879733 242923801 228879517 825015645 629163316 455791744 460070887 820419811 708609863 104857921 913018223 559411077 945211075 705233483 363164294 411567183 256810290 750875378 623386316 900206341 981742045 227325086 76025843 424179397 20701647 425686960 767481115 94297950 696432410 904692873 976816878 947312142 133025 205696394 624844139 629296340 661488137 84915025 302232502 222614352 189772945 67767076 634541780 987500371 773000558 997706073 399067554 29810847 601097802 22453869 782533539 435356198 102295306 711075734 859535595 122996952 136762693 479533061 69811254 685711454 236742285 46628131 485539948 236875309 104840876 110384086 866171648 618845365 47815462 20920502 841459716 90104759 88687577 328517847 77605129 861688135 326223919 329189034 744015333 927321721 204159254 379065224 215194270 306454560 90140957 74729864 281967863 79420001 554262925 351779116 617647806 791005209 250923598 103187753 27880518 208280826 66088190 746568517 827126190 966420004 767489018 521102257 56524762 856176595 849620103 134129890 570381081 28360373 315835276 314396413 955682093 519994529 693461636 23392715 826449088 636118944 98122578 108416951 715538944 504901854 312712418 185703102 148423415 563636016 141407206 28820284 771916841 60011748 775388800 451559382 26431751 395394170 972661638 82956512 104087116 822281740 69602753 674468196 850642112 237954380 841380960 658840557 757948909 387358948 682233271 584397996 23477891 632872200 545331298 591533187 137774054 858043716 777236288 286197468 274196083 918643493 315017751 46112923 978655240 942922902 350188656 5086990 190833423 322850293 940559853 294920538 997648384 862678958 821905085 700806847 100633337 663286045 212163755 711098597 50644992 894397025 148012945 926639234 379785577 693344242 518172420 517559630 551387957 147925059 656273449 825584039 66568552 971291199 724213313 45223791 766730452 74401968 902827133 957563875 249768612 695903337 105000764 99933347 411098646 926905849 800740194 364248335 442708245 12903948 75346931 345869588 759817325 75876227 272508821 139602901 769220469 643197593 509678882 173124777 791122651 165952330 998708816 857691202 989759880 575438480 755431345 756490331 502356800 510774829 566570557 604641763 59194517 671571321 704575110 322809515 598477169 505315303 687057849 41185413 370735602 614921131 239571352 130552926 690797358 512080172 122672178 312534178 7794116 632351059 485658954 798916767 798303388 336884121 509124320 640579619 912322601 117072016 249586302 267195752 627846844 816156858 871837514 539557713 487728178 428928975 862367227 938721698 934244277 401941427 832423462 157496231 16862557 71994813 288049156 560176266 436591337 410721334 872710443 444385452 43072392 210885749 243302218 693892132 547769869 752426538 186988102 312608821 869498553 436574403 579804572 349861749 252731261 304158438 889419461 592975790 733087412 604303039 531697488 519848041 6244465 216637301 677344271 875623373 288632114 817909778 288315991 725223450 81147463 13542785 22125253 124219855 224428533 265427471 670628338 772198402 870370360 857616439 84807222 592385264 146707194 517128146 942247012 399438454 821286583 684182824 992414243 406890346 141002214 376628082 779254738 147246678 593265383 309115360 22870051 734413848 127025138 163702393 312153649 208172600 177245177 334278901 184908806 401673710 599706371 708053495 173872111 322593082 418186286 111195684 914978346 564893479 628323829 709741709 964331932 302126763 246440885 809262526 709017109 387443098 38406960 340788198 534689776 484188694 649903558 410076178 218602541 776928695 573778570 530756189 837617646 751023746 865035089 22526452 5213807 317257812 583096298 179085917 639850893 1282583 290281601 407345590 566176061 918605429 117087299 383024344 73248544 363528183 44803222 782265652 750971280 83210181 123053849 138177407 419915226 625473758 400769936 638517766 254918804 974548505 21790306 92536450 578088603 739341746 967579253 583302409 56599557 550675550 614904678 548966802 404474485 905186278 956312391 970650545 676308058 925916041 206191241 749556601 141960575 103510814 384338604 892931855 39237346 359908805 883625613 459152571 985382562 284395549 97670336 92817718 111460405 971976993 185354167 542065359 711318738 5449771 125367768 620434647 556125320 592788797 21917800 960599804 350491426 830746542 783766701 26799483 756662583 842474293 628872436 898623157 945985106 865727391 644071363 985222451 78152547 380213328 444375021 63535109 664608876 394561708 8869178 628585632 219055052 194223344 170650991 930373789 199673114 148535110 403324787 608314785 741323906 277758938 421430941 91815331 108505480 57713993 971131165 717684414 900188285 452519952 468823922 846173390 170763695 112895285 683912192 248916241 345624964 128287212 164967701 10233839 375365271 173836878 491335822 594420322 368060221 661986812 377310462 420249686 663038273 633151601 28564471 256878530 910910538 449995411 201210212 19416017 507709403 24857729 589616782 260414039 477377680 58440704 106587428 648141374 23852340 643015971 897057615 369477303 623819534 62025315 232227493 999184804 88378545 723563314 446121477 456438765 238066478 675948290 876688451 901104750 309099890 757769273 10499632 72526780 60281035 211709843 91942796 567990437 236567571 534075930 828404475 713945251 592516633 787508254 214602976 468885324 283040576 964176942 838362626 906860109 878718609 923106470 758561264 967097153 499186135 57199092 276052269 737252612 733147381 5257071 490873714 42247271 763026343 501373345 114774050 823307377 713083187 59233197 243814165 949650758 445825478 72218639 516112360 38342110 712243244 583231687 359743785 995283819 547408629 50622762 754660279 278643589 973729231 513221542 245740741 472915366 570420633 521793009 62684329 156084366 527050080 406074394 50847988 142592774 907447738 18138389 965900151 473047277 77371585 209714315 275214386 375713415 134449306 643843097 266571876 699208901 227074783 626315661 547009072 626999763 676938422 301669350 905643351 650667653 667407244 3900443 976099370 90344228 525693452 38783698 246428593 905259883 297374444 297276580 47852656 57338533 315414968 13752806 530385809 245302905 75983473 658116546 621016319 62949130 301959642 887588194 762158030 381550777 513903854 309167101 8550539 43358628 463352803 914193890 694026280 130760046 918094332 522642001 221104273 296304135 413942050 467532866 54080369 711316493 764809445 101933025 768655026 80224413 968202182 151557186 178043669 44185654 809673732 799059987 107134783 111633373 686648180 721809165 345700501 53068386 30976265 354251040 96427013 346845419 120961281 642969644 477605464 891571964 165611644 551226089 40392451 579553693 18758954 94472819 143386538 636084750 196405843 912041563 568825514 17124377 63598748 746869182 61310030 873272479 398445520 20961165 837422204 85093700 595286681 35639056 990678437 478779297 389890095 87105449 825624716 363367727 582591444 155746531 254939691 748203087 706972619 295332141 180273131 578247924 389804959 323659668 66849026 438727154 88217582 635674539 455851530 151816330 235060073 369677911 877605160 633505592 243155427 567543715 571115643 838442107 603182771 414310431 317221404 993072865 353932231 142846119 208956944 936523674 151109001 463896634 537243112 858081620 611745126 717516243 436329543 1550084 893692262 503178568 292793589 981909844 991369459 748645118 133726173 78945883 118323029 863847684 712451474 361478455 431391399 136083469 52436914 34574169 550393899 369658317 880163385 904326130 365020787 89120328 693366155 516129787 405533313 230609267 226727758 17278438 800641861 663057301 871344874 694334122 18752220 16654814 528760317 10121678 765299932 515002841 89067560 883622960 378850525 654035386 97617766 662758275 642635206 150054679 549848795 45545456 372229347 282528531 949871585 737250133 224165211 495754092 105896272 629698523 726363358 332624029 499493313 379521570 848197681 223354538 73855691 866949901 240009351 455132360 729587930 5309282 970135200 671171842 741448593 201502076 177723579 691582711 864260350 820358784 841637389 414109144 865904239 66383088 696637675 668292176 803633220 920802885 16562619 762045843 403017759 742925976 94669872 755027423 122447545 795383904 978381960 48819587 514850156 70907663 356468298 96954438 928733296 326603498 768126279 522698241 528105573 798366209 214280951 244882275 471241344 908434691 658991418 189661934 974817778 208145444 857954109 630967350 981464680 874516727 393013192 236998791 469959054 340199415 992026213 444922950 135583319 822924525 346258889 502949826 893832187 702727186 599904263 675081834 881847035 220546893 197780074 262468960 18913101 264577376 507351234 490154444 173012067 18859003 679816378 346196 227004447 390286838 631313545 60985478 117319917 24326737 297984268 439795322 217042503 290010481 884718272 205142173 112935005 83493512 708091999 859283543 638737049 160512613 386881728 520584084 381059506 584661802 783053043 399972606 849239177 142920628 742643402 874767595 161779630 274976131 875113791 388784076 665262968 506427335 449769554 635099236 383270423 747753821 74894558 452829278 890280653 812129181 657971450 855732009 895622692 218579800 567531903 386876092 379092413 954413631 907460175 760151918 391591784 543029569 12640875 93347312 685950196 755284276 968114907 847729826 30260406 843228697 89030253 548039726 202172383 391316158 35655313 437959158 139069979 110549870 890788435 881866983 922679050 401276236 737598992 670818093 619856036 157647246 57694185 851464800 112060876 817670711 464133069 503652659 213216632 476773943 596999971 751683179 84574571 417631229 451929356 967351328 113376277 540959609 367907405 315548659 932275766 403562718 753507816 923862096 514112587 496812602 658245431 289307989 898088838 248360774 812642433 370461225 406008019 722852969 221926024 518068895 393040032 686059092 874237905 606256663 15349386 323754227 210456193 99923956 741385455 662385549 919791636 854761731 55861509 287699040 22826742 988137274 691261757 776334557 764515722 57890696 125663511 275277504 199715036 23752348 523638277 12357468 394213572 929646295 735210437 468655947 300231541 128250468 7231390 174469446 587023482 22580775 498223672 797479674 975021083 92125479 312381574 894812718 946887209 368243082 35028109 969713950 208896708 578806218 598564859 973412429 636696913 724228369 101206284 836411948 747980716 624844560 701285767 994710639 554490854 289012555 463366585 854722395 269779374 470597974 881708192 856802855 345695100 232448215 506798881 320716182 324573693 819180454 68045251 271460902 39939888 103073360 93691203 248836595 534395929 692256061 74765375 23609193 416484429 175971658 860021140 16981496 800816217 413823258 11692134 207823422 702835813 327575070 62545816 972615186 650689395 796770359 681934393 996384495 29218574 41249625 169617028 353792266 860430078 237662279 477769519 900369965 193251990 571460722 1722911 727647918 263716782 76488285 751257110 532717563 252459942 463794601 549699058 53276158 877617858 413907544 261099580 432970022 593998965 176161747 405585208 244688360 972932106 87519600 93589206 854667031 128769224 263206233 60975648 841715653 500868511 538745167 594601970 546636852 110205888 596324880 126801121 226439021 672813165 878058230 759156583 925273106 194369182 161371993 831065616 924503392 575279536 92165195 357473413 21794852 120843293 615574972 266483211 946291750 555610923 360072416 800958780 536896498 623278649 861934428 231128503 976663511 253195946 825730472 523300363 363401833 274571703 650101483 589840853 799901219 380676065 201513788 577690677 427561598 362885780 408756292 352064989 938165315 353437838 562054754 959960166 326797482 177629725 78959729 273089232 733240648 291548496 926564363 122653497 914827144 641015142 353781999 744007007 894211087 32028822 119823721 110129271 306600525 769925203 699970124 106501743 3117619 901483911 536708771 430679217 116886042 945465062 635260557 55051356 151419251 197315310 867527873 478216733 227461387 799003953 603822316 960702034 90552449 530386678 83355530 857895944 23918172 289653881 601902950 918129258 321682702 721726670 28258529 628283226 344168225 580745004 587301321 199802195 334745266 124010091 630481411 451631307 921991505 118258320 359199014 925927107 315573629 79243238 256660191 543035015 878247191 860482506 356253400 968799639 243385536 292125282 679211934 267303707 581779162 133631236 185432964 903461863 855357905 66207844 384261441 52042481 646952847 824079113 251844676 981698112 800605555 734842438 433329418 575113411 853100757 792528431 501040518 21190738 871771669 757700708 564225752 602535211 470699566 772995504 423851201 714085101 65120785 103063134 981388807 499416298 236694369 19338122 255394512 944568626 85545966 492172304 996611106 732498812 316251416 100972133 714196924 116856971 835814571 42693 544486733 541431679 645087476 45527250 562622416 369375496 655744310 126848168 971910706 126443875 752360023 395761906 693045327 669997159 351341391 674434133 21929808 588035760 693772254 277324319 385120737 779318219 769496623 234248194 364333383 938264390 335220327 78530306 907637712 23551249 931089350 452124445 564982927 576176825 350168046 127605343 945552320 858428707 106969862 769979377 837388933 711846236 18257634 530434259 381843394 369599025 57384743 403773201 957634784 603673349 533613871 195271872 235507919 155626845 429520065 599841301 93891235 764740391 530887958 1528946 640807991 461977308 306169742 58307270 890670484 508854140 38428964 688739156 367282846 145398825 458718532 57188131 709761412 476976166 587622389 91604805 846575190 497523484 347894357 656726325 101196832 881508227 851998196 336704750 37135072 134034612 936546051 983542658 898775003 319950360 837587955 392099345 781927667 143757697 450406614 525114503 505128188 488835577 213853658 872411033 486750753 525088541 929599163 196512164 2064706 369737904 140633320 701156247 867261387 341044028 210398923 820974570 75068607 914913470 10195671 112203678 48948082 946741721 948262687 800239436 119208433 785850641 192338780 901136099 782124689 642745394 278766953 139769228 131580970 492620610 12180261 470848075 17709151 794295775 667360238 872290208 16550030 660509910 425962807 736327768 1553937 488878081 557302337 76622543 403791551 567498008 41342572 305255984 366756080 989605258 105495419 485964512 627972251 150350550 239616963 262613291 793095943 518383915 402382519 777193265 863520877 267079131 100557691 733746379 913891257 767917928 458552938 930441287 280944189 884515744 519285406 282498126 225910177 76587743 211637020 629701727 496602102 252979592 934957710 715874533 95101201 892969480 54355397 575589803 43320029 293972359 838203094 688932324 664872625 93101964 318641940 528393501 212697446 419199630 114656231 126588702 39633909 573209169 909546340 320578098 310241264 428831746 603076223 536151440 357935840 814713242 18369518 707054293 920209185 953327227 422928825 15310386 698813058 477284221 443416540 742133087 623772931 134135985 283581762 288645556 227237948 602223701 669555408 439935393 21423330 784211639 419040447 61057238 357420807 328586786 381635335 667662070 609934883 837227909 56329862 967870722 504457503 74699379 527441366 424666687 28026606 950370191 292493424 579356015 280170763 735909964 174005453 903943694 870045948 457587214 45105601 949800248 59810914 714661008 242251992 81234243 351388998 661292438 994807833 708809804 989879224 228959519 228988226 452330458 66187428 285318087 272717532 570644930 360017465 800158897 847827968 240560422 603045439 140321392 819916437 883216202 728747707 993921889 639676247 451310006 304025455 537298199 253626605 363836368 104475558 495878597 297586963 455864556 157171034 144911147 17190711 999566609 373870665 246178936 451897067 440058092 384013374 724614598 863219373 744030839 377289846 711047341 837107612 980335285 703885084 509540400 716067838 285149142 355978641 208260436 588975499 660004095 745558634 842602104 23840462 850034191 338480700 173943776 305898746 348168085 318854922 323089457 347734694 692725587 421784744 652148112 985300030 805798118 229279061 848519403 402345308 606568906 412083095 239452919 586904190 968484530 748993319 155488379 106150023 104971959 363748814 695125521 617492405 109307447 537727624 493849218 959341638 728724675 667792994 117756735 76892760 839164267 293362543 277143805 384406205 715147287 929291916 369706235 520945404 158570976 70741989 923290711 765139881 335341435 15259981 204560423 303825964 616769651 360048801 409975986 574257961 723797615 105101506 191750365 685621413 495345482 685599583 497479402 76586508 205908928 615236137 153479267 45073194 908598679 430623071 281995751 476262317 212431338 651701985 997207720 371002313 574960325 773014782 988658546 910301759 640791115 45735320 66644074 257560765 405784120 476620059 831818726 982098086 434237916 876085442 667719499 782099749 414201376 17715252 858686257 620110303 632951388 12165523 517699849 394066419 295304946 799695599 870328735 507736283 303913935 720052807 731254948 878874259 345583940 719913493 641692369 986375054 765648812 708336442 96452171 23949283 37472852 780787248 6047369 471710767 656872689 526283219 106326868 71074065 543998470 965013124 543700719 29466210 829694998 913916919 276048980 124999943 566128869 146377714 485252578 870042803 718946872 69023877 601433413 917047164 788937369 95642133 755938569 407102532 803978574 852390739 283568166 841451425 485694338 142131886 165678544 142567027 668415104 272005411 66157443 64929926 237018534 462374513 94396135 66713531 228807784 222961466 44229826 794936652 221855531 381998755 517495807 940802403 451022631 118929219 710365918 92476351 67087704 466304486 352095234 871066277 171211577 635663399 712517702 656905914 777795285 878196245 651989292 298726740 2718007 570663086 363656665 239736540 885553951 310569151 158966422 114361734 533530616 55712599 909298385 755386147 290227705 279310543 548704901 741250335 250756114 111587170 686243037 317843817 577891655 38338270 188910093 601619583 674001669 753944146 111041849 304313305 484656742 763031140 603040044 487374748 186210578 966696709 727111287 71764528 129782211 738594061 38642613 515829179 794306659 800457349 123731677 84534364 79767892 672436577 678301050 330524005 784023746 217060439 648367821 214431752 255398708 689794265 816051335 781916728 443738411 927093183 86230032 928395152 542640674 689270076 268286252 581367603 508483136 995397538 505648482 490781698 586507950 544291094 6610876 233330961 197264795 130342552 170381676 277032686 655295480 848682725 460073042 291835577 65743163 108440862 506267329 173658223 650751478 174835015 955574950 94489888 954444549 894321334 875401392 349601574 436107761 143687643 930969177 944590896 991601532 436617658 287888945 430625834 833425104 294499821 663956794 30689898 277358724 834338469 160238935 932654204 535537545 620311976 224489780 453797060 581269189 583273460 627455282 232020666 758108474 435546583 179026906 565069374 182384268 906944649 914670948 618492028 903148643 845640124 415599275 747266526 134774133 703488220 177892359 968199236 997988040 841849152 851405485 127863115 528703972 11644419 60517318 64241517 631956394 137523450 518038576 65741934 720796909 998010209 297762600 331421735 286073143 329305857 896491108 468457411 236250505 811162055 86949438 139399147 509318530 502548713 739182024 496609015 58553284 917074383 317324602 56541323 611439886 168730087 36920789 140143858 32890857 97438107 56901726 664847251 234961556 427456653 730589184 955758464 425466861 880868135 139696550 711540003 210173991 36187658 32513765 298940847 699866064 119463203 290856345 61700946 474528267 30038369 558309960 533081550 799629103 875634561 442139224 263585340 44364647 479060012 256245549 77255504 576498118 313147274 594619106 663976025 740603926 177724641 472250841 18587138 58592776 611947390 582643493 121283118 648135047 615157257 420223965 200517463 734620459 711080309 262218408 61665077 593635029 820528367 594746626 393264131 696162927 36885849 656849471 593043926 515945861 913095019 522815781 944960330 78758645 969951238 608936355 671878922 192230 81187195 690466060 58785005 545650936 125625904 32584475 46302335 740783160 305324791 246819797 327919971 16405099 509038204 389585047 462556480 329566570 984331673 855820610 878245848 21217521 365186432 323806125 389679733 130797803 846621905 187156415 62072799 669089494 796092769 733951720 669281724 729796315 276934131 580583080 127963602 402560034 613167554 174265936 143343194 918492344 421085732 471263164 787413795 930123935 860848210 102486626 112206856 697696234 958307235 990452704 571430107 176010019 314258828 961109839 159324173 13397085 782605 221396971 682486578 796875373 955348690 204284653 379188039 232282821 784867733 507151641 634842854 250551638 681417576 630702399 21560334 102503308 101965562 808974128 885143594 815330124 911460753 997350450 365542709 722284339 987803153 936972815 750810709 154578332 750599006 910134881 20491768 751381610 131531851 702978346 400773335 86880541 907262998 779961373 171679713 544647082 139629365 659038918 795198720 673563293 289741317 816759053 628582952 244223230 478249532 513726545 912069705 242226636 363593346 277612414 964510974 203912850 67101580 567838035 358491182 817700585 477972915 378982949 569082195 462021118 934477646 969855529 401418010 694256996 602333253 573097722 238904077 594478970 84652991 34102796 268042262 374394307 703378200 896625213 471133889 181627731 262868109 383203593 423854366 626461455 513332358 240881692 830374304 580433938 808719726 41381837 398134522 139208992 272881138 819733068 601230109 207358783 642104948 2648118 901615778 96954553 428262191 993036207 691433522 512915182 879655354 959475783 739825840 583033554 708617347 210959728 617177636 824001807 446679673 41032002 302979613 960012030 134430045 133353917 540445967 795666122 27252105 791096841 934875113 300133242 610829908 388621574 360008377 105451208 243786043 114140506 202405760 524564586 107176712 893839281 37479767 986832066 705831415 629821958 422381971 266965113 840781686 39559606 90966919 139977710 933107959 393946532 99989739 920054355 379816800 492952058 715720476 259585256 284048898 503111941 559718498 747395157 744249866 919726874 852846364 988035908 33867379 55252123 365116845 993560443 949091403 255112963 832908860 507439169 884934921 107807182 774404281 578232958 147366787 865371200 718210667 932991098 111834083 818200405 705561804 344167234 163668814 273798632 603752489 447717711 776910572 15987338 47629220 373676789 935714211 900475583 214229048 822097942 955727706 579345893 668174736 757335460 834458855 501083595 117290981 719393775 608890776 891695261 150143084 608773914 609582812 868353750 394281363 721416894 539070507 99843167 65584127 702739320 226158150 521852968 2973383 3068721 537840305 50602602 229261861 326070868 951078184 443490908 685161 759322241 22836800 668859896 369174053 857295655 22459842 486465033 429205781 631350617 378160293 579348865 92640882 987743105 300218966 339438597 561676350 839289472 291798115 479776829 542028792 517956264 1629796 545002174 373541336 391986452 595604775 602803196 718057319 399199310 46294103 718742479 158521551 69130903 387602374 527695603 778942909 410062215 14160635 60665041 893929183 244837279 492530257 986570065 85096735 792749223 178525013 499289437 632038694 470323127 979066265 26583837 988279390 833212412 424102362 361820725 77715215 19707136 964623920 795772534 271422798 863434374 514515012 429944348 785081628 754633738 810156302 416540888 17212304 676833288 477205929 911141487 921670566 969736185 750227903 859283653 615001759 928752915 358573089 99556805 399076041 190155705 126140641 239871782 875884468 550243003 601692506 953599682 422466490 418832777 749372215 693889287 134783502 116403579 976349986 919865130 871037316 786506287 336406017 888249619 315855926 666128297 651907457 90042844 488380834 402135359 949326496 103382592 183404625 160415936 202939396 582480665 350571640 181596389 822352446 78972459 731839391 276561303 32572140 6822232 547910431 634460707 553227871 682693933 750864285 529577856 602559062 474417952 168600495 791481430 215183922 484456420 457609727 867091379 574499263 945990560 121743089 376342110 901889503 305147714 536758045 104828899 740144730 887329684 138941639 415013528 966302142 870781029 691574830 851390634 730119612 92001613 485851340 283347482 774695545 89231976 665441690 229770958 416166279 834042184 21252387 631350200 171014955 331378465 350957930 598030570 129885376 325217371 974372679 31774879 630365084 511130724 989120129 223026165 250976759 128061767 638039692 69795253 851359147 182130874 921185886 581478758 274132486 259553577 717342592 48828030 201301904 382784281 278598987 617468182 69342816 152367725 101334733 92874122 483746190 452292663 690904691 613631565 777510033 665277370 645406443 260391468 28924445 487042923 483417632 132417555 615104689 121457324 202212807 318980187 156104549 975915044 900458945 430237034 87984972 470317888 479065063 289286875 853102168 610180401 906755056 774961335 762548125 8089789 867835456 246294314 312898803 558740147 859925879 90408835 76533868 357848673 203316654 105458312 844891596 539250637 90392218 312512636 513224312 292605025 631492823 669328860 121036420 384468119 99565893 209021392 854786006 431147307 498308266 560404525 41327707 405063322 187882211 803875832 265669462 55717666 902686497 578568264 466974164 615128727 521493450 543508031 972977400 724810103 501482694 670385347 116577091 591874912 835414334 629801403 736996288 319423508 299130262 858032707 703891626 251212507 67054098 411193983 682359813 565362364 824114859 723687520 822942037 11997069 380079703 88611498 67714735 135282551 667179761 387205250 750411278 41189562 930713281 575905029 765999664 284712326 98806727 882576754 729103589 934221060 364894508 466099876 253644568 664024770 176648935 810052545 915237276 243703032 73762880 450113440 661581747 897877738 26317311 484523783 909874807 406397013 425651632 830105893 541679564 92831392 69827494 144607193 134020953 540774 720512221 752536968 137769452 819318947 487630074 866873040 753540006 852524581 185489268 859700925 369065702 362138202 669753470 136819329 458357585 743516349 586932769 119939332 493910438 613250079 456979466 256301596 872163444 882631098 86407488 266359359 827978841 8751334 410966551 814516146 9292107 131478771 419569465 999577910 950797717 907199538 718967302 556854074 612240471 904456569 269071351 833822524 119111122 938824820 970641853 577468706 534857520 410090973 549924389 28767957 875857403 6903855 137585905 748020846 889534952 76509744 14380204 570030144 85261077 277863106 384546289 94553184 409341876 804115754 946647445 212655944 563831643 665614746 622026370 28588465 422587666 891097720 862410989 394215139 682438891 685569193 971683845 69812762 948176517 374124585 98580718 824033919 381028439 88682974 424571117 123079742 165192718 291467672 693109886 250453794 569330778 930172526 197523329 831189005 586804631 144170774 43844949 3152626 662301871 518387670 31741090 84889537 409485389 746668430 331621027 91924279 284753974 155821223 14253392 232930490 529945808 112834109 909480761 910974246 54033435 186568229 886570340 219226152 478035900 432196577 469679945 899883029 362369102 667203274 731072034 949173733 811374047 627433334 952326358 326192269 145821003 836583799 263598157 407822743 583252229 595219184 352263373 868006202 751040406 366516764 953453044 280986213 331867224 862933804 44476811 385900658 49502032 931047150 605126809 380054283 215760078 74806754 132453664 578129179 594526379 863525697 379819263 258416777 343475382 184661972 584609045 341812736 21245771 848207202 602151830 457014351 443426385 954415202 177536904 46983142 173448317 130989947 327969355 357831892 846440102 224962517 743732550 748458485 8526018 201375710 981029120 224286095 128698815 113482783 802415273 723225193 829524831 34750888 981641969 25516564 71929211 418767366 367329299 93174981 266974567 969481128 402705683 562917303 776412681 432758939 609900444 802377349 416265237 937869798 160209240 115221691 15348666 756458141 863680175 23874683 957833851 697225646 248160777 939049017 810708428 50576050 514790562 492749610 937843289 348948882 518266173 9772499 767716247 885595471 955463832 34690813 707592950 210685866 450124467 336521982 643444804 60024911 138899330 59710041 850411060 151624922 174931731 865759726 908083062 891128257 889634408 718433264 588353903 137795185 509998633 251578682 40887586 24789194 744328292 978730874 373738075 115110816 841019724 141454322 706287 796483555 28661486 560815588 7169421 331302305 749853922 503130576 391327215 741269603 562840616 94254626 892894524 590288698 960014351 653493938 481416955 849648759 224443553 922287209 839960295 734442185 26382242 880847880 611747730 770710533 712095105 985485805 885821349 405631180 979456478 739043987 54631087 860634315 152375926 61800507 44452971 902229847 417447434 435780185 496015802 980288050 530034811 241426677 423093099 342565513 894920614 904510053 44730623 971880519 679313613 884690917 558839055 705695855 618055148 170586785 328922739 182666604 8588941 67260439 588297784 840561770 806304425 642928870 553712436 811196703 557245728 598165407 565942901 974693161 33945591 61958702 807497562 416496753 303385379 230590661 759062266 50822344 987617065 803792888 22702862 666930678 541000157 434058269 225142884 159055304 604645053 554065622 341721908 465750345 621326061 930019691 306312114 280146837 425464912 860024549 91343539 982710639 310706307 657286440 957403799 197168250 571761493 617417713 613665002 875146871 848008373 225243619 778485567 688141789 881552859 653704780 207588818 422553015 87763048 432731701 434124670 544924452 986797323 775846577 10674796 608123383 558382619 169503261 888270219 983847530 29527810 832130110 819074520 192750468 341932901 628994671 389918717 913694393 246412383 3583719 641357616 946937107 81343689 419843182 635078895 962896547 73547961 842667713 237965913 13827361 127915765 672090583 558751812 114713087 300453511 421942960 575352821 711352482 591446220 316139392 547716363 473490381 148269501 366790883 666240849 490202401 995785553 56159565 256413145 94714287 912259635 897770760 41651393 993603324 170130293 529246639 809016222 96194606 224430703 899498487 110021966 352346468 424105421 521290129 319575906 724558931 943233088 894928727 288427764 534679308 211068118 836144127 8169688 211853970 55451361 526926888 702056370 51236913 583086453 958469514 998467551 347862439 708756626 892635295 193982114 878886918 274398285 2998336 975081523 498828988 755013174 85103488 703691807 179118594 458909969 23267712 756193876 402143056 918196438 44621640 789338715 981780907 880765766 650024755 193634876 936217126 176951642 748207597 839970390 612554446 559193463 690954292 960416885 267950088 583589586 154398998 146837005 857987870 9913685 974434880 209333209 764926858 912054719 913025015 796561803 370964687 788809079 552755679 625624095 559521868 449893670 414962809 541302775 183175787 64987563 587454002 119392912 94455557 335661599 811879653 707010002 894855061 355350296 519943238 15321500 938939881 674342236 14674856 649444102 536772272 989109735 711293663 154215482 753680806 476835029 950777284 124645492 265644107 356049314 602785938 825165975 805942983 17748747 218985101 989118769 935252661 806439102 961028032 882224569 994617052 625424036 441750923 741988464 980774331 961694160 757309963 772230563 488552747 624501171 274191017 25325019 466127257 985484679 179540500 219808062 462319707 130317783 196969906 580480166 338883449 799755843 258162492 144826431 670020941 477147592 133945200 457789954 136103045 947489583 192530874 130720097 572913619 634281796 725224912 406204301 595975956 335051227 178434864 84528702 959552397 452625880 962370072 425679653 290626910 141910571 498004067 752946616 124744706 694973972 185943133 316144506 347246166 444105624 460970936 869783459 921253215 447432487 180089764 909872612 247438422 372620637 893109060 820352040 6902433 618333971 79072692 455394740 953385197 257507555 392439793 765453945 562649786 354809865 43649950 853276695 349236787 541654016 458739663 326497844 89144339 644682795 642642349 436390504 88788419 956129637 158690314 862557985 256078475 338780077 772430596 503516896 711400714 518056007 176385287 718303146 136389978 255457979 26214237 942291526 512965533 418654029 560261823 75615319 773463893 603911772 781408365 975217032 145565787 240148027 154231227 234710125 884830822 796873576 523616980 826135592 605519564 682307294 688693576 861598038 21087370 313640524 365114934 732488083 831696530 541500220 303307580 820602859 796958198 329521816 615410737 162440083 748175845 28188911 90571753 374156089 632100682 871980117 201889472 777666468 964644496 356120699 864892944 701991669 5510626 388509923 528127260 611030189 70817216 69337187 472628226 944420938 235494062 690259511 529425372 67190592 84276083 832732952 740309802 881234280 14771119 208236890 896190714 615463315 236425800 986762466 989619404 868526481 711258935 44025227 498709300 528419782 400145925 216118595 230411450 405656550 604628518 611055061 16686738 527962085 680392247 341831316 324899374 915886309 32090826 854324746 835593252 116366908 539574049 428419405 850117540 554345167 489172647 746308253 22324834 725598446 585587071 11944237 446641279 149362357 55969463 797866930 677782138 308631740 13985525 760709939 714288289 471130394 371764999 730975027 999092478 904673597 72806342 176508204 673076257 957413519 30832949 361185860 73780427 570406997 789605265 776414318 977268515 131294263 375238922 999593348 856892708 960825992 864053936 156050338 962704700 772539751 953917268 493003189 81171490 820419144 253713127 795459778 291549537 477994477 378951156 143158366 382668074 304273849 319666569 55744330 114203720 203015869 269446542 40500498 773422865 59051806 816914815 603207732 42862420 192153736 602801079 899755127 5496080 319371367 908321817 968200779 91911117 714755436 313720320 25598958 535174579 567433446 821058735 679240467 45427923 52526243 822398832 280612348 209316443 994581753 188873029 323520162 197597621 458319570 364020659 823536838 369887727 180935473 426744569 412750146 225605561 882061999 165021625 231101640 201433365 73343441 51818770 145860833 640615228 365539089 171459790 28306158 785488887 992518525 707546624 683433161 897561119 382461807 964045508 106877561 377043559 5434888 430397723 427157532 316270810 794418381 250694369 686158536 827870206 529955289 951425034 53475766 412017287 116446658 137093757 465967004 42306450 188912526 611827836 535438029 406967967 783287626 563744186 192456853 628322502 271290809 875890013 525883620 653752615 692451872 485277532 883312526 550403111 915675254 310470057 866673920 562609987 413680777 405348808 242996544 943636065 356773841 296472309 208169703 325736850 433566065 674136706 220559651 474994942 285964542 755997679 881962908 69252167 172258216 74419760 550091020 443549024 802826124 75974639 949817990 347794347 413768522 833130515 898197458 181960128 996116923 617387729 744570114 409797699 22736536 987566657 205950115 232026728 136555317 414119818 557763577 422637733 88256523 630839579 897632674 226737416 239353609 779595582 148505934 411611824 706531693 698596953 855160847 361874169 627087943 657495189 562184867 40856465 343142055 312898676 222816592 339258978 930286405 819903057 601573028 953022940 659986065 807523143 37566020 796541381 221642960 595329596 71695465 162415834 78685527 969328138 389153250 318039135 601440071 537659183 729650959 160488116 236256136 437328157 522362284 863344078 94823345 84547150 756716894 437965400 249962178 979533485 629740729 180248582 651952893 231313756 985787873 311938957 38836898 23353892 960996689 112996209 471199840 32692153 275412043 549885366 2020291 664565292 867924500 455976713 54740826 597575458 616464828 290996961 34903615 138827111 6857391 982243311 75890613 763574284 272725062 178369142 595624121 902465790 358617723 100093365 133779546 196921947 412032322 25132795 220275839 225545362 990645356 691475678 258237515 118573750 93877395 112774157 783139041 961801894 568750869 837879866 411893704 37732049 981393179 299313670 29075511 988250569 281556980 104966123 604341204 554282042 135851616 52481676 309264183 494469338 152575041 295560080 691391285 417123714 173209227 764183475 642669075 163854582 308175504 900906589 282428331 402052898 866197097 918083723 363854791 287464318 608479940 775748494 325196366 589873118 75062163 354271876 430640038 209135495 311754351 887497594 615933888 447605966 939979269 925198070 942075304 945070661 220758150 485982940 362194374 393967376 102682766 4863449 410338309 410858269 758286389 692766639 812911166 476999838 463366713 29282308 764464155 71846652 805030802 89660520 514236122 732609316 443932395 944876159 794261162 755686745 684890104 410195049 55809063 477385725 187909471 997884366 422456385 408667620 336383657 637167111 655151347 439066422 494546911 65489655 849924690 105349651 610772645 515352207 582349488 74139357 544634514 346813642 145986008 202181667 288990513 512738481 934790983 732922908 310130992 581568496 341126004 995021095 991763545 396935066 472406819 32189367 247335783 747379556 440856986 436235791 384546666 96008332 875302212 879093576 14014338 577743253 984443226 624786982 93095459 419309066 551442690 490246325 766122707 549945049 692427991 55113220 62683530 479735325 640552479 372814521 61303821 834194834 220351967 905583717 83646252 692758786 937773083 330982034 292654693 231146420 767217825 677201358 179671103 495036388 408811285 193685440 925295993 245770862 670988773 870907803 665079927 222431462 361154127 283718986 772376510 53582118 191348557 687576391 385833794 684417387 60390911 447137614 518612220 133259230 205237682 602258471 826018015 143010764 785756857 118672707 374157183 405491033 648390416 553828285 900527420 909718052 600030076 678339764 8005265 271018848 549247567 673085192 345966661 762918045 809320529 118343171 669016514 669085 658435913 54850308 537602823 571343176 354504273 56215042 704602405 559741955 510989865 383136771 702752718 149263073 354325829 929426253 554754105 2716244 335770889 307797876 764950647 935800965 986137640 772955911 59336164 387901558 298557454 405302825 150819602 107877982 376162347 819836116 961063418 34598259 727202775 498666240 605941434 81707047 407397634 163060190 641449001 770903850 546196960 196718071 920166922 900522788 126144323 474921026 755755383 314431563 782718901 520706029 250232527 621372892 146178292 309568691 9274449 444735745 714871515 12610403 552613727 91033861 832446518 366193496 978148471 412165644 864859736 436606257 493872690 124773721 599666446 987838043 895677570 145863406 37072465 668360843 46386193 15733139 143281868 654657928 330164701 778517120 27880308 580397228 252406364 174058599 742482270 261680812 618794344 309870136 274291214 23924422 253420348 959254083 390117917 231568818 371419726 107494004 668175074 717808768 232267724 120357872 705646810 980461645 266221277 742719274 648822487 165123821 758452412 644620706 819781748 88617112 275654178 847662056 521530691 528060541 21720654 116529312 642257704 493031349 426399447 916548918 516955770 679819794 728319352 907073687 911388612 99739078 14567690 432080037 670064197 99351766 552437908 228227358 79813410 671175536 970946631 581152249 836299357 581915394 78289306 508597456 523048857 353943483 208775863 897095900 734520375 83012869 13625211 376778079 576044217 440024658 145843348 92999987 119844451 874162699 852590025 883749414 826418128 867157714 168345803 348998676 966509479 573300062 577226033 898839241 244475598 400689015 479991489 933291306 982604408 558280794 294405113 358169617 764740629 503180976 107781868 499261003 438710196 121407078 728555433 14754412 413948087 874398780 960270750 386308890 601077831 665377126 122574655 280012310 385051192 290920457 629010986 204077022 864220519 58753370 102916262 961212468 459442385 435424102 894503773 294563144 993704896 41425237 652732760 610961876 544606212 760514627 110222878 983316407 734438057 691294663 850587171 148386143 418209794 663374272 534695032 19287624 181267750 657269687 151816286 566318941 800706495 633343623 770395962 517443365 692096992 873312224 478655832 151539376 161252677 225675956 446102520 7473924 267101193 951351631 618435799 664223756 564382610 581175029 500056515 298820666 272469691 203160037 299723160 690679484 866534308 834418192 562483460 47802057 344204230 566816097 466637349 144910724 200159719 237033311 514870441 892256710 962861886 993526272 896312438 124114562 71718580 194931309 131588486 191336124 146282939 750024284 855559879 710665548 183715664 355616393 862002565 456185354 558776429 161725725 999381190 277827089 848660268 414381001 178145497 45380849 981197097 644782846 42807924 33873167 734332508 557678364 926129876 697194393 403720988 674958665 673825306 475439567 869889973 805413791 666775690 16172912 407954427 374851920 579354811 591670090 730468313 293873728 900371796 141761093 455599452 899752985 272104533 156776071 166650337 450250030 202156919 147847433 947549227 244964842 181720599 681881734 802643206 960366826 231592478 206364193 635325491 905417783 534320111 357731815 563347926 53612152 226421078 823818704 428464071 805775889 268005145 11448735 99649616 168376940 153209828 407765419 920646276 425314360 564541489 87296612 728080741 766698407 87660396 675629967 11663248 269380994 210028052 666822805 82264172 294136881 873186997 717589662 52071016 260023459 75321476 615418941 313635610 154258906 291753996 742099681 960034794 559759140 753548415 912200761 728136080 906758242 172482531 501298707 184588954 589540371 588595319 912669694 208755129 676255714 440816013 72934728 798153060 503360416 739757533 880417231 797497297 465460881 450523244 849568312 725484340 378361071 317503604 39119949 532619976 609257599 781219629 345171121 169016738 387284396 109888233 749669169 146558989 282370763 250967876 331147942 871911133 692079546 96333988 80666261 220851611 389666352 6117341 19004670 893026767 745874873 899421900 690524063 211335753 202461495 392608726 936820092 580822566 710112329 828456393 113442541 319369927 462192373 458613662 340903017 849476768 568501894 90572185 996035757 703389009 194056412 179700050 427816493 886135957 276034037 360999106 106987568 665700388 367116446 125992237 411243507 112991318 877930489 101767569 176843422 80391983 346892647 113663514 513730900 57004975 794636258 627173441 228891254 256828630 938303454 569794270 106305398 359321699 660366454 954857506 62710707 854422866 134557555 490527200 593075174 263107944 851526305 700062741 928808331 71159102 678571330 192568189 184150419 409018170 146852110 360993840 341926504 493744756 327173705 855657404 550749730 121809962 335347196 779640983 231154944 126167001 201951604 189976693 485488699 862318058 144834198 548199406 569257275 131908104 891242957 14848800 395016047 595285613 714911541 176340730 666444714 245999222 368908918 850595132 507533743 515761027 64105323 849460246 9505782 243795380 557634001 412771864 218121693 745497548 44929198 449276636 871664548 246880802 491769680 357153247 961715211 489120229 757869004 383488837 621028333 649111960 398337636 868560731 96913924 113249176 44901460 763358637 211764749 266326730 466470120 719298491 634604108 530575442 421275089 496626242 774370821 831425441 909398105 992492514 576922989 806843654 294285501 301103888 53724455 786055181 658257134 867956017 127691761 268642489 251444853 748720093 917754448 649782489 469797176 14668371 615548016 367214987 630543359 679829117 633541716 97013478 251643959 120662176 480105272 672919047 617288417 106992444 356860840 379202873 99484957 933783828 186046526 246286810 87404067 92287333 884858342 745661201 960243349 12550102 14303689 64204554 613786547 784574489 566503394 83583722 651759211 34567761 450798708 134818922 714396877 936856776 231832399 966040836 57518951 711937670 491476234 674807367 818930114 848337073 54010239 770931422 634637252 92573116 869734583 722041319 37376800 754592924 320218871 997620149 619659378 187038911 914341054 233445924 971613399 480844447 169545997 475888962 515412207 620344704 610707883 82325436 409717831 695056633 48366271 467236781 259510655 539842504 994560499 78440768 240695929 901087089 701888541 875333180 993660205 424139476 597374498 31037004 31248751 917593368 881173504 650908128 104632279 648030909 884354051 928762029 128875355 53900047 257167342 496803914 526761103 720391576 579129349 936478933 415448209 480011971 256232066 674958863 19854474 103308916 605915982 113066754 4396005 160320874 988399934 850572561 584460349 438290783 734125916 615709100 208400503 467815772 119133579 165549133 115846680 3487630 94311161 97238387 909904028 203994855 446558652 289181482 924386430 25688000 78176767 192350990 358216322 186925184 719826204 230587147 290234099 178258537 343653901 294630103 338579411 332053834 145202663 775556111 770344616 731844931 243781562 978745118 199660702 362915141 144294250 168023733 218919122 91121763 265262119 128823149 147632969 711820770 270520983 924535750 590025121 201214101 116886740 948241442 388139284 689229295 31344941 678373382 867487832 374998841 973003485 58583594 707052674 970722499 834139704 329913641 555083781 77921266 161175111 754744482 440836406 157985712 922768215 659755527 101623826 40546685 641095027 101773146 604883807 764132361 26308896 47425279 965346461 995711987 995666721 353485744 684941281 27011661 31859126 404945464 254526853 857378962 463529057 961579526 680617812 297668761 144009518 88217945 228106378 157700980 842962426 668942783 315686692 618246992 181214661 269826869 511310029 674826039 371600015 116193835 438958400 397908910 163619113 256821212 246137248 11802185 610306956 931078528 891330197 494682433 188540344 145857049 204577746 652069400 959952926 737711909 949738160 103962444 825929853 30360889 114179775 521408631 699303671 429866466 139655622 733034683 699693335 503482002 407860722 71293349 619675836 699335473 321718610 635811301 956156684 567855857 647613485 418979991 351450736 391460034 913662423 539991079 537317082 970756520 44576831 349786360 708468429 994314990 306265155 386914633 24675879 420444929 908323263 576495901 850311395 900495237 162046936 402521081 403977238 569907657 326330781 876169426 121759481 500565742 511980726 77916164 68421598 12110562 496896155 272388685 403570595 263074929 664896116 793404029 86347801 709472946 143190388 794816229 556304287 449455542 34247213 433496517 869900470 942570476 9992418 572728216 843065712 24555705 827765648 99559301 594463361 6612780 975728726 716222841 507178521 340225803 646655356 428116470 204852717 143551510 700505155 608423311 259142791 217917622 254343691 345490591 927390567 397534078 992823171 483694853 699505971 27070383 917191370 421922793 969640858 779700139 994651008 665222921 804255843 674933008 617298574 251235555 681545787 445543651 819974747 188724308 785769454 466630102 616840777 990622170 462697964 169862283 451561832 574357106 387779904 705905523 919847696 167686822 955955952 765187218 651381675 655461923 792257600 421089396 77384715 614414810 53305886 924552074 132154082 710078080 452001433 749452655 961313634 133547220 47512658 633804732 174787879 833282111 100434833 791628655 676420632 415649148 814007290 980498815 990006253 54303545 538920689 762370300 221990367 494876641 380073869 873372041 2854915 24847821 146977788 932755981 639262630 52800025 709824406 623933063 762878104 161825839 225902070 576708089 147889410 273414727 210512820 322677288 106696837 163464004 114305942 635633820 431629504 780829583 468648986 274152108 835133128 7569675 36522408 57123494 354962667 269112628 783011886 357817581 293960448 929989673 143089913 933223077 982789697 852914318 409672492 598184152 14740156 635574561 174892240 15145917 908989287 237921411 337823204 868202475 401385414 304645498 356352646 833014917 85475080 825001631 107167025 920608207 832571305 996205784 830248052 40050323 117834763 613259937 397867903 411795211 395765961 540957815 197534639 231072009 246388485 607207130 829256160 113644992 242781690 856664751 128790909 4287328 94586161 466614112 872489802 348487927 771259609 228842447 34019195 856734689 53844078 141186219 629859247 738931734 989908354 312623651 778982057 107743117 925883587 29366311 372054679 174165900 422840478 569589317 257754260 669228962 176796447 87010420 782873953 272094488 796191522 911664861 276381816 890777683 378278973 148871617 91781961 2054933 230230416 125801155 858789621 136590845 119503726 341165220 875522578 109412079 653788870 507020986 69671547 432188808 388903649 294242577 458871059 811744126 863831894 716625319 480973087 40628340 656152090 116363391 165239179 452343611 28028252 441620994 195637645 258823576 590492611 287419605 260878508 820723026 413220760 119668129 957313870 532724485 313349700 685352799 494652915 819654921 44890137 416840814 104360080 433793785 711083390 563231139 98054262 427431635 279856457 579027348 320576326 936008546 695390738 485815505 240868508 575935341 927436498 289022505 834758916 370445460 576442109 95637424 43684837 842179220 67821904 998706 227420056 233687955 538867857 722072971 53342875 436274345 991430136 157702954 870068129 555029877 720934092 968122390 982461512 853306900 399666089 303037837 641831797 947573178 788853341 882700305 523508519 568806191 24239161 210783786 939251650 600681269 306421209 982936487 295376841 226759464 836451544 522796896 460447418 227835752 97386218 513790292 664110096 88816353 524009598 386694576 643846230 97460041 207333317 478824093 950766941 606999405 781861929 592598737 407088935 423231622 327815393 930597453 992037812 352054553 141381238 783805813 805252174 300318799 766742299 100629014 527078262 455710195 623425909 987525680 683545946 720812127 353832323 347656042 662144831 877841920 734350617 158507412 975301961 941683934 637331504 778585253 401199690 271709785 223700341 808288624 694941406 551515734 591402428 539495569 756086638 585300018 175817733 561338811 738135168 942560032 514484176 117729781 250786578 137910085 105255460 934332523 711238563 311604135 134504916 225899745 41962406 868855533 384407157 869780718 663055818 21738660 648365970 916771859 293448444 872066311 577576835 840906201 276098396 21495614 232918121 32185033 606795631 408735854 446040196 197447150 203812237 960524371 315176931 454598814 950950807 272948742 388931336 514705721 584552876 523436252 740605466 479031634 244808136 125012622 348812351 760380305 999267633 849694673 677152163 145232429 574277335 107245349 986138629 850375730 128740963 219056750 735077114 735536593 627792603 33633661 932983743 831604839 846674384 100677025 138720004 650141542 373625766 527651339 17363615 958178642 903603942 757969080 289726627 928429 735498053 638538977 761308733 587282037 340750001 290977248 732514465 915027335 398222596 718653094 617919416 526963558 790226195 205512882 115016503 270535149 239146542 48000245 102139987 85820925 1193621 93376342 588478819 374819386 621027680 605842433 185514379 377147974 216327864 475241005 378076402 951825916 113779982 139385135 391624304 307046334 430362382 124138769 222073669 828584977 695308214 839993084 208064887 485534408 45505965 323081389 756069556 137168859 223597985 710725894 75506135 224791605 804102235 663984953 599610990 277646266 122343737 785125369 654794239 338671600 260366373 32870641 143013867 226662706 24772127 534638171 533709040 307650860 658776939 608299060 136235836 206601504 300808495 196817074 692135911 198830812 519898462 300721818 335999670 743496446 863964063 264022156 968288050 520582649 928007109 567899040 798228914 50350845 205540760 305539505 241538797 465907132 190926497 384552663 545086190 68214975 919190833 78795229 375865834 430484123 539610640 364618021 637085626 840419134 561435095 181737888 39249945 81333556 482459705 227765966 824830002 198940119 491788122 645634403 719522767 272311582 66049794 370268033 175178778 271590553 675807537 416717574 737497685 719250385 801270237 135100226 787465359 720461069 66411806 163331192 3461544 606022445 527949212 640547169 446441578 89384306 822285057 338207875 23234214 157261113 565973840 700580567 356201232 57761961 346214969 75723998 330073542 412264763 445992030 505252320 683855315 974315918 921969893 273869351 693566302 575756481 408969576 333548012 148733902 475381381 496879203 152195445 81403825 877344767 792742613 380361755 819245424 615027669 718569629 842479637 772288782 137059820 395576555 128490013 194821781 741791524 56730362 377411674 6572638 355238744 882663993 542944304 329554661 657150238 816813655 875637315 85423070 78299582 209185326 234156971 406197315 558580881 386352415 340117491 435925647 179095028 720479245 107687422 646639048 291565225 950167059 271444181 428625045 198259965 252450545 475963177 940051488 309180907 853374850 799140477 664419650 588555195 342084781 846490662 98221784 11414787 722127976 183644853 89714368 783829654 417801824 348428034 342410534 804154238 688545525 630852532 983249265 261541121 738539953 482404665 553106346 541223363 753848845 834247742 739483328 6299390 310210918 532051167 167996648 16102119 331191644 832416297 604657313 525792776 531423310 702879096 537207562 106067638 886523949 479438281 889897291 304325772 827866315 84824176 108480009 368928191 715676707 944245626 630469311 454216659 279166642 36092008 995440022 33015486 870339749 587439701 39314875 33067018 119490867 59827874 49169137 303198862 892244170 653826449 828991637 276183832 356705545 218715550 382251469 95745845 698153831 272148759 400071616 378536497 356972934 361067976 747464687 72649640 157829953 230450349 379382650 436996594 266542357 227339023 322528432 136882105 814778723 214359658 169949123 786785942 274187532 219118259 89984803 18948053 872944707 918976440 295131884 82166603 137691989 677383352 177912447 688362171 949532110 430500414 919415019 159021395 791568390 519396057 84187386 801914694 749846406 316086388 91427640 16388762 543425410 413956071 5787218 210720485 628315728 175736340 997506426 902503259 247370950 940007580 921451312 120315657 711500371 216583195 54998611 701708712 893966547 85427410 242587234 696015008 515927823 162002253 707552755 160012564 681398309 791740140 961927258 283761066 107826527 53354897 300149827 503768289 467310967 305937045 567005125 95626694 334189736 417027902 850646305 581560686 357035481 772097616 554392694 68535852 841197162 609391304 622760915 587680060 694818713 865348148 136211420 63262888 27350400 843764174 223275451 561265061 488020665 185202708 845026126 448363544 91073956 997692305 952131832 558384922 156145701 371653308 506527968 490335436 788681209 209690624 71896121 145716689 981788239 626288814 66768892 675501752 88196470 542046158 263181812 635531534 407394306 399393231 698794421 287261057 95673756 922069872 701042469 583694420 107272579 398584947 32057963 50862887 396277251 836706146 609247808 552422951 208359453 968292127 42758386 997040661 177982750 967170859 995273702 12287340 445976024 914558945 687789092 534172493 309121455 803487255 22220379 716515760 55396837 721014799 856293168 151070592 643084670 557335637 734765011 602873601 955920583 766822974 653736487 204714185 456045471 115500646 609653487 664404924 83792773 504928224 513961936 114291874 472099082 361751989 126579214 918075106 128827286 666884657 304763950 437948740 322888263 326984328 6980851 378285099 47999127 863274018 529355690 543600148 273126006 264120700 998990100 81562940 883460025 505242938 138793476 339505496 620743584 748446962 856426771 557052708 253375186 222905058 523860933 577990619 584657047 502956498 348582076 566000684 22357506 653346026 3949423 345245768 832846705 863446625 723530866 733362183 579236994 252886555 129478683 852363000 369523607 128468782 786442291 252983631 633711720 925235767 445005478 106971655 673682728 301432248 516540714 779574265 524337306 40401646 357564884 961510704 543358144 706146959 527511387 565715649 212009336 383977161 910961417 44856041 99940137 487008634 630734575 679177130 739895189 760213257 384056481 109418795 888682039 170498772 214918777 374910110 95734538 659924255 334398116 621933617 813872854 850938829 254024234 190726511 891340474 611589117 152237214 287214969 170252427 532264952 705446970 234778115 916242112 468924738 132150507 16182248 955933371 762885081 547875730 548344911 523098338 931932210 510280057 264296728 102430981 725198834 491723189 50681870 237639440 826121304 525131839 51512293 677060132 779156072 94755156 420916957 243261540 246992369 560648278 266030318 779257321 266095247 500808432 548015784 735019984 632958938 416714384 543469706 395844019 964590113 91814617 771458708 749038674 602094673 35755435 703986007 179809858 379994975 607184228 269965649 206116278 132316066 173994294 735692761 763988489 268749449 9126069 859766380 515741817 569774346 125796698 147515489 835869592 626605129 548047625 423405927 112080419 964762008 966875633 507924437 781868472 911206601 131899496 383423497 365817625 20171282 87409503 545627483 400166256 694593731 815593131 606282533 679426148 989587424 194491645 295930989 110853224 203617713 8213720 626595041 773392059 134010417 626626881 461778002 613131898 174674505 885183929 725212316 991952864 704575913 85653104 626337687 468298865 217552599 9761184 834116489 237723880 97170686 232260323 637890135 644280768 47853454 96689019 176223268 889957229 291180663 324670608 810453 494798375 332884327 479921845 268190433 466894744 106548725 729968435 80026641 133739582 467668715 657755308 125692445 24760979 743408411 604546484 493059843 960961009 614307667 179692683 198684888 563994704 411953006 836575022 60791824 312322811 933264040 89531443 54796391 76961054 414202050 55606843 571759428 747086376 388045039 839949861 66497471 347110116 422434647 146524111 333366049 742619713 656795770 311574845 767380691 400204180 916121328 112956885 213681540 382945346 292649567 412366427 946940050 704602572 101457800 860248225 16925382 887238191 949779667 71721773 964199244 363981716 979844967 535958672 111068091 220406358 228424884 30081914 420032825 503375882 29122376 753398873 245995594 685918146 64973717 865892636 86122325 981095045 978849520 152320217 216556742 124015438 564686643 16013143 681134362 518660795 876261367 550576095 405898985 826041033 474814219 222614581 42539100 307175538 758573252 6123543 527581895 839514487 36205456 947614719 342890368 65327831 553529943 441402313 751245976 618503659 307294948 689884653 452115055 138660819 842204869 668671797 115192608 259407863 684684939 796326969 778068657 413462658 346903064 36483994 92020042 821717282 259098574 134559142 128892819 870188177 140682684 508991065 709702663 29404491 309122135 905109382 94732321 862652077 346511694 698494649 333672088 506322993 240895653 638303494 644983811 935616873 159491642 760176418 47541087 844176581 409019739 825609744 110155590 755922802 714610089 202175631 430156435 973708662 336734772 411565606 696413190 329933807 773073022 258632204 211854649 82195157 163741585 159103322 797363585 362769630 857597970 983552024 869092622 951009974 621855518 366592784 886626846 781347159 126769201 934167932 478040091 388305291 612294027 588195680 144228092 179420467 790371311 426900879 5645480 979622434 690982836 702058669 162072593 464055857 960690872 373927241 398767365 124432456 533030562 48647302 339718437 243144883 32199325 208811058 194154856 506571194 575403841 933298053 140434705 554689394 719982337 470991147 942994684 184792715 59186827 939739128 364213182 702074489 219156358 369858661 534213274 910139193 71917330 696285866 226711401 32608201 70213107 477995118 9557009 603243668 526642419 201791797 846388551 411358095 410602855 893059758 770445641 838523047 826357811 910880345 245728792 398856499 234387843 41239828 583649213 146091021 980978955 947862394 848165509 52651664 317721055 234895135 815307208 242154736 931181000 42018608 127279288 1394106 372530077 136836296 457154126 899172495 191144445 156059028 163046942 601747299 49118785 933492582 292786697 727992947 696889278 538515489 126849445 931277120 579755316 563015010 77368141 413250622 510877403 778050001 465902285 681114809 12945135 133725844 923269544 796642487 28260803 50548832 650552944 400790880 39901479 107707069 152479726 231045923 116282448 315526667 685309573 17917585 101535600 978096270 598426883 650941229 516611758 577792680 434734701 96367073 140807689 364619193 362134046 504201443 142669193 828036330 185316252 8130680 961762173 108585795 657289518 990022975 11650978 307842461 243330206 51552457 268065882 395809932 135114731 236864681 711336598 820424304 254782265 665388550 651036925 853209148 316329778 20165034 283518179 751064478 116532106 424325867 115683670 331182503 928527309 110869215 11735184 966359912 971516246 973497356 927462059 481322115 816036682 939113036 789164575 59366888 843181844 909746808 307693171 830812927 146611489 19029768 503753582 253910105 536934669 154790506 107119252 853264447 174955539 243153782 456845276 144003996 667479648 425045298 475186498 448523309 388430864 486921681 267399572 212463461 312935388 194861630 693785575 981488421 986491018 335466501 893371660 682189213 97729661 201064830 513002139 244341149 72610950 16755720 498251253 609545618 24062577 457886857 315326416 51534467 701040638 624688044 195538462 221036638 49733341 523241311 522076298 290680556 10162991 789475869 355660368 175614730 984337499 49445942 9619503 823344868 237428794 902991162 505534080 335158454 104055992 871052571 432015954 29183293 740324642 930267207 491245262 764387219 240670415 806571678 815921685 794227404 283776073 863976499 15264041 186025765 387217809 389856690 476706320 249897152 179332559 832366687 278028233 16186409 734328980 287647735 839531276 824274125 190638897 197581707 11948931 147211240 68634277 443964884 28910884 661475271 226748442 520156145 278378841 467418856 179244174 94300525 114162612 463020246 810793375 129426652 649046010 50527536 371799694 125752329 300424687 551132252 810635367 578452919 419835012 397480698 866100654 111882639 74271175 909255902 309464345 86220105 56467141 230614974 530184988 85378024 892090244 756933430 458050520 22985436 76868637 637294694 117285960 191031248 100314939 780595687 172974252 749360949 831123222 544773945 727629629 131547908 95906196 390781348 562517178 368257559 640778397 281134183 480140197 715049571 42906436 789604541 801269675 99373576 872735866 331454663 37267951 617342461 88388092 347834823 640327896 17773080 985129516 610130208 208804328 85444454 390725894 381778579 687321754 74365467 926552523 267467735 58429726 874975070 510765434 620946903 243232628 151543830 754597438 723372824 866593401 797503873 365493716 520379427 749393801 90745934 851834089 639178103 708088394 792738532 987012925 348416290 810511612 972142440 958546497 19315939 910103246 201788742 253610869 449941351 276154208 180163391 569925437 334583933 55138460 80690870 808047187 150887439 84751052 562644624 726776614 951344452 212664849 92270329 324240230 962058649 35532614 28590671 601236751 743621008 821329202 440766028 92037297 484357165 265424819 903100145 356189455 28044416 957405238 609800323 477985767 86075797 642480065 47911203 420659729 550134876 981118425 81223267 701022314 65869476 643867891 280315279 869730279 856532739 225101960 193970508 671107739 260634573 222561178 124860841 4255580 896406732 565626868 948809228 233280248 831051687 704425724 589469703 859096102 661830961 51786377 189598220 747906757 694266442 90025775 21082837 96917669 71144199 102306104 797939983 137013674 598690346 78255261 859260304 307739436 155873572 53230811 978847174 416508145 128308341 103708014 420763724 24715072 669334882 222089304 110511671 352902920 926515027 699981373 211999021 440862340 604284102 401597241 41285448 151066895 491623015 62368285 247984563 415283565 17190740 45924545 404813590 615881085 976696158 264073893 923620520 132569729 169821055 902467693 401594225 150645747 858692058 822357949 27877170 380543291 44447252 138388841 733446210 823478630 838370213 945445231 264340969 295170666 199558823 305626417 446237560 543698189 220511053 694222123 958981753 237701792 592663019 363795342 853582876 421875528 480385586 777203395 406961609 650206640 532187439 808555833 800852387 243395848 483430133 828729556 623939139 380393736 967118396 357385348 203872366 658004961 155346930 320729686 953175626 207422104 626356102 251929538 751120292 846867154 946151660 710102044 84568945 538814678 926413737 790668172 960690206 406799322 420387918 220168166 909522314 952575356 28723998 562891052 48487556 512154131 244136959 672426694 892547866 63771707 29812041 948936583 721776667 37675323 269666269 527468644 245097426 748538722 779398181 996217718 447922228 578066192 558836113 385007524 116880870 337766202 175675696 930087427 744565523 596063613 2771944 506604188 401155321 31495941 69495239 449642876 396166423 313632198 122069569 141230641 377403904 4397961 90167223 951696922 894589635 212349843 331681917 139687061 960888565 111080098 988421130 408810792 541662641 399773594 793818315 511059862 737539795 822010362 293663640 334621670 270590327 296435583 841225857 671745647 327931524 763237448 973904874 724097946 76869645 948490794 865328586 306789900 805405106 808012161 111003173 699994741 20362003 442685089 692198153 981250567 406281538 533135634 242577710 947944179 785425579 888912377 459004040 375481726 710922738 752667680 710103395 981513064 49103262 403845603 505775062 229551137 19599402 332196287 806165435 96469046 280687080 524010372 255775297 86092186 332022532 366778469 638603278 204900887 809463558 183317782 38667805 68261447 568969767 281245515 16205625 354395345 22674243 327726017 729877070 733596980 80393696 292496816 567626396 982013309 548858771 925917809 64080798 568458172 258114096 870246232 517443570 391317527 246772955 773218866 329926064 578795487 992513687 968529341 783696373 654493596 4363474 822364177 722755042 573333240 956126043 738960667 780244937 978800285 66686683 362638358 564913617 999596730 655135174 132540012 834126390 56510296 910974172 750723539 624968467 21604619 473486122 142412036 412922146 720259077 768147254 742848209 151570915 760660940 563893902 935267287 267670887 568257375 610147815 990425928 994106967 418790210 581902946 774351903 397590494 501105980 136990260 962504110 353219061 644641785 947560473 39861803 701152080 711050997 790585341 178636899 732655615 264071463 321048934 145577760 984330539 89196187 888425969 135901453 702373478 304836222 923685091 970044364 873093596 386349257 812986644 719716914 805139466 394889589 346585168 55246312 895995569 336091780 870266773 101730981 980733564 670343598 141592783 534401996 381394594 932178124 713038894 114050208 48765938 886604179 112144320 33096476 828316718 853086640 21514280 383206547 157922861 797715722 205767263 883532808 36581330 18753906 603249722 694237148 266159846 949834889 749483459 14671766 138443020 472266583 116402747 119176584 142610180 257995529 506094931 376521125 190173652 71650176 343087685 238939589 958254354 455232004 124552416 639087423 160834995 998583047 22293970 318757855 648815120 228061232 54807014 685396450 99331489 658056735 232149949 365491334 460407976 981633407 380163100 598850995 306416341 496565846 570543930 449026521 754561374 929155212 825547645 944735026 805387 21151681 36190966 811576093 476383684 13259734 303179867 637218678 11842780 325473836 808492884 660657900 406051419 863299898 198570701 505382907 373872984 430720649 870874241 834280959 264870407 251037340 285648306 571286747 747603185 708708587 872829619 354680910 637863799 550893616 151932287 491185537 572045296 188123253 155277981 48428980 201382986 458457848 538164009 65742117 636448035 199173245 726400016 42499454 62473142 777487068 547882360 436346125 60724068 271272952 123143436 325594474 522310291 261308093 749397573 122429827 970016679 622227191 477110737 460396829 25637158 629043023 951582366 597682454 669682627 959376698 498627785 871065612 270350897 36791793 936807729 906798932 88481389 515724096 949298385 150954530 145727516 349697096 439817007 206451583 620970048 562960442 532046057 995796690 824268534 133959981 118226517 646801564 756187171 447853605 107198393 781824329 929412979 911297110 232023134 599095606 870673807 730650918 322677569 141024704 619959062 112001649 900339987 708440451 480242097 702154723 859394980 625969612 51851818 151728338 832421194 525338217 714688779 216983602 373651259 391473664 350943582 344394127 38275228 107130753 792247731 997989972 741471433 574177061 909287081 973494566 25789018 632477239 556661835 348466587 626018294 176620896 312984587 378874632 885061346 793226683 81029354 596972678 419196294 985397524 748701015 104133840 363252092 315906146 321117441 736903350 559896161 672061023 81297476 450687740 631708127 726061558 448677711 225695911 300238619 210481143 51706828 326027636 695474734 608368662 527010574 174009379 784989557 839995161 552884011 522567255 633221843 633913364 972056284 904934489 471827239 573273650 9068328 835079331 889179795 330185768 571982680 301592308 2246790 505796508 752280047 486471268 231858065 53474110 712167178 384613035 263955252 763874005 710640671 959429985 372242666 90167596 133439364 9748575 930162756 538839726 384832181 415900951 25269441 356888464 320835439 497096680 930162113 182420118 332176010 671858260 512605885 756675041 973450567 367369027 262471548 578246965 853840294 346845965 631721074 418523824 731458999 895676326 182397828 294616021 707622662 407156846 384783617 693578377 416905420 314946372 84934454 801737600 730847322 110203895 11142415 904199112 607300574 793820879 86619229 939476583 318195490 451741466 548667975 144162408 819110492 811139523 722409373 525467137 10501839 354130446 943990960 741960837 102323123 978905140 36576858 662462137 386061985 421360474 208556865 655483756 588823197 293491319 309737707 172186871 403695213 320880121 76385982 10995786 114700999 15521563 802988720 285412841 467263028 351656694 429575248 138889871 15312568 151984620 664357007 25814406 358631418 460864319 767775243 460954540 292285810 656868452 123416676 678347794 78228925 184489893 186347901 519568473 477981211 496085607 691755343 881676423 816965727 768141325 892672208 784183077 783662887 548177279 69595917 103442266 899833972 351687517 242332136 767662892 503672136 906689142 793477297 862303553 220069812 413768891 175774445 512355621 70637342 151707472 43219766 1382618 336197364 229567666 373467443 814178574 725653272 65222785 548371348 395135350 685880461 293559907 31834779 322059699 841737185 953947047 425501964 594087509 305634563 667834099 361750400 661823051 427039593 7744048 376642955 647109404 274029291 552417399 11981377 197182984 556641223 55201142 51081954 892838586 137285160 424549396 559533512 715454783 489772180 107904859 110590133 28168993 253981118 994941263 350228691 95718302 948888309 775730655 689805810 107039224 443564753 904072561 768862274 870604345 911816609 145505228 370230101 38362251 550438979 234727829 235545234 107080201 142445322 286627187 852435138 279730481 711176582 264485001 995185264 53465114 224906212 958291748 81634106 478887329 805749362 431862796 427121982 607154022 207593450 116927792 714193245 503674555 873516704 335571870 226795251 637849664 333593450 597025351 676211914 736548780 831753179 911757148 696145332 974198501 198384334 401096821 106445333 909560916 665581822 954146948 963026029 743004385 764955047 44660134 74408065 570704408 329039281 501530046 30374782 536632731 470974189 744568026 40307285 344490893 932656248 119618887 982340556 118766049 716644238 511068822 855314828 400913768 422825969 551460159 227628620 473726654 952556979 186590305 235803921 470655152 140737252 51346301 66175888 905692299 96006434 140583952 328913058 277562067 642113998 359287839 814194797 113088186 956372217 707018433 310095430 889028464 826637319 144952338 7794512 395797908 656021159 715625691 649228028 78847127 119602201 876856647 405090132 72159179 63446951 640894053 395330683 56700555 692240353 461506570 814909205 640763139 602090522 143822262 918325205 96720871 355626453 585036353 209809056 164515021 144571137 519904486 53543484 971208455 664856823 913854347 219522715 173394333 481996389 868750742 104757811 601598589 598123740 509847942 526274119 514087043 150741994 921604801 423303949 842982347 235627723 238213153 336261837 690234596 234551766 254587041 786955466 442694570 839623393 996764521 607209590 984194529 369185358 513269425 807919335 886558532 279640123 879958401 59952864 761636511 601225494 164710674 363235099 51865586 674558616 889509218 565952628 677816961 663630370 989256576 373315659 751774444 79986080 709577495 442009039 167054197 964164535 81480856 609748767 656304279 78245377 216958356 493015159 299947086 730227781 153450846 39021970 9867903 33409246 98974833 624020766 487151092 116201859 987255864 539016677 790760474 729281433 104969304 321093786 245428155 946742231 694409445 997202598 879244662 403986939 291727989 46298858 220667826 373208844 656047624 729488456 303970572 725522332 75019967 456434010 308266464 228470812 495455979 170650718 114396409 594430811 794671483 601547500 710632669 634443699 140564176 353909494 216241483 98049831 675003280 461669637 897308413 221929076 311388587 629069426 625916014 455632927 675368284 699100191 828841770 183932259 428588647 985328694 909454590 503608613 441762703 70237405 584595776 937218681 240888123 698992184 384165843 35559605 153056036 947314864 670003303 146136563 153740709 886244786 96702746 828743988 200430774 846527510 50673063 364335712 475596936 529105429 819968638 3481571 80721971 501326760 39930181 509310617 486655453 949384771 865435581 780934507 19622175 450031356 570669539 113026649 1539892 954835381 148586254 7112279 754666596 671105908 153248841 908407305 409867045 102467938 589667644 610297819 948995448 492857059 974633530 277108735 21962487 647118520 280590305 102684457 148445279 320520485 464511426 487617083 122421607 182463358 268551589 994560134 632494714 839221127 107586782 486550957 646572859 108689387 493663235 253755807 779795295 646912075 162163111 189662339 749380013 751830754 652476509 550891812 97204164 479626391 828000546 119166650 126744910 108590850 74367459 127706540 281627686 391395236 615323622 256565645 573858593 883875210 251125778 58869658 575612688 211228911 545420614 74701898 319918298 39083848 328457704 99713592 538512275 343137166 141892282 140408639 94967920 794368791 691300450 44688435 273995181 371817347 16371437 253256442 332924548 90738895 380962981 614552233 334650482 996286602 871117877 761025426 732678163 974760006 819895084 160807202 185988917 217832049 235509099 505907214 109432249 416483155 458137157 500460875 759620320 600029438 640869513 707104591 394398228 184686314 751793026 520909760 556503660 768164462 774166201 889428207 711419708 155129181 356496791 46070189 3932134 80131020 659611966 736610296 54891025 332023401 897417497 93396293 549855450 132926596 451819858 511804050 401926102 909957014 12264924 161546421 509986452 505650788 868651012 756901031 690337101 472960389 277810791 99357112 241124850 51976991 841301670 952544557 59622524 50314812 851131097 63554657 130445831 363259414 800164953 37853208 695282815 550098801 131249500 97654616 535541748 435585710 609458665 937467849 345542723 621723588 99014270 708045526 127374375 820181633 464946557 670227827 145658373 595273699 622101290 386783222 499767041 463402959 191844130 559389564 513717770 895491578 475460573 496679953 258750991 128141877 534533160 954033805 678240677 518299011 51688420 213782425 953884720 513663436 3766625 151943795 135387023 102780894 859989320 115277749 775478878 177452228 638021927 921137250 772725926 112639568 160436823 125009319 576042526 204797304 684398882 942276648 100288881 12375806 438956600 211556224 140517682 826006111 18106380 818758359 196821473 69794800 32540783 3222545 435974587 36307407 155166339 423877962 991604653 867672010 391672062 619599882 45124238 29693989 393253484 670366515 142333556 406206658 795375833 570892434 611003962 332291067 365685433 711292842 344666872 804642032 922849065 485184554 483164494 940955445 156459264 679985966 863266596 41516398 683208510 151757534 77823804 838374848 575635495 921944808 558563210 967307557 394061042 456203799 849517897 639830877 126570313 844367804 46037534 774462498 267776589 657041495 959269916 633462021 220850689 156453139 290620404 996216105 641637692 773784897 789687901 798096955 453770863 505470848 839613352 136979372 657228382 769953508 827870572 232863876 544414667 238950133 52687784 790992060 695153931 902205680 430822936 674240595 746573484 329376822 301219444 14350072 986418316 260489359 500328445 59785356 416942498 790948848 56001461 911096541 564733745 698205713 561709848 871020959 203676561 253839551 860516682 860904942 23793058 540903605 946285169 420724077 779853737 998972953 64232488 475007667 901178632 495055424 1764614 500268467 824432245 302984057 367134891 663366912 563473416 867463335 575668620 832932265 510928534 484186432 744028805 75662278 182392144 158255004 799199588 238585056 412094555 659716270 99489997 288403964 53136226 898291518 709128040 832989963 897264470 773360528 160513981 650959453 120932303 162278594 3744272 797880899 465262651 223395514 313764162 28736066 90858848 889432781 714184682 454303733 373619212 310729838 382482363 408527708 468984842 181681950 647112763 881079396 693914571 599119112 169483359 747050797 497410629 731127751 580040759 247191450 357004630 740554739 750667254 477936932 902833333 754411525 128334182 220612335 977807038 442098343 101864752 921182237 331531124 816049433 228002322 557666687 126779270 610484684 966194394 595764111 792166633 613307157 329359858 338597556 64942620 498843217 85648352 562353248 82487319 518205462 662061049 439491948 111276552 412728302 917428879 14109884 19656179 45763060 87238570 849979568 340377754 189103321 623678157 671908877 5152753 851680478 82091916 131932023 462165161 48286309 580212485 106848145 514109817 909572343 445445700 579052436 260931911 383610403 141405683 343419229 901815864 655983083 782911176 13092416 68711385 552856406 879718651 940883915 451135817 966957221 790863482 791513570 156060541 267057990 315938799 13729646 118738467 398030714 145661668 433419979 298833374 578390504 540268124 812943191 340479198 838230175 391995626 453927460 221840578 385917661 797346688 123656441 41900743 432774215 989265208 963128479 838146972 868983859 756528745 141799140 688457431 399908579 933312710 844517971 666966568 101767860 858247616 785705035 352314925 856425635 71641365 651148298 287332491 611909488 464091488 480328040 302656015 708603466 934255500 524496592 94521126 584118539 500669384 988938220 16892754 342450944 804583051 707556077 63951154 413628147 849355217 752408584 813536725 635184278 449442906 480503293 736952137 160206874 118724679 89267061 16632508 190366043 592931710 156481350 654791883 57023198 636809390 957447897 618143015 423581241 334460840 565180492 7699779 835130223 406635063 877108884 30097518 63734465 584664961 94048671 477362612 286536529 846457254 290899336 921720806 295900160 623918980 511189294 456107033 742643658 452972706 325255892 785526053 45904415 334253594 440317935 955443964 971062983 250282183 573586978 247160575 584743022 138767469 254860353 272389596 397918884 131969237 302487114 461653348 569150549 396535784 939015959 855687077 242993038 82431647 629924234 391409549 706350626 141113527 847516581 301510636 594086232 25288824 87036688 492506998 359542417 379870974 447950962 183121751 630153156 874054291 430282325 214896177 865338112 537659030 487285772 263256995 522144618 789772885 724910342 91295166 38825021 516442653 799498594 281818058 598874299 281939179 673227606 305224924 423052705 373260538 606735559 869655288 251065713 546288598 362162285 610608130 926159571 662629598 646246232 556312726 536683889 76528557 623725254 254538352 466703938 111011026 517795346 988848555 753300262 95222039 932660072 792125282 611664691 584675017 926459691 63055341 866614195 452203648 368280265 142183251 825464185 827532175 11838538 76529898 373820773 226517174 539654379 152496695 889146772 38416962 708809421 278347012 114945518 185051026 532885363 434165807 148578403 50680708 423014361 901878665 998419098 208190784 546520298 462600141 792865800 325496341 525655481 659479994 777699988 893935745 801663244 455680525 573984272 666018133 384726774 947805044 892535307 924381152 100301738 781682078 962798113 661627510 60029089 930259983 846678536 445430803 216942141 995256938 348627862 639956502 749651954 347046959 848147285 148688604 809647099 493529437 474184944 187818932 5525782 104401283 81754676 807189026 560081807 508255299 325723510 944808580 308576694 218258816 721706083 261394784 852457245 537020548 923022293 765002685 319796882 622217180 210433487 536739022 469990470 559061348 29211875 72158775 758624659 877359160 73363730 420788109 223404948 547548673 608607040 228930729 651949956 542878068 36119754 64548114 51133366 214359616 9356694 359710060 432618431 731062776 621104843 137592028 120599675 396643487 902594712 440396556 871377019 113028199 977135578 193883840 524605898 6347452 266042614 135746908 736222963 339406344 556535017 959627910 739471368 165142056 188558639 243937675 708020123 77194744 308485789 611669841 291554359 317842482 971379900 576689142 901421609 445001094 714281169 22021284 694160932 616875880 462417839 565537950 582420430 292069768 759421789 959542680 298417220 877980755 95289587 34640182 69903450 651824603 846784444 809374817 669483011 35343082 53312492 230019485 965054177 361798280 841689325 109124888 532157113 665585576 685814029 433578721 110586669 400095197 308116356 657263953 869487428 770534195 75318254 304424210 62603962 834740043 263966889 213537533 565237149 211772827 100694067 635140598 863597430 947478510 444515414 385596792 835337943 350344257 615616276 652908471 712142536 457305601 762033358 96816000 122891176 447847386 530394721 85994197 700458934 838511076 595774501 569946362 461561622 671092754 874370571 376681936 358349148 990853811 442735820 923586296 202626637 543429886 558726893 918740418 343424747 855758659 304337209 31279041 206102915 919953485 684187512 770761803 229775437 298737221 867577802 205182964 746584607 250488874 143693512 299559892 88999950 739468012 869506253 403077923 263077118 596393175 632276210 621426265 439763337 75012030 545012561 642389974 470958267 956255805 413646743 814383014 812014463 717983952 698178406 870633730 490453788 234882269 641395532 572745576 533619490 361489685 777928539 132720448 611978559 774138403 432280339 553494860 366122766 154302944 956572782 629199883 750696118 441365344 250626148 42975807 516377373 648155060 685365780 987335639 604410864 99012522 654235004 268941679 669512825 204929762 139575408 12482964 439812030 633487291 585228539 973431519 994976975 215673430 106151966 459471885 989811832 538432305 12966744 208450949 692735248 822055878 837650832 295947717 263421221 88276979 338923523 632314945 588948390 876805654 472166935 45875605 828334528 126401939 314817283 350363704 183848052 306909042 362846668 623660081 792912684 800591558 597091600 640406011 16264987 555759917 99877895 858593170 94192221 112844639 67044119 639443820 787416868 757211302 787907889 50838088 698004632 126831411 535669384 286953021 856153417 7836318 332828625 684487944 986754608 500162260 34851647 170602659 807071301 250214666 794262740 452500337 50806224 243870691 92906347 919587562 799630607 45300593 630697084 746339180 10661583 550257554 238299351 798078450 159985207 26207239 701432889 857989838 5555002 237102272 144942858 714224770 97454942 330287834 251229065 84209549 830450093 138597063 107328560 490037746 388811729 901591299 942538082 292134304 997978341 887960780 64238217 650125299 933261372 547451652 248980830 943922955 97709205 487280181 742001404 110210763 366003771 295950645 968200600 224075124 533052916 965659809 938299893 630507857 148463995 42045309 567233758 978914087 180642372 674562317 321468184 569454100 428669967 116522617 714104755 426648307 4483396 778342971 76773605 790261120 178310975 178270787 734184074 128536531 665550967 328701829 238747294 884071089 624652473 206947893 108146213 10221741 25124054 898962457 493245949 173588048 941007766 60479706 5018486 121650137 735042022 326486670 543620588 16228340 295525638 110241694 442876646 152525386 888584664 372166603 942786505 66895638 550437389 529486930 47948521 68504707 858188758 286695814 952575795 335357583 493643706 913238359 198095675 518767759 664717168 691341623 692355806 458241285 751821329 697374292 432407773 339379702 876377313 828544712 355608042 171902950 938786405 651001039 324428335 679887420 23167641 119731191 599299410 426121381 649218120 647247930 347142439 359923230 933943743 152234586 695280812 280103800 65472944 893376486 798871559 582706463 437234460 343743716 893464099 41572140 893634359 178388223 380951842 770011671 6932934 589076235 794430973 945719338 240077273 118859307 478123110 115761266 91106850 77422519 394398998 740324969 724670448 741541437 100248198 511130542 893776022 648045361 791234341 811765317 393938198 442622251 246988132 831172658 786365967 140452230 872744797 532516677 318840453 106212990 155044700 178289738 695289224 949475672 124009076 935366497 920851330 454648537 903644114 11958179 532071055 298043111 752283148 109257854 39584547 705047697 620388395 785876920 353093058 264139087 597642237 747031255 706761338 844630368 430720264 345643656 837598949 303465061 878160332 8955753 409678050 33205031 187245491 104967274 982680702 163770918 892850122 756048384 618419454 649010587 768006562 3006860 947053697 372806061 112264713 839154596 77853758 585169459 477547867 283463167 849308545 75190103 883010773 556069882 772336822 313731037 901713537 462452123 469712449 632390221 471407875 879390498 665595251 658653365 836874123 500792305 822424282 582240596 109357040 440843735 83767534 877363601 443850594 30821231 102686014 408631658 722492178 33056123 993801116 52556396 169035641 843109661 127746499 52046413 251695894 752599672 218293801 5925783 67568146 688006249 638316003 538976021 419913099 156427605 197629385 109303573 509736261 20053667 691544169 619093300 313413753 775311702 348973253 609780699 658649284 451659266 18412356 233657813 337231740 12213472 286214209 506267380 707839484 266477059 558313792 812051729 871593082 776607593 817977511 939161228 317130193 308809865 478137248 737043291 317753822 528282984 846346864 827490082 400853002 390407384 446583382 714266755 18235437 795556634 176563805 676884721 99732251 194976160 763058885 436963990 59705983 49273093 943231369 620061818 168266503 354061512 432113547 39859585 983185456 102607409 831537164 300315649 263933626 162190763 37358939 581687447 690473746 736222154 409177528 91326748 126629537 708277261 658109854 144864974 356350246 834673658 674266046 456082496 29649817 437324930 745562837 941872152 339114375 541310557 561933969 359897229 895372069 846563867 252273165 731073876 949171276 83810328 31389524 65621253 246001090 921264815 647308699 936474836 510003320 56486226 880317935 636632857 617279839 538427788 634014182 973630084 225617797 308280227 282228932 107783965 598121508 27791768 49656116 937235882 569102325 464106437 149649463 316990745 310670303 401922627 48064620 112357930 485732955 931970496 177979182 584250396 705751662 825287880 373241583 68271333 734290458 253559517 704904189 204086648 644503656 191434722 177716731 870121452 499714948 459945662 977905417 97836456 340253782 27561532 887588689 909356106 344184320 37238151 78863202 654854623 291677130 979444173 619728904 777410084 763931020 797708086 214176831 322199033 475512317 587418414 390470366 62319126 840977930 95374554 266405773 337997938 139325628 296638856 208119389 639040575 756584517 38541157 589393382 96838298 66102689 329498423 858710755 262803360 219252925 790090308 917657982 510930054 769534481 389903238 140856489 385981852 40127675 355033320 708180885 515639991 942451733 98651250 430475469 635946014 46542155 696881241 973943951 185867782 993520096 34579692 677424709 602620965 73120848 119334442 551975614 991739888 448832864 263202721 254543248 520602141 53293028 24717581 31532194 675343860 414620818 24905035 61325712 454748492 232454706 622022948 822904835 27422790 720674197 253380303 663368803 619732703 802777895 489829106 805600485 648814343 376925149 335541545 103951659 450045996 454875986 655927272 294302236 903708850 771646344 548845483 276827342 677455724 426079415 160875887 205315935 840700233 185780921 119157998 147965076 418235626 741180945 970869910 445658415 314371493 76766564 961543570 934104196 879544459 303889027 592221032 380875153 680814175 927762576 484826811 130860170 382638561 140754082 277678757 138863762 764916778 826524239 415691103 442372501 105120006 576566990 647688435 945820238 614864262 766846433 946301665 33099888 360543729 769687927 331274654 674915222 846454490 145334575 609019417 578515300 449223601 53756800 959390452 130037775 981519375 296733614 113414297 216674287 290004048 391093053 355538049 54920825 70133644 623745503 349809677 175253649 52828844 997498111 973590238 667693106 616860895 919891902 553309345 977404624 542096180 884583998 504836197 241067022 29918573 113855613 819582321 331658525 20128764 631489125 461696300 1648138 928222738 427626948 218322424 70743137 818720000 426376824 125663961 741369995 50122327 475473637 916623643 102951170 325488100 742730232 770644275 794865346 515138486 176469971 624786321 57234665 61053969 129622517 298301686 943488893 95994481 970400359 127663769 116123244 454405835 589360068 117771381 235144924 16987015 188610157 305888061 688223367 614986980 431552021 282109713 517625658 759542010 51249708 620576828 85030109 793979939 243737454 732411806 309118424 420207425 357198127 218869441 333777745 339336995 517171126 129782989 435331476 340087836 257446757 403971071 794493670 699323177 374258804 29638594 568826543 562868960 335526654 109566261 30372291 619595026 391675974 547997949 379137035 442925681 21091128 316683495 236905619 117344933 49095301 398540395 537552357 258809779 617409835 723846453 598146773 134580960 853629441 885994600 327185148 963592550 289965671 121678817 662915726 664224474 3833762 84258620 79609785 339360415 193824881 109982075 958955441 585500854 510496375 190608827 28426534 384103854 359808674 117848504 501448787 261420326 516388898 39001143 520230104 133798732 615363948 970893228 120896044 321509740 856887828 448081191 285102289 999369850 422276359 800534366 516110675 426110121 884792986 595720459 765470535 78617866 558218885 576942327 664118719 921231612 620067506 545061604 305335465 979876179 662910107 806784251 241296504 179299005 698301746 614042959 165614088 166182045 584936186 286510131 487691784 294340365 587107673 772794073 146226566 9384032 425844790 662337240 435494152 310637775 110574050 53481038 241771992 668792935 482939717 905890710 442540898 103007222 303468665 747876362 82883400 966378772 407176965 176696255 145677776 957995062 790739213 163808215 124177106 228191750 450318346 611868889 375048467 37426018 237179313 521275032 899326401 663024103 183612272 187336904 826178229 294186321 240817942 67950221 815495607 723757658 826357282 258036504 679281231 129825947 858429218 614680982 96204718 118122534 791377236 94398845 76117595 434632800 110723411 52811052 515340901 561041756 664679940 890389367 450984126 754375605 411664399 202826878 269916059 447793022 390163782 96094287 741979342 630981723 16560859 409991301 207255732 842918141 668027804 886536962 972744087 378973373 353734295 921465156 497095906 145111530 868380352 573213500 432260681 979103762 626024551 947601581 392661870 143220843 690507300 696162347 897596447 102171698 898989224 20028857 402481071 289153005 116123143 144460412 772651079 132684002 406968064 979906810 975602142 74995868 718960123 800862580 306485592 72694417 574844087 803581498 70322298 295740790 229311349 355099330 127360903 855335900 155217263 372539124 851073094 845724562 68701470 601185892 800412611 967690694 621214748 55410033 109360050 737337890 52386796 882011129 722538243 459354860 714434290 550656736 386867079 285910765 204035667 693352670 211121533 778879753 496934167 133960183 927136894 726245516 341575864 54497797 434097767 496793126 279553272 137687212 195034039 348254742 738873103 847963001 168461787 360087850 903373033 130338188 949942091 955759829 12349316 672480334 415114688 579299958 75653421 801981766 717727074 279689088 347850787 928848606 58568840 844784954 915325140 838222086 423546821 256901004 745236234 710160939 606210481 24789505 847848150 801244520 225560598 586721252 501723872 394022384 799325453 405096905 524360572 749267543 213373085 389226239 274264228 628487772 821042548 349917649 282985889 538769621 629606736 630836675 320134579 540691927 328137980 87976070 231430364 604201152 344877073 976666597 314362090 951087554 1456102 14726591 604848425 79533051 601447842 106572296 473555435 253289646 364185552 850432358 2557189 577558636 92174948 129337768 58562759 913217496 331771768 194064999 304503468 961378503 824901674 624638046 354586782 5556005 712614116 586017145 609757157 910007540 415200094 776635598 713611445 269172547 791362189 170976221 348705597 245326382 130064869 822261031 498616028 494250420 525209740 353689568 924325408 617384688 483027335 982888166 530602183 814799103 29469517 835105650 628693957 854371190 312260048 835797090 712443546 877390515 274330587 174717054 787398054 689530680 951352652 353525851 958703226 742714840 524502071 307408822 988041221 654566939 982186205 339173600 1333711 507395944 692863167 925659118 124780631 28406854 761063635 507899165 843205956 790533151 195521167 324416264 497420692 360297566 12729706 209864238 237688080 287060292 384581291 877602485 976590971 188450294 231128335 935294196 931165133 755630406 95219369 771722706 262713696 77405573 110896305 264047406 437317869 656275824 189706523 414614851 684682677 950770158 775030368 380404984 593819660 970551534 704821247 91240352 183365451 717550952 153620941 421053530 4611243 538202231 151172366 833718565 726652525 382300701 621529112 510334009 990447458 716748481 134573066 253161153 646670405 97985723 517208559 936504625 754261546 559431433 203635828 291460574 362717942 978666195 671865557 956537602 801734080 229203155 47777953 985099530 946754107 53915245 258669411 803881701 592117475 409841776 490116618 171286351 792142476 111645729 534136712 635106285 680910561 668709777 888267438 180097318 619211851 257992348 116601942 225989748 817423780 320237769 517450321 32658074 151420315 189315877 989195675 953154394 418519032 889489979 938253923 217789490 943405223 49439685 874187542 388039049 459281461 364304159 559325400 103940288 328466240 93462111 739046573 9376800 614688239 479830362 189474117 86416442 737822709 158592411 312406189 407762840 478830179 829856510 440420913 630250494 19172386 282132939 435921239 290207769 171622917 226691514 360513610 115028139 276131198 234701152 355583540 735412658 451521662 914908939 839352946 779987901 860887401 578399518 789364701 328091991 58229879 831355169 414508432 648568939 989947579 726914621 908848130 321294110 409287482 201785395 951544603 280976219 483918333 239982193 571183988 655541250 466673706 931697597 623085740 742804904 18915100 978669279 478217561 470436762 746094569 170086858 102941014 459498321 748486375 892305714 640106664 659232605 576177235 54615095 160317895 566124813 634046067 69166025 887418922 43333548 123467771 691479876 176826119 607386103 931462069 748010106 115443704 250652126 532224054 738529444 993457029 403655506 569715074 324190942 874092267 168325995 494277799 977033280 480340667 95280526 721855346 120447330 754513130 150548932 27578777 767347377 716673744 514141195 689029753 456609018 409991095 812497523 605245 586817213 419883625 784583665 187343670 535327329 35235791 719567723 126373124 28692819 123223228 548604549 205400112 849831846 716930543 699677911 679381478 49787562 794958436 253753175 170234891 401987917 404302106 50330019 169335293 973492201 564471214 858365045 282617570 974462308 523378919 283222815 561279520 943262544 67806479 748623189 331106224 955558621 320707263 309995699 836767792 296446843 858600247 42167903 998795040 428047142 741845813 530692869 477834703 389320600 784446043 648069593 791308517 41264500 698399612 960643809 14756701 115387177 671525206 149890622 89849484 47420476 433113436 503645355 990683019 353436267 104784895 174305594 161511239 425492157 484301292 998279030 574455351 195417891 40446933 573250391 623465032 634809097 103943259 101299734 24129697 740905654 601885678 667954565 634686505 152801641 481114725 501959557 268188817 5156282 651850179 358038300 52576758 84963614 861683654 43259776 290916232 966468548 70081722 452427471 244477057 406899365 303222852 818932407 602317255 196186136 244699149 225782286 830995233 201158760 179598371 707641281 794580765 781484049 228112197 429267269 934285689 709226921 931226826 202474506 714383203 435593356 413029157 766959960 373073321 127229163 662736087 663989553 93697710 732817808 968933375 190691118 139717173 272156226 862139877 594550779 468342362 106839025 820333065 151853946 160514136 999931435 712011578 955094900 633931835 940123774 236878521 568217524 649350694 20621698 623208381 216250248 456215053 36237537 983210207 829288373 163466699 645946294 345794277 109680761 231280453 167244003 152888230 223513977 439400229 15028106 818064756 760258942 974383483 490914172 912112887 134897618 343361958 476640816 942508870 977293793 416764589 31903742 398027668 918631634 52525439 21236048 134881882 361256843 909989936 118092088 43061567 73456635 616554733 241372196 35653747 700351538 408616198 188541976 923865514 848016426 56086434 594446621 460791719 30469916 937877144 225420957 17883885 133755454 702061772 812909106 111049246 118826360 844812847 361593265 889974346 749854637 235345664 24856227 963627831 145335599 995464666 6689398 71308585 464535751 100577945 959478683 17403640 509194142 537011 941269153 209726920 56623444 388232126 670518638 87093359 178625621 895939595 104977243 312381074 598001366 770402701 275946671 569344078 467731899 637539935 311834775 70102888 725401950 189207353 33730718 723253901 37188370 892936467 647078837 501724120 993514411 606557520 519127759 502708553 607094530 312913264 712435472 663717973 553661741 235470461 603327683 732287361 131410055 560821277 44668435 581927773 331223977 320615105 3788202 798955876 810671392 315622976 869058763 536073341 504830328 755305832 111843593 542018697 648242299 758922430 43742817 494273061 217996301 415386927 996981613 825090830 580816542 561933436 341325154 134478282 797403897 944652836 866765643 781330303 357990464 763950429 363258075 689214441 84565533 367046276 340686668 747753276 682669251 62261782 136342969 40015930 817567613 248186561 582034627 318326263 7108990 478293795 812599324 225105290 893680721 662097288 902712471 327013615 76547076 96553976 461491896 726467324 41206811 180773890 507797626 251713627 944724318 723572053 940928067 881806203 90618328 134131086 482075830 625803931 48909219 618418798 665819860 866476831 866605359 100370838 37319446 873714348 578664632 702435121 951335990 324861705 217048760 854048460 651875319 293595835 950602436 113367214 20063158 844325598 146657456 380377136 96039224 943898125 103949188 889483642 678220679 47083867 876131079 160296509 525404149 925040297 778715306 43740361 644033480 497837016 144111198 681352925 224067716 722775830 236304397 175403705 47637534 453353156 881968516 552029204 746948991 685087303 517912769 619528500 381929253 664570224 852421987 330484828 460984701 808887526 72484822 139205379 708487745 948615900 152018239 86408245 873656197 930733545 130148605 370206028 281086912 126776155 51558952 505154627 849551984 140379700 680558331 749705869 593732855 415043199 154251424 193198197 100130501 672164192 812726697 482059753 189250768 517665035 812544581 650235468 326552561 885029402 789440846 35040305 686161653 941459085 121448549 412334201 724708981 104113506 782540228 5795892 230889660 686615531 363466871 932957995 826995230 44025201 535180215 420728085 311584751 689431638 613926281 411715252 361595829 279169329 746291356 550846596 796834364 411352288 53598415 975903276 148898041 843039261 863459932 835059694 637014697 837424832 247393894 214240029 941538337 29934122 72552272 24944348 569066004 436019142 957902342 396061234 332560695 345598908 669305670 644145445 35030545 135748302 908377048 249142726 414917631 654668404 799989321 64268346 66020691 853587736 40171621 67435084 549143348 756147904 902494777 38674396 593572735 2405022 105430776 387627424 32339143 177983047 265088123 453921499 466518541 75506817 849982732 799079235 421105724 371804753 295741031 456136269 507553054 56634431 705278994 922470684 711302834 357784666 839255381 629839876 63888753 731943353 697274959 465548452 488091256 452286087 504222847 934180343 454691109 609653622 174324118 339546603 640153021 439412240 793468101 106671561 514919056 495967184 758267147 936024780 867771936 54008177 244677400 375324990 110642607 949956393 150312025 674461792 160257410 989567406 156818020 76662515 574027110 706609330 542210966 62118366 158895417 46433813 848815060 613586525 508603786 23139177 953133127 1273158 462551416 599117580 107944718 977470472 95084763 866211864 766011603 962856699 772736393 10689002 190698040 735895351 813161746 193526416 262873495 973419155 35610173 272207866 50081669 609637283 978817195 444808987 524272000 137712611 343759151 373087059 603815487 852362936 248742587 409464966 853636094 711294002 8582545 814097163 541280825 956183659 532825379 159808779 771556709 158078123 170497780 962254748 893973473 983659525 8297516 9363319 809595032 43907688 281571184 712193052 653544970 112904731 9518390 177816969 103133693 353277540 403420379 706949180 58156828 652162965 968930497 911792921 215973319 830029393 578406435 757254143 786213051 111231813 917062922 410286112 269309935 940077053 225057211 15799760 776252930 233354726 25163078 438364313 277262414 159250614 3073716 930807383 272155344 12592106 108624352 375289036 365869645 364561082 934754567 424026472 16724047 903685063 188335744 232697365 586230807 766742179 842467859 224960210 877973991 612047132 635246321 999800278 552124185 860303531 15600037 180893466 93658257 893279466 619257778 370920670 905046431 622331493 154244404 29718126 634923598 115385107 405007162 793243 479946189 192278080 424819714 496670235 95963143 613155458 581883951 534710301 232413988 424351809 759670510 110387978 36398941 394916830 962704607 441039477 107736713 830820995 621932942 201394969 576616813 93707071 424831990 481663243 716038563 579076393 511381369 350962161 694461500 768904882 204271755 174407688 961182961 629091468 523594274 909662455 94763277 105478224 444372756 327177264 382346384 56559617 290081594 271261676 451476447 105302552 712301152 559213159 936123547 186750445 613124479 512740359 280457515 37956468 846919953 996496078 617032860 210817673 199974590 164010711 979722554 404246344 338418398 940905515 885854163 862012671 703084321 980617440 820007246 147457076 160311055 202353630 56533045 302909000 473615305 508009491 408211552 38432809 919739001 344335098 77699605 532863479 709591808 358157120 423336298 556511760 207169549 40369157 767329433 259660490 56896220 599568338 663906833 395314617 392990204 402277347 109843640 96074525 235411138 929850885 96047952 395722193 984720866 152580996 698631192 310852523 513106838 106842743 349285331 432845838 303694192 426984935 818225668 13285999 637658406 241561965 422314111 844827954 134447474 42159895 104488443 191343693 641728232 620911627 439174661 34718436 23188974 549018300 983309312 111116463 331385537 79357263 506838655 168622754 84454611 57986199 479475276 597561448 17345293 828760606 882923638 173555837 108261893 701149305 39358187 745920298 795227622 461672297 443264604 929675095 356348543 400269398 973535139 998076775 873697377 412709799 885311562 749402702 814244451 721137225 860519164 145629987 653010839 219874171 166769092 737465449 277860369 646244368 187543249 147722013 327521325 70466886 321277849 435783217 624132542 360636036 34219867 271876515 822308332 330000822 54067961 31173227 730270219 27603099 29250001 456483947 292829250 767077914 205886648 107073700 340731490 66405812 105220038 993742328 138796334 271989129 583724129 416656702 918233496 771267377 564378714 98271173 694250614 885656563 534054389 170899507 98808950 420790607 442776022 921117281 750791428 496843982 952290507 333577999 376963433 834056859 790061945 669792682 453651124 995948593 776866381 794382613 914870756 734602770 640641293 53667089 6591898 224365421 322840142 777341746 848149149 739735207 875612918 394916114 477908121 262183658 565815620 576717070 682974265 861107993 350350703 286282044 210468327 155157561 619860042 587431759 989214420 409921987 257224440 295381895 258386931 886607172 942280860 25774038 621209941 582922152 931957478 480318190 659803924 107313971 110176287 507953072 847049177 838305556 902869185 324957298 100489214 321201156 901674367 635979830 34825501 104541421 922261873 245293827 259698982 394638267 832725585 101429753 804560253 89950024 396811647 915463535 829073547 191608858 941237572 302799839 774531009 725711401 783118028 286851284 833025371 745810667 794804355 680074547 584116222 550189891 857548196 537121787 723907399 611738915 25617968 758732899 716280335 800396193 4026725 975979316 195034459 836752309 77409068 852111063 779218684 326737067 767574597 460808582 518345924 561328520 763608420 145393285 139556272 399242799 432244568 972581642 145053465 79565275 505172540 581686039 629755165 362720736 118807825 206178915 974459650 996942145 964911813 543256336 797338337 968938537 519235652 844889147 658207197 449161071 697000209 289942232 775898137 317091157 750750813 294244061 730936028 366875584 439637345 870492299 766118383 871881912 843073940 911171847 951447186 200762831 345374237 433718703 563483566 316698414 639897617 390459567 313640558 457325782 933715903 963495246 278780670 305467906 808384392 936987867 754628976 357900952 79446450 383043465 527508460 682713615 677287525 258444487 49589198 969441221 128936785 815707580 693839484 824527076 579395779 497803022 25289906 924770015 931521724 441289824 93984780 423935692 684265742 407625337 881261473 470497996 223636934 12558495 775965901 32021325 949546361 383111229 242438628 881509162 766154693 769947087 564222776 295958569 880907925 466328326 117916141 862361061 134552257 811755624 539404488 713948035 309558645 417210746 491234402 93596720 858500569 585219181 370048764 395282662 845360870 103826588 865780658 68997803 116385082 494262910 953535480 65931442 877374138 48490459 799956956 496045182 818437546 216696083 644520102 551861822 683024408 762436242 414222883 817576665 574191866 953627370 384041051 736266862 223354467 875275452 829863582 81855035 313010985 52428697 329654049 10888206 156255284 195434706 79886008 272640366 689697615 33421487 191088159 419588105 81911946 991045114 768149638 752865843 207741197 412669740 157244016 890765604 27622333 571466898 560858620 601814198 377610620 944899671 190597412 600965086 672691474 20460993 535336473 985702458 72889689 864990521 996590663 81661324 912941578 928993023 354301689 455155544 814930861 545389848 874743648 749359158 536434961 495409638 354741352 596692509 908079377 511985368 339974465 935701709 83452265 900833084 390032259 313579236 845732754 580629670 767060674 370940580 453607014 154913498 209159389 379013054 19904018 58266404 460674377 785361947 987259426 814976066 240517490 802190286 212882265 967777490 404065796 749317225 463187127 758807147 198526086 223782855 270792514 538500550 12000915 206761131 439333633 254549525 372856718 137582739 835179194 139917391 508523318 141302559 294830888 717682706 372831964 167251257 775949109 833506341 952613203 615724886 500998758 45647045 270431524 713881022 13424534 674497319 315714598 329128012 433304465 514240683 405427218 556613331 52741232 417428132 763374461 344591217 671977657 136231178 334690307 359673202 128664921 843213624 353492113 276012160 413412681 726324076 443263417 41878142 412346768 248392971 657603027 913345525 146556367 928034550 479742898 12497252 455048220 647973848 341625263 888352685 14730882 747052480 297482367 67472114 16996964 60856827 264579682 541490972 49604356 599269988 901164173 30785628 294999963 107172637 306797788 560928995 833496713 602577556 602807136 245843480 850970526 112926515 11705357 997526893 893477416 343964606 10024144 348525636 991938453 204165759 89394672 6669335 803734590 386877038 926657800 820731553 300250216 43753833 214738876 202370923 643023820 115903049 85672903 790540134 75592037 392470690 351469128 909088749 995048245 806792616 7448581 698535122 919719130 19153937 548578366 665712897 363118542 411118862 14238532 207573347 467800972 956149555 214242681 271535561 195542944 140900480 944783466 495793159 37170664 159522341 550680434 680194483 127941741 636353336 323250968 203533778 28824025 674720095 112622526 876388621 334029062 120071106 427440094 106264543 991741394 828534812 771977440 207376288 92170025 638732323 414949634 559970996 594881878 629192314 831506556 790424821 622609145 628806373 138734332 659779808 788328714 689414765 192490642 768786806 178284452 515741609 972320583 59624828 42978055 937459461 936013448 377007117 910046918 215969893 483271659 754304664 44504704 107765450 961680951 136674728 746497773 376630584 549162075 193896002 858339249 233184983 984320822 333464745 861991355 975571505 993244552 502836420 517502621 38251545 271623226 695787072 406509505 96460160 755411899 449487559 886435972 543941698 679011027 648999242 759911591 14799038 403303905 656932646 122564487 217501207 646123726 869062259 594131790 47802152 62958260 304987390 280987134 899795434 638452134 142978489 875366938 484213037 645814908 245385911 522464581 769954485 941172982 928974085 866414645 696584881 230977995 605366968 93042930 909989022 254366209 852954520 924788059 510186465 362403518 47352545 727687671 861043595 768931156 174335812 908845746 831889415 479323201 189832880 584201200 117775334 185327720 312084490 601988370 831142627 557470400 976969302 453613464 498643381 758459738 172544460 47744613 989437733 777911427 140787543 751943106 32277636 846258414 529247516 394980452 61178283 429116412 122668123 922221877 50563919 297003934 831067623 882453334 776327135 873416854 319170885 746618820 58744573 631255374 201123542 742403551 188725773 178092843 196017014 539885506 936552581 368561473 587630118 778506665 146472900 580934012 382966122 31266887 427192426 764729989 278763690 488370708 46362752 401431812 263108937 96926671 550952098 94176559 979380004 179795584 820109764 151067240 926414403 878854336 782322614 127537944 473774238 971048386 158147139 669791252 363450243 94699719 890869076 951080361 725722735 889858327 384530724 961205208 773641565 811723149 725935196 52405255 152610209 772297947 306353418 415719145 869224617 857305515 362412055 701120972 37101098 35038170 852188212 963515501 913892505 487027177 943569796 240183094 310591914 101716934 909974345 674042157 48933004 653359773 477638869 627172090 543218099 862169592 588377297 169376016 526409093 166828844 221781270 679019301 791643143 528134687 947254797 513384111 237956554 162183203 67021435 275057651 197221372 919209646 91089503 111113876 258753174 34659299 203813321 569345087 988892584 113787666 243387243 37825588 619663790 721026111 517514029 15398240 435712055 105891326 184774255 962121147 125236521 406555524 493656799 916879663 787206563 440911595 282780126 25163116 603094797 349801560 152737118 800316168 121527557 243826621 763946395 380280730 131002271 967759715 949625816 119894854 934063732 45529411 10236793 406243873 766555521 380267174 421642113 54783927 338674851 606416367 16905073 463911371 12971891 510561871 233307386 652694805 803989817 516087511 677857920 259600965 865889070 830595037 59917132 987416626 926938009 676379878 220213707 57940279 496655945 169839522 30351485 283236028 215368932 893104629 689479901 834440805 125888154 111122013 889224731 464563004 570054731 906129804 928474375 435542973 269208026 14298112 88237777 73197843 382901974 618612048 185315159 101307395 301723437 97748643 88724020 228661445 774128520 161454078 139118076 123300816 331293599 21985912 259053196 399178883 767606892 948533096 233619687 893495046 912171460 122844417 358058049 334742542 881490572 139048775 770285515 3214950 5863238 858523291 928929144 388765211 329651691 114244302 490072605 631375127 211992944 431312976 860036571 838637816 592767053 851670998 961938631 924060652 873656909 73508178 175755886 493780153 22041273 409375572 387275198 786729084 384736340 597849598 121471626 118743264 736898373 744273492 121958213 742761610 455313134 903403708 131526821 784964824 17648009 474115777 416339950 82157305 905428753 128892873 920795120 498195805 980563870 735250102 274772808 706737131 808758280 450528693 53033635 683315904 712420616 440308832 322561340 97156956 38158429 296549317 68416571 627573153 40822808 42891135 222851115 348652293 946294842 206894287 133617117 816459202 681010063 402473418 751132858 438955167 531366290 524444329 937150972 364446512 112210783 64440131 923699994 920969062 367485176 976733628 456801317 79905791 269558811 631879008 29579098 160233591 928428324 97995668 787806744 821767483 993403154 863174210 22936128 792214347 70068496 156553244 461189901 603594910 559026661 212322758 42550077 942909303 736767087 832217400 159872166 848977869 749173882 83572159 622463282 116659057 60305786 931780950 49081200 182380948 563659958 78660297 342614538 344604633 29172317 130421281 18888468 22575470 846111842 41824595 667306169 768696689 50894190 128496069 224807951 609920850 193335178 119874379 405346504 930102264 952091778 565218669 631596484 553782011 648790827 106576117 670441068 561612964 38357067 719522267 743993911 454533376 650698915 86608449 651654360 679871231 69546081 670542827 554963053 768174275 564883773 74785573 536870963 615777962 203281641 761678913 78215164 396616818 881553291 483561667 179235434 686161420 48780336 663348269 92459783 550087514 769924386 762900850 111700478 660797804 334939468 708210740 967847531 985638382 647335540 619501890 518025965 569397973 142561069 925505369 190088599 707444841 290941 726959561 175739155 56088933 341154826 253954318 452705750 75224468 737515984 484457535 613902240 786296319 147805804 706362022 188900185 770246541 321779223 153117014 283560696 656718690 861327753 251408226 494873423 361179645 723426467 865415739 783093969 865987535 790921107 973182567 425948728 643728399 552658479 601687882 699817331 893813304 855642199 5039433 821554124 445674534 489496967 435456363 84487205 637302770 141818384 273387389 260065662 316113958 426504402 543626357 972832647 140348506 795034582 320222421 501528150 370977401 38154512 137138470 89481287 829075618 110321036 515430014 325320369 662979515 969634247 25137699 409309170 677792797 30177131 83379645 123467331 519674098 518836007 207954535 9493219 513170742 481341923 269558881 829284699 907846324 813185237 654633697 48194829 460736171 827372470 402239331 831713571 865526981 539377800 921194857 547118950 502215188 289141223 872439318 17711054 111291821 897577017 427020223 789084618 780270499 510399868 912551948 152460948 881752226 973022834 161954167 247439320 306881108 284029399 76724018 67243783 97214635 583874067 115438611 410467157 263762888 370194293 94697079 129289868 762088445 868408288 676408817 264303632 10065862 401364487 282014685 121357682 151457855 561551259 910442299 931728353 71951126 675510598 84189301 806219704 648533431 98659819 53659023 955414538 382689217 982899392 22658320 332420203 419289810 990613283 742887360 683052697 213323927 690100790 812342564 975412371 558509077 341267733 92232354 568574938 742632219 226763390 689932620 894090073 788314649 452891270 678334777 712782126 128401868 762524077 519001829 629451650 861183895 425177203 437382540 96389463 408076595 312557211 428809666 827366404 155686845 24213377 362935453 369010772 714314166 27794368 196939494 125339595 369062100 141688200 693914532 964210670 368451589 236363503 710817094 156766237 689254773 389151871 869548363 670172992 4192299 241066543 299624641 717892546 666243746 737007180 814282008 926836692 49564391 243091673 606719447 57767587 267305049 969654899 426778358 981619215 997449267 476234204 106958809 219027718 617922403 653389692 183238388 986373991 742269547 894055481 143140228 284040671 135723703 865204942 954213662 139916002 958787836 106354654 710324899 477547933 843361834 524606906 404384624 745442576 620214931 11104071 803210162 887519979 833275321 82504872 721655545 830724587 558739075 681130705 49752305 29177829 187036749 85507044 15551819 929306295 832078876 11208398 65863317 967802579 728929691 20076978 960234932 687717527 126431631 523076182 17781811 822309816 47683087 422166435 420268743 520414369 285786857 75995257 260450700 119062177 158500128 982106244 802303116 569755554 515753301 704571772 598933382 555306401 642595167 614485200 337129047 474674042 478209950 402992363 294992972 207139640 423069340 107744255 747373518 402017322 630820436 765155329 224327138 531019875 39838115 644595880 51434243 325624971 720591136 164401294 297203499 731607615 146507538 952022966 301363168 514777190 509111089 900296549 70083590 151706255 367298101 259728988 478896649 845508050 662721350 773889620 905164041 85790689 734150227 652537559 340324362 217487014 270209239 564651499 748506888 310047353 61763731 652457483 635672323 634871218 816858776 785392173 366478833 815882665 737415139 520358352 183176206 99042579 273171253 105776147 250748834 640469353 365505134 729645482 338493754 28226483 356051453 96174146 966533523 90201679 748711704 159374237 160205045 18920942 724025735 908711932 181484646 638305817 413685766 817156968 273177035 83060894 455065493 492172219 751459910 44996983 12530570 934636116 144039561 285701822 892928614 394788394 778687526 110950100 976950227 117181279 139176582 185518032 65871777 958226457 128236062 814583480 117600693 288441106 686020774 694142779 49669390 867505419 184964948 463355155 537178739 458141982 398932400 992244231 950314200 150392310 37241213 815361121 937544777 33797125 101062943 830473390 428585519 732266820 941423489 258052097 701964451 933116423 443570128 767836227 743859231 571806190 434936058 713976275 860247295 120956831 260635405 909916684 840978602 445600352 225788191 230673692 756258685 624720590 75434274 559089236 775112899 965191838 374450357 565174027 998988962 328029651 248163769 280090832 60296470 42103609 538142929 614777272 975220031 981713056 382613498 571595613 553519245 817549556 138088239 266282892 791022738 251239996 176199575 484517691 696840347 401987765 567707734 305615384 26708355 643142007 864704619 654337605 460850196 91671327 72027984 459839158 419700977 320191752 739929989 332513799 362295360 130589269 947291070 190031743 112302325 182420920 761627355 518337921 852486827 752231946 784620812 496025916 3471941 960820387 980543607 552828639 215324503 400767692 858444022 94549209 43909699 723148641 601403166 357276246 814819967 673431149 817115403 87037296 993622900 409561744 272067446 355918259 540151012 71874867 545950001 504969688 254295786 160093708 23307609 106782612 912325653 807928420 455324880 768313945 621265158 288384838 321142583 689106013 689152529 32102957 783655221 585578579 755251597 237574738 942854825 422587915 911005886 612486579 362141562 904628785 22048322 634209007 113063396 414715686 706083874 511529748 919685373 960379659 671623455 795509333 919678623 436465459 455954105 227519854 57295755 77219262 515904691 378438338 618841626 205057219 410541294 255013199 790635798 18309242 492587936 586006974 293413508 403593822 198493552 655555070 160738958 73058226 289764076 126318705 340290263 995847949 637848453 112491987 808743960 161988259 908001320 580938934 598453718 363955424 808458787 655749472 293691037 176879829 886704161 912532663 381937047 149761806 20062213 25089196 168071047 512650148 611096169 461484555 916243969 662106073 117039624 929499279 735164298 259320051 55817983 75454560 107684352 693666435 40462898 768944663 855654694 948464217 202399948 306624763 164935992 10858734 814890586 458627029 40254914 701594747 223676043 422191960 851356552 243738255 299797508 871943951 756388402 910893676 185944857 525148723 425516100 155500832 307164353 13196749 414820882 362982335 88651308 375021585 909165122 129114206 143966247 617336167 930094774 346366194 923960929 95030766 209741279 591367866 406174146 249996192 145478964 629850188 524704504 996835516 726104794 824502011 721295818 335009547 587912038 907240674 860158269 13428138 62741505 19838973 26624886 330078738 382821308 967792546 705100323 144502781 949423103 849066569 761838947 879517876 47949115 538316227 827064993 110206745 129684092 233239138 360202937 275163056 715605677 884907440 124514923 441710470 561925802 845810740 776720017 149837839 605567765 489394637 15782328 668309269 509233610 42407214 998388006 744571269 10199759 556004680 889074049 812139213 257587601 650912995 544173440 305536715 41745573 371238433 415743459 171429664 456993922 628462747 299109071 172599599 365886538 423623993 466826420 927812339 121951084 96062788 77650178 727518848 585457425 93432505 248344468 947207386 988356070 99248826 691778654 851072180 655253505 433369054 663211392 912841105 84282048 59901184 70894171 126027620 431139616 339153982 149973635 888133537 967616728 449082706 913249487 333503266 725223050 380075907 113831956 847174134 476138694 43998485 427209333 914112470 137430990 528070153 861319855 978303411 627318978 405614860 829375591 135088834 838983913 345103334 900446291 775782312 405004517 971340461 754326283 688660484 163010794 756816270 429310373 130627522 58415327 342559859 316647139 783638376 575152117 430479094 483328861 51290811 474477579 910538194 817919632 464424920 291124698 531755839 442728330 918443675 937370698 124620272 906048860 628870963 322239958 806495150 257169626 727244474 630351963 864012261 268421310 793362756 620828530 697731682 776506629 679243856 40291540 93153767 315398583 467960009 523632861 798727444 371767171 998110439 561781989 189686802 315051710 852906686 721442640 757780039 623866712 511329690 734916663 529915571 992717004 57156620 188927073 102402981 636917445 671795387 966415241 905338754 317674494 439760122 603070435 94181123 119003977 495878327 39851241 286918912 963838335 563484101 85646355 188121857 414110891 647428343 377808658 729162600 352851380 951767650 339458991 976718091 315613691 74375653 359150013 308330694 984048624 548077085 410733674 620966068 72388823 229665267 378821174 390063317 669425388 981891608 484244439 640945717 330286286 524095679 927864628 146640972 940096132 13510982 334762828 206723374 513455676 565087838 935885974 866307055 516855487 127861316 695541497 832469177 54753320 54691509 993316222 38801943 455284946 256566247 512284362 527673768 486231513 891105535 917737084 155656901 725513495 254497874 796602617 908316132 778593553 576983596 54957104 571206036 443010929 242236283 777929409 956466604 807324120 566331734 675290010 176695958 694193049 223347858 861681486 601462720 278039366 854997707 492781014 733324311 111563954 5065376 113514431 450311818 748687262 31251514 605968718 326717108 285749388 255087686 87549592 916859292 832071281 142506695 488065327 127598561 237259329 118511087 84065164 897099801 684842821 611871525 73795758 231552221 835219382 787993596 833014941 965775100 495507654 325795954 551615762 459587959 183377681 665130192 909899777 784581295 696381706 368384846 111298402 834647445 623472532 51364345 751506736 308060164 46387391 92088414 435658725 283646720 210599500 372240240 33262872 895442320 836628117 107058629 126994541 524363850 747568576 812525833 490138949 243076230 138321786 41754711 702664188 174215819 559401254 465080316 958797113 108299311 833465162 922611866 942946755 309454045 973976211 546969842 617514208 20363601 639058255 905689284 156526672 702174107 130445876 189789543 450132778 967073992 149364524 429643670 491437841 896933099 242169502 834093142 992525680 233007640 728364204 547706220 259739810 287765457 12786535 71053274 396064768 846251696 993665139 191527874 8222092 820157701 738497716 625736300 693037654 230072322 383941935 702080677 932246428 514387810 891870220 382379206 481461801 893751095 812022875 825415994 643200545 906708729 659509135 635726225 139716368 240389690 35948796 251972529 528155146 48735330 323025802 776736265 747503378 169207292 968264139 755725469 989364993 706761854 233978120 534918998 936834175 617920055 89516026 721596955 132307864 981386245 103976160 466286017 727653691 768515386 291702010 370854236 527740466 803727496 859096812 519973185 44117185 895045607 771945713 424788682 943780936 94971514 201524947 543800665 264178806 22305437 299526134 106060150 729067290 533504253 493495499 518417816 3940659 583011524 92531122 136248523 416914121 49023633 602534539 144567811 817539019 746752900 367938398 197795836 550480395 227035209 717769021 447113931 122080815 489714733 871902612 918378103 437202599 73427558 314695119 701381404 95732994 614221252 659957905 677316635 241857 153453403 48250803 4182515 736464926 140781924 140431037 5895398 189805557 595481927 150463209 859860927 194751178 518401606 57656762 745231572 597953167 775425782 44861854 572550333 117656867 916764466 343444787 554859465 842708375 658139906 108757220 790957721 124877509 768715124 320790707 125119365 774684878 369041509 129301880 363666155 362339785 122249268 369561553 552145341 570247547 520024761 264522619 764998724 890942718 322179380 362746648 488895884 950121514 407608501 61446217 67778380 176889318 257407355 475154196 19597693 915547260 436427767 810555413 40424769 57659242 131346119 18060485 832344119 352903980 147362364 196010273 715243764 122127984 565571825 119905456 544891882 938112937 384428074 162406957 829055655 559123805 377669956 170467890 509245318 785278457 84430458 429540049 962167774 341837813 757210596 834281818 109901424 193638362 497353582 150326192 251297603 481216053 168386677 83641721 834120032 168265392 132168346 401880147 142909727 550256522 374301954 540317960 488369459 758730027 702724917 169941465 170370183 80394872 192925706 679615501 718189680 277356164 961671901 532873806 471710328 718882497 219671975 581611751 765037210 717025557 731937943 16334813 198241609 752840971 952492885 884877992 921106362 937177582 139274490 916532441 487434104 513576443 456850400 828319914 124822821 12091668 998261378 295193003 945002892 43703435 974808503 515708923 321059598 788996756 48582728 792769925 360395604 120771055 226898028 125432813 837796611 958835970 994283977 36038219 564193292 799293214 773432562 337816005 736470795 912707051 254348445 76421250 426283493 563715197 904741163 551106313 575806864 755518892 846299315 373326107 799222327 673624170 889035030 972798276 315137277 790134109 618084553 675532880 910905163 844982580 800965692 748701773 656334901 647766021 637256343 220528192 447059234 263205256 558344196 36046380 175912306 665208993 112467630 454712150 228924189 869725144 5818462 657247404 477760388 704634129 30573511 129499066 230774650 919608540 102297341 545911926 562259000 572898245 73961157 473164163 417880824 874926848 74382287 74215724 375209220 564154982 147260267 822268453 827360237 558120815 710831185 3272543 223329807 675815166 310501044 304770347 398056661 168835858 962017750 875817048 873469986 992591260 857832465 956760987 764716151 812646158 355189264 179491503 385544402 429150420 652655665 655941578 156593619 579554303 582673653 531802839 143709284 729933920 206587643 971069521 140571086 917418827 826858415 363900892 593233992 137359458 668671238 991290653 158711667 483205339 719624052 32181652 328312951 429972869 841458990 93029101 242619026 196648253 125036955 480679779 625798672 777692619 136621356 782392291 209763274 719295009 166711481 353472557 301745280 373299123 177058429 442316365 290717950 856433195 658733608 736468293 846309005 179921197 580275297 5020671 663126535 152415701 889718675 991439485 582388569 731177664 936984938 825007594 780342269 62021892 158203724 258657292 692230863 294825080 41049582 901994136 866636440 60277414 107983044 20898071 433576537 285041473 463214435 724294486 141474667 121948042 313279130 840300023 154385590 893554427 845320694 817512124 45970127 587555720 808951609 628358695 171249735 598452898 305882640 951592003 660474789 464086363 210249295 205222003 611427794 103815228 107216138 478064233 164092642 215199182 498962303 597669178 352757006 814693089 174480015 346748024 789157482 487759144 187048047 943543071 233829922 884885092 761055195 279800048 472440811 422523155 760675094 643690545 20976052 66557733 447798900 533967192 383160448 658048194 739189195 994588241 614379773 698921684 325168826 778472414 914120865 676647480 228657943 119394222 491340569 255654309 466142246 133014402 743413453 653190292 76557473 977243374 390591735 690129019 109559774 863032545 112652173 870234867 359239441 986144576 789308952 807038340 372628119 24985751 317602885 964333665 872090343 931982658 663255349 49775520 562971423 429892565 726423000 644145718 549286787 70279920 899800026 15429032 203294321 495729830 521135675 279851793 325489556 911727409 969980811 435049329 627276305 935149335 157800547 839032097 773810262 799625850 498586789 998954733 824611600 816189673 963288397 549218295 600688682 479060097 598993814 16176457 761469014 325416813 660322174 163272152 395696732 412638551 31217535 598991053 908368381 552353209 731359197 233857936 316596969 553856360 521423616 796389625 341522046 679224162 635421721 115332308 331366364 134008509 966803392 8494315 802714534 782608140 557712609 255919567 114184589 156706423 124612375 875653602 334639587 784934548 38925753 730336319 50089451 70143287 181843723 958457831 475012847 913202919 44832118 791609815 319575630 566255733 440515791 661097676 97996246 75937511 628946335 429362609 62462372 595749726 437856924 717693257 230874217 995569532 826129175 345058805 4792306 950741550 220712406 339431893 588192449 112154510 69768211 638281899 182297796 104128285 596739729 657310642 869847555 641571846 301436808 189423185 60343930 741952598 850520860 158340176 670406461 331983546 587702784 585385184 927733271 25559707 155594792 11123839 21129239 981723966 356182644 25921544 784981867 576895049 217869788 373174316 689049559 140154350 11456214 723863706 244282634 460712295 233690700 114130189 954800492 535127507 156069725 15144422 129596457 859106936 173484597 652519269 191090481 761187380 90420804 971340103 639263439 246015595 982463941 512909029 80255912 338646584 391346924 865237779 768057985 609216712 90928446 309623895 749371061 954901011 33487600 993653695 268129657 267178299 960300235 222930149 654822158 968886311 90590922 784418614 827993246 264075518 289454234 871600078 877779249 379875037 842940180 517042687 625890631 677920472 29951715 558662894 16567056 273814991 276417024 637141392 883031702 367345469 946765286 632402762 174762832 980252885 478572808 442892488 99947536 291389394 665822636 754769693 112792056 756413557 391704658 940785301 873005426 681158891 664901730 750784675 61033927 360358261 120343713 539440909 38278733 2811780 98103802 907362140 276626770 227037178 544503531 12174823 594382646 343785168 644577584 769145477 176554404 975666744 64554317 276501939 119572489 730376952 883787983 232364545 339306861 128008992 25666197 64828638 809167882 690567927 815613312 722718160 50926187 788473377 114675420 89204919 791285156 65295574 849083410 920428277 292332751 246103292 932603099 739231748 589888459 429697034 360893577 766442863 405363777 425447893 42944801 524936266 8341196 779249136 757300810 347648056 907258127 782967006 412476694 568942361 326051284 80606357 144176872 376977471 869079733 258852292 318698741 512881240 176664217 20298503 285825868 468996967 266401794 218428966 60745066 856290253 648126000 421638642 622733115 906006128 847086534 518194267 283458745 855427730 149959754 40759554 55592137 57217881 676242912 468068830 626160241 2294195 401191539 770337112 231788017 122787623 881705755 403003110 635668863 58369971 423301612 921494730 379883289 689703405 992440048 440628355 545993657 493082399 862266996 21243123 399088526 709353530 391953742 682547271 417297611 541913495 575823176 472889747 599131375 104582439 940958577 77807967 959392986 194666467 700661431 43697354 317454089 582367185 446700463 953122951 493253508 870002074 727134033 873136796 559705479 572090432 313765150 958215487 65172830 28548498 979458610 316777707 737902027 223928703 999324977 7715989 765842197 427664505 480605735 217489924 384763295 274080663 295297890 344156280 468747129 995959320 387853634 786201218 430842857 834554096 591840520 924096364 557072522 171490904 649749511 116778000 743581335 963514661 927509838 808754164 992063158 759484799 125531871 582481536 983413501 977373199 590197524 749255698 257554055 70803258 966745621 642317350 197400273 114559862 838989981 666147401 963035534 79359966 452348618 246394742 913914062 44189138 23007457 323502935 68196393 672756967 292797286 811777728 488787979 220307123 473048243 333367488 979791922 451096465 915849023 815721774 280986016 358562898 417493823 538540070 281882508 236755795 33373771 479282780 351315657 872363752 145430180 166867542 951723717 450295150 413262283 718154130 347000639 436269739 41657064 415197031 109026705 186970701 79491110 597814684 407277824 552539353 931182171 239586097 3635817 699547546 55307870 284621832 910626795 325318045 675678254 45025654 562073839 709052024 524308433 913389495 433932127 522254965 80257036 238172196 825066466 346035670 808842677 24583456 782305408 703016093 439780486 891332113 889986793 519271596 341663148 149780968 71810948 125361670 389367064 927963116 677425567 297191286 65101300 588052362 622509330 740779553 633078015 37099520 302347928 9902800 950489015 736280055 384674116 883262402 826968602 209740581 81814424 635811278 234324036 864119831 191343722 526620873 607968295 81330515 45892468 949631442 231111482 970219767 927509464 472994898 750699235 604935030 770186183 815800534 45503743 245211864 556580086 531098110 282311383 858928013 541000909 85316749 447724419 925675024 821095503 127209372 987931956 902909926 763020650 74772343 767029756 954364371 601393215 227514403 888211237 499802035 29662196 119322719 322538153 957171659 444833968 73237387 414623041 67536502 889037920 460126783 312748365 298134357 991224892 447576099 9578722 384742152 532892848 309819492 162933527 206504702 437028864 3381834 109414627 52565865 78154176 728960734 6930235 679547391 956475136 747657824 179349425 986137332 719496894 501887577 943308990 164330861 427641316 210448382 231867362 169195587 670575165 397132078 467329944 514316408 844708176 329425017 751574912 230117375 639244508 914508438 436622076 76273371 917890272 546036702 128839235 996044447 127513788 988285822 528108189 83988923 735943645 707457613 70126254 307956890 61861542 865951596 472287750 489502857 76399977 556671463 658698443 599491493 953803540 978544738 966324253 798511715 307969754 717899164 28629090 947214262 484923953 317767517 876003984 255330576 863804219 4843219 103891375 991318006 845645392 631999563 927823280 434105388 191973528 850465886 742062277 106351421 568933833 66866378 595854277 497850161 623537840 107069071 97341654 577341379 85613809 916182258 228369445 246099914 486597773 109514886 45830527 971521725 427282403 921834511 79368653 143602973 779194081 35776379 987437330 477355824 667775941 915260609 911461211 712265820 618242846 653523487 818617240 187176678 720389864 266987868 685026839 196444055 374056939 634884844 773785433 312187099 403583453 854671229 410803364 890181225 964186115 456633891 714219301 243984869 230984753 793587953 240104193 862695185 829364331 227541522 340051008 349656624 995318482 104028570 61922443 613561328 757552056 733056035 653254357 330458271 43902 190797547 526902325 226617192 825682390 153204109 538804290 81782194 7875337 949607654 971963418 824577803 258757896 686182719 921079023 342259000 332287023 161183215 204954184 14167706 241241088 397521543 216340681 236559570 501550112 130779475 702637249 111618519 863835509 355891605 442076789 863879411 546689152 821495465 90496602 224887893 974699573 481817244 306670087 835091261 283941249 131149856 512185416 395215496 817332574 285780790 737474495 2135949 446964005 942428678 16303654 688205092 192466572 85160686 777281013 694016683 215940160 479918261 805635201 79775669 688326218 100228341 796171431 87531721 921723805 739184384 312419613 748939729 73517979 471606051 436547341 357459227 602755907 948732756 752674722 272604832 87029898 342665568 274740780 533993902 137610597 143560785 74715345 330077168 228721470 851996358 24093850 444661630 184430970 829729050 376953650 872757187 929957390 173125080 960288907 704197546 912309463 125224872 453137274 985827442 596830922 889684615 195803020 52103180 690933722 800994094 324708012 777963619 143659661 599448791 164473872 281270258 595525928 91705569 611347425 824247397 943701926 487957627 121425378 980649247 170203028 498379027 705922786 100160418 524020458 518728044 656874315 288846273 643952915 110011589 127190066 93300189 852212555 322993085 145403368 395662628 123987178 470111379 26142599 120163191 922076522 43132822 253949800 517602449 134838390 865297224 194366197 78540315 205771202 168307927 911705914 375974230 666686953 617628699 328650999 43223763 136356742 985525313 332070035 632826009 948053253 459260100 578642549 652782159 782253184 724045916 48444787 758756714 46673647 927103737 731436256 968750168 970236558 985386055 338868968 105074948 703199630 385751516 36131614 908970832 554059442 947837527 284945061 73262747 417982577 613596059 116486509 406855671 451637723 448556543 892198031 399690976 907816642 470840579 52473134 542586177 47402846 953434272 153859242 94076492 733054360 885295497 915343011 703290918 870681551 106728330 660882217 426397533 492479846 697013830 335368364 46539287 497367709 472829776 119802033 767866637 86425834 88804893 27238659 390579908 537361435 919436689 790270883 445178076 242793619 695260369 987764253 290196465 501210992 141623494 236789308 86781704 879435343 4648671 790072621 602633245 111377000 303471189 29030777 456373197 485018 216915492 355428836 350369078 689745267 327747220 118235715 628687452 416552113 145474373 19267360 953913547 917427414 662054594 251607975 160221032 209831314 91888579 302933848 711042306 86028424 539723156 797824009 965463766 396888178 440412981 420613363 360781529 743884169 449644139 817154726 596885538 666559631 25099913 799770968 208821249 205363484 770523034 837508701 621915596 768513758 856776060 428345495 685941171 371347005 532469821 698678555 581178319 624358399 1612402 144736976 562903174 393851909 942560984 380883292 790740086 235490316 801496654 151521615 831890836 103657144 821192692 281292725 770216774 846292604 81063692 979038023 51656087 851586725 669063075 526088035 472616835 378355486 806949881 11074357 749702490 339419701 709752911 330880808 816294451 711365313 475617783 379197624 105217221 270695118 760080915 748473659 358701785 414093920 899995273 190592620 517751064 573704316 471885345 140484189 272513271 405465388 119522211 176685709 109568465 641101637 702773743 582185299 19457122 362239975 593259655 769159612 701659675 303012566 952556771 370470477 866894230 280690906 749668101 824627802 551386023 362265367 573101460 910087808 776359287 325613084 953196779 146626702 899317399 277598475 287110890 24347021 683063863 259149453 201032730 792632327 900251089 903806472 374817625 919708211 118562799 968077279 541384174 820222473 123606196 346457296 43209302 990500425 627148201 792877402 667644579 31050576 7659120 93262390 941138383 636534758 418875474 746851513 783161459 170709224 24449988 70272349 195056245 707513850 329421801 396088974 352662528 82189241 152411797 727480152 1897451 270974595 548073782 395797976 943713420 524196330 742255272 986922721 367213106 221919824 632316474 34857684 252970399 639975593 128120074 46625133 129026703 399511899 793476646 912188161 570221122 817926633 982460509 617793718 377956834 164398661 13882691 730619361 246587902 18810840 310615864 101001704 142301786 711205997 349316032 86015205 235402326 91571303 72937925 602615432 166007478 557770750 489989467 418977877 50262695 618109540 465603009 179289397 17621438 259079654 91477557 440358912 929522638 926454418 58152629 159995823 90853078 924551672 890615183 189957331 795878863 53747398 143475387 938180648 764953395 492791418 24195853 852872072 436879072 949650129 308003855 602886549 359937231 797993322 21864425 410199925 268619213 487467434 589489321 138757003 599063439 680966877 579115914 528586077 459937646 489784894 688581899 403307076 266852917 431713434 593264406 62731779 337977183 736739792 853428779 102930577 82047561 730140983 808319001 518926632 532307463 116322855 121813181 892244693 914316176 143677605 302444617 35451741 483661390 891933937 174208743 82724829 425417166 753324656 463827257 885354811 95625901 4925507 141178238 214995170 289155292 734442644 130243300 627132475 323698787 983672078 582579403 405746348 713813060 390898403 924672979 98636875 359737610 899002511 990881567 126570137 895196468 145842536 162021877 231374209 37776472 336230619 166615389 315709989 89555274 630442645 53581152 37697527 487884504 194759389 252692696 777039795 781718384 382935995 404172269 105417171 219124425 986751672 363679870 932937484 230166426 140869200 31574358 589904035 39871711 874972277 716474172 787584530 20814812 878496048 18958738 911107635 67243019 185574127 79333976 9314644 668533123 132915127 47012170 156417626 180190867 152221217 933457421 961909251 535157212 190146041 919842773 754281636 29414064 136038994 539735471 112096842 276908193 423826181 702000876 169296255 151314809 270991399 956880784 172129620 2003799 828355874 83237254 69246817 13930000 15087581 78561460 534979474 148002707 125573630 691397100 328193574 130311198 477370872 142619176 665468409 520033264 62461948 272266396 549447328 198500941 664518219 661544169 327925485 88344399 216061396 497221740 92175559 339569147 306618875 264305178 341572945 134974748 200058783 263336113 1421099 215146364 341897572 388916925 215665422 319987553 80314024 543858995 450298751 410201247 686478170 968283511 930234510 601456469 93066259 332198189 799957409 757584477 846258709 127882894 698445227 62320105 477620985 790620785 254405603 636756211 54925962 595978547 624247311 107501096 859314659 478184761 175163811 53728582 867101685 390829233 226232487 799932060 934688227 676531237 62649658 473682749 497331099 992884168 75139217 590397357 177598708 727612978 347981833 23857417 708012223 46427059 938693873 38149559 689564195 45615827 674905769 597006508 641594373 151669431 704507604 353425383 629854192 879671414 259670316 496955876 123016998 485902802 149404288 57705225 14950390 212053945 383904325 512281489 57454464 311559893 102678845 235053172 891689222 303177030 111426940 452217796 202120440 902637164 490367354 891684635 948252990 17789475 488691142 442363714 169458905 45715097 795789096 799313096 777902863 55459411 148785324 900919860 393878565 298189611 811141436 408828954 510243555 47562112 921110442 567698019 359122005 23789287 655267542 103327578 179482668 766694481 555545374 381603107 521847996 45912727 273287741 470100985 916218553 614495235 912464698 85677458 660210331 560770145 737506905 290629545 468745907 738808580 191549405 862624471 36998190 2690840 123969777 399758097 50252952 45080218 819972467 261891308 921385856 475240008 365218885 100868523 94450840 920764258 482471630 616298835 819193337 608275722 938916171 587928241 222770956 703897220 526122050 735497639 117183716 116145307 26127183 585929622 854953886 70192939 301070445 744468428 72883779 425040221 144226524 975653082 322636790 816715342 90060741 244022646 144471701 307795977 197407520 238922540 81076587 679879149 707737726 900269923 140671223 646653896 340714515 363442178 203067467 866836565 98939816 320251182 982981871 977583351 906180803 837935756 47776289 59767599 434920535 973176419 337324171 431663410 801345852 659960961 248378751 891406592 903983606 392850451 51718921 101391125 484289342 132795507 633786626 192027067 33065429 774457848 691197314 226296295 990416377 894264780 93132859 941872545 214515961 76114729 919455895 973213116 766566837 819748535 32980714 54003723 792924954 222821237 485667133 446787157 882782197 734045883 190710101 639282154 979412686 242429021 593189630 463702027 375224527 79492607 508245446 260806307 853950454 199442759 487102601 696883183 93707539 580235460 638755727 160739851 508866540 410727973 133952966 127949728 82992859 19450032 181953451 875917812 94787620 667620583 175221321 977569816 254182817 365931421 616851969 86111854 608360441 62557950 549813881 983584967 142050557 58059326 244391273 996001010 110018436 731493873 545400544 56242326 164245684 36672622 69498529 525628576 447400594 55967846 653578303 530393453 75417877 688048105 258827616 22721848 208185039 434048936 291663 462367856 799980356 469659983 548479709 260857148 532217933 950809941 244442114 674268489 861385618 341349738 522785850 971404054 72843611 68186394 880162731 89605646 104859015 949661259 615234221 404775961 5629105 121328876 935169413 933563333 809376980 46513380 956285181 17562019 333078668 956576843 332446226 133059023 278753178 733442286 246432523 810971110 684252227 490874636 485239598 398154196 832224374 8025447 222074601 757584336 928728192 102237332 699706333 33587207 51898590 167456906 290879519 910044046 288785781 78565283 843607379 950679112 125078662 652408911 820757482 458157329 461502105 5720059 443732704 740255282 739162345 690165226 551226391 275930923 33556213 888982340 674085118 718296938 749524139 896159719 328397625 678252330 998397050 28103958 564355888 902811991 195560863 855235406 665372389 336862995 933800688 361496119 287542106 911395702 13905029 108299588 222069382 475407133 114019646 665802085 68178767 705698342 208483662 619405157 981629264 94556227 360903849 655714382 812853164 110427987 404390452 141250789 641196668 255303853 21871098 58068908 10632195 217431960 913304313 676004583 554294954 699621353 37500701 694353411 463533406 51405729 655169350 685602787 379329214 621705348 203921224 447507980 327403689 412404885 919429488 161549305 506961111 280333336 817263686 172330627 243277674 74170489 313581415 884474342 329474341 335452512 942543249 340106535 405400823 708363913 16111118 959695776 260501617 53611818 506565538 724035022 957533899 161734888 409637809 189379464 783440235 613559032 489403795 963360275 878480268 408833282 124909579 237957731 541682970 794689616 410288357 784960643 868860104 723869771 669434984 198334444 911838634 464494584 538440979 317239456 172858497 407068448 129451583 433360113 313196617 636017120 9911487 123246867 650268359 419549295 312626330 286224945 885624678 802030124 249585220 764104945 63379758 227011150 2062675 605062727 21700766 264867383 242539721 890560869 988737153 911974705 941411665 753092138 228985640 332368995 70331593 401844136 739437442 52299527 687720601 52634058 540832999 697632087 175880925 191101357 117181381 341023606 477326302 855322410 143053730 579427873 471943706 58949839 806439022 326522733 516528917 828139787 591390115 759068637 571217008 432643620 523559693 365145024 185735757 752545333 697514018 108583702 6905820 436951459 13399580 694626420 342101868 554232578 392258506 517982792 745333935 361956238 859006398 75176588 69794999 854576479 654604460 541738705 766042669 313559833 868261437 282571585 141699620 459651551 41640221 565432979 892295170 417716266 930578002 930547279 170261598 480608371 39130980 177167417 917559829 52530559 871793837 112178048 459279489 116568694 630160840 57129775 331041284 341683589 132306362 400836282 48776419 639427173 942574986 814819087 952987005 810836422 949907023 947202976 123004325 844063595 365152306 867815846 261779860 148246659 798363124 284557809 628855029 690010455 461725226 398931209 595057366 186035414 511109257 54336854 155120459 141270096 111466628 486161742 335470036 96289341 886998024 236762806 735716513 829573009 51581892 541219869 492925783 854005266 488422845 468446459 698068860 853575150 336262304 812365072 1821809 987141780 96922880 483193189 529668586 411164457 882124398 124725951 597199870 393233654 31579156 752320329 387020101 995562135 90998422 575006488 944367827 977996445 811769293 532600691 660085806 715867536 73820560 5527940 569872801 414759756 473974398 120458012 120851257 810236701 932823083 122673065 649894832 882262315 458382606 179563418 293426771 340507003 156805720 743142993 586257008 40901228 347979673 973277108 888979714 438978094 400799947 833347541 416974539 212569239 218464583 77060344 928436774 292285142 82588283 350825926 707044897 409079032 323800289 827896154 71832084 109139724 803085570 721726916 991402038 113984527 901290333 137345160 454491529 910612404 880488152 40748536 951513631 228467824 866541995 693009697 667445918 119858293 378873589 936936808 332427531 597338171 866513503 113380656 889623313 801618137 316722933 449184561 210697168 640523222 129597066 282529251 749662945 785198988 4256166 741064982 899183514 758062850 878410141 206191395 521191606 611414645 99456282 325221588 839882468 965998277 18231284 359844737 85856569 397104872 149297896 270800452 994443043 15811398 236697459 736582707 817429534 553420392 38283619 880643053 193943613 20397037 15688656 943606557 805596024 19944821 537187890 704779537 630524023 268114382 910970931 4231980 879529026 10427213 329453567 571927846 828941841 347684851 784288934 767314761 597306074 933586830 890631564 444265468 949398227 127329023 33364526 619344113 680749414 71648145 352503517 727209378 92045181 368192172 523332286 897641204 240653345 60520175 454937092 871177367 181150908 218424375 875409346 913196286 81367939 57379264 337640483 762826131 405064114 121929416 382657243 2370188 55516245 273288807 299152007 857430824 253134181 332516533 329291288 933883594 404164677 681794804 513609323 348726209 49986976 36941608 98883764 143156672 949978134 553820855 14334038 131129041 624761581 742259735 896841678 706129519 799638998 234482160 321472001 57219464 208927928 704129244 912106003 116960524 977418050 211258009 974391347 83068582 543774541 156198986 16952175 800455569 690510142 383077849 149181777 593013469 420019456 248065540 736170140 222513941 654402747 603020529 206159333 279164327 197796615 103001011 837810198 997435612 189999522 159282198 907171427 398927449 863411441 819277429 515887973 693345842 883051790 342795671 776414423 279342682 498994657 645882949 79798251 42021150 28960797 81496379 635034618 301496604 329561919 371204757 524010544 983964665 974225285 730169877 115645343 24538251 685687239 953455540 21973862 875686760 965254090 781661641 274614209 681181882 453455421 790502181 227044076 336507210 133297851 3458498 615849892 484808859 501857799 548164494 526830008 383334947 629660872 14380977 537347903 959222790 385585733 61358446 795703806 212327369 644044674 763865501 236865619 182248264 569837392 111355833 57935024 535091481 893017473 185065584 68789715 198989245 975567764 295833790 535496455 961381966 151808639 3862698 298707177 653666437 552027191 678053536 889517736 34204414 692434513 426865638 993427204 78020245 340740435 641647361 142863966 837301461 258029213 232245936 19549724 827866605 343601768 77484747 215474437 89135592 115066682 284264151 288124837 90634445 580097940 676137643 904532763 731906579 680000340 55756291 238089367 84543882 733809826 127607102 118748295 278760690 406989091 964691850 209297287 747729526 458855563 352161252 437547338 716884775 584407187 457097061 544751379 780525307 387098160 760225816 869660898 502164841 44489966 10302086 445315638 477104258 686439728 202364752 209010836 218956419 110637394 447100202 156016652 844447219 427223656 274764947 123207909 834212746 91973148 185021547 434458623 550828710 537182798 872005960 267713485 974106336 181619373 664981215 754631642 568717532 277723382 476808892 923398724 174729700 339627329 221230713 651833957 26067057 423595464 860844792 97539827 534232857 160461345 253556479 231196428 587685000 380837777 206920688 274414098 472810924 391942234 708872720 23639634 781641383 580878680 143869470 755747718 762498052 808850684 362895712 183731935 86574066 692220955 107130658 261303765 31848283 180877723 913137721 910431691 604473186 626498864 7971518 991222395 639476560 114044348 74935174 79677912 494882124 281855861 354092009 967693047 526314446 62964728 843849032 307955828 496359759 987718501 916219897 111374162 796569185 131631960 295106096 735659602 823852914 254753106 996963366 855701197 435630828 762617438 618649239 892620365 241632653 479137108 883842759 881109212 593181455 958777932 960787123 940579930 93150144 167395483 760789329 619464589 230360211 604638360 779936768 726719969 444873213 696156665 838094131 93958749 827788624 985716578 829618350 504157890 92986035 679098067 212375438 528616862 294231856 831024676 273753579 535864508 310161784 10112689 269490071 755859590 968890621 82793546 696439520 914557116 250189028 309745200 386538057 333065590 914383559 166474824 59785559 211773123 715147840 750396041 305731871 395452816 588628970 135350220 899610705 681615005 814448286 111986142 62748218 108680141 943010817 336501796 497061000 105688952 346614485 619067423 861548542 168021457 701860968 410504413 82578572 804566347 720249612 469116628 137631937 487149522 488107804 49933847 698922645 203255643 652846239 4654515 598708458 241475208 992521087 350835514 923090212 659485724 462821655 985838430 620682217 258348824 174856577 117743216 216554127 521471061 589326990 78102668 689492517 143704309 341123432 772071089 948270656 913889395 93704068 85902592 253555269 581811871 988352790 952477913 637583866 641199028 809648779 88808675 735190587 654686217 439644189 510797151 314171941 902465843 349151932 934854157 13331018 524008508 905113724 229885145 45479569 346957066 160504164 734972085 490661374 354143948 359559525 438932029 268033342 305779945 377350972 521588610 887591815 218220113 326582874 377692032 859419140 988748005 466500707 447126079 643434221 906144895 957923229 810122513 661127089 307075160 597493021 674458107 831083667 355123097 756859603 729079587 702080162 917363766 316568024 192741535 124024065 676127548 484189916 392057407 981907492 861540887 766162368 722015659 79761000 92745242 99707690 791696491 934009598 418724748 91338921 429960170 324869642 49262149 240082683 985996731 208853660 837575703 512971189 39937327 45215151 122347143 621533265 747295312 39710908 938101288 940036847 16251325 466745188 276743114 408308731 301169031 138284000 26987450 23184689 70561351 119732691 975408731 714774194 906258640 246649830 806113114 336218810 571519472 707891615 428817844 410032554 916745274 118909898 775520094 809198952 164125049 897867236 430732217 911420360 790094495 221349856 703973558 806345819 688095043 980716671 67170901 989264074 971517023 94158351 864965114 894594725 66407393 692890196 461885270 972666033 939540026 120514736 161401194 363575849 828406350 590219037 773608402 745151623 709128934 401644847 406866927 873253982 299512082 837599143 784674342 89606576 58948998 341164251 748468747 599560393 321880922 815639647 588824466 145914296 909797997 306305931 40509020 976205390 999196127 502394290 948871422 938736152 622909025 110272615 154828352 303831726 553008003 928436753 48983348 262136936 182597951 308366626 135390918 482110032 145965768 772581611 424232959 57431118 113745861 25218057 509507862 288143134 840857704 98332327 434057429 750655700 257154609 327082801 579377441 256350735 829477090 380765214 47603238 304902466 343554180 202431589 608734191 896562182 983384693 510233890 11215470 165982643 818600516 146606387 500609026 817082635 771704349 924841985 727030104 737966561 950060041 89054317 878626047 643434096 39902995 165199827 246606148 297057604 492282627 825983588 553408338 174276068 206748802 453527928 479178533 550302981 655959516 940429075 299381515 491860561 303179317 310596984 657843203 121779832 309719722 10968581 791378818 81424070 935810565 370925274 671906982 738386957 459979590 403049380 234337405 499882585 568249207 480943552 796940188 60531833 306927139 202864877 234807901 366192292 656392804 566502785 916495273 164868672 506931860 68393139 656729232 810111176 378990122 167088786 784407359 688709843 178057366 428302528 622650264 966384282 651744153 147073597 557287591 111723743 550122977 791624995 464122679 118372183 272568546 113579218 31420367 432012036 168960446 266228267 798204328 825353250 832731052 567215952 842738273 192179263 635609090 351983856 854806790 14599211 519072641 491730500 703309053 549646359 920033027 178475668 516030640 424293532 325549264 73318230 388533626 875672240 717459576 852656304 994044422 990028121 818751873 25464789 274556509 987712318 144209407 72760836 665581919 829456810 639976787 508320191 21636072 128102228 860304046 728959213 142701438 231893039 220689712 698526842 781539397 993239091 877002509 150086388 417532622 202551772 75920970 806066247 78224012 793380545 511238902 924784785 635925018 182507126 802765925 910481526 170219443 799491684 835758713 835801362 628948493 328251851 196637904 503100917 456354078 909458302 84576481 599055515 141351340 305266193 150098708 775407088 151021635 27101216 778009827 568554256 82169339 853930796 227136854 12909702 499827693 590892107 937694487 988269062 773399232 592976763 751266939 943618674 244984798 587025651 631936387 873933291 915277501 681090643 229550559 224147930 590548944 314127039 823203444 584416635 471909583 973302151 212340074 622931217 852919718 990349900 44001824 935089056 696797048 271138677 947998758 49141092 862030783 738209596 37410153 487946366 183702710 641193443 284081392 428687508 80735445 916017778 155137150 996012945 449624772 384687708 72677226 40173715 551331098 895880669 477106701 23240681 721699171 541963126 646171897 427135240 384829378 690173721 362224295 81626425 813828749 162739404 983283868 528375884 900948999 873210372 16322249 84651709 514403814 300403640 513339216 595139258 68937770 668476365 443668554 518562541 905680424 516345779 411252608 457011521 264742799 740875660 332768553 838958321 282838786 978940450 266093560 667668163 521630522 480834206 601810939 187975622 643573610 437611158 716351505 544522608 310821529 732673754 481690668 677741694 885593745 995029883 125397303 954531514 516022599 569065856 325610407 274219374 937927986 589379366 731230895 55187136 330255025 63999447 894145456 465610162 895456248 12755367 133278324 269603121 493589572 587605614 457578743 137163181 25216771 26446599 534202141 188554651 759120352 15892808 866296344 497230449 863439043 991693646 304278314 231977993 413275853 629888720 506197367 203720190 71784437 89944613 258907325 402039462 6460411 153052780 867649623 901916659 165808146 853444299 24036131 659397718 293566264 334131225 649077250 171299387 360577824 183279390 212370389 119698175 51688550 78666733 469444975 915127592 922876730 773723289 147105584 188668935 256128360 653302950 392389124 327912797 743247562 651296449 729952258 749707973 656865580 450118232 504140983 822673726 156078882 380693465 334587795 302161498 714824690 983665044 473460884 75402513 19460786 685831272 47617039 71149335 617014356 517062014 986276926 392407438 143301654 985898861 433592724 399430013 491718163 825981847 727342809 87482076 329794647 309811418 837190048 986660227 759929650 193847382 661850304 768524883 574540847 848954450 70686380 141881888 685135845 396663615 217284400 704596630 82494887 117417790 628262316 552025594 634479803 467055593 796949383 777781456 452954454 230542106 29727821 944672616 909040305 757070629 32154691 91351303 66882047 721861091 78011529 679328048 768224824 592378184 447852930 195282022 293848985 371055662 337163909 978984830 767719276 554448308 536097811 702730514 671866098 164360127 107272460 158862252 631415719 904221842 789160060 936886524 134763948 818887880 734075491 896320604 575958508 618746534 987671906 495356906 193123976 918199787 174684953 961348799 363094322 475054235 156630821 656943307 846109896 493794729 635928136 613829171 900759389 24542298 169076037 425141838 188902424 276348496 584004089 672834495 180570337 225680500 609721018 167850636 44568379 196312861 64171239 473043239 815059394 904359497 968400144 8183369 822559283 143085097 969532167 38169956 470655683 978679339 695113262 316765578 324990420 183557749 783111100 225749808 208100047 952187136 650891645 397002470 228535631 87412085 69836964 261622320 313092585 532074334 429472955 210177315 728387194 346160546 683220553 395962939 103036394 651620697 404146307 925595676 647222145 226194825 963765631 117877827 57390516 511395245 287159756 382380935 694952993 70270855 608130742 903053039 874974343 111538738 152571861 103509973 51467174 74925176 217648644 364559758 606999509 647121599 574737073 187903054 845798496 110473977 583865992 948834889 762094673 840528650 726946916 261833169 66723475 543228898 232227347 124113990 54624142 371903454 359011276 749577135 294690661 967142017 505146525 169665003 931197106 657718385 125691327 982664279 732643561 343339971 199740389 192159421 842977921 774477461 380062475 688776416 884951437 816444818 490127656 499562462 656973468 217074571 613911982 576213294 760303468 846139329 552843635 667443962 70559134 911854910 269537448 365249794 731513278 774683972 534914796 515226735 432402357 513122475 497891013 17562269 856462445 697631401 209721689 551956717 324625213 589784163 93249484 62093002 258745333 583377139 414171815 915718800 800451709 28083796 344448445 413271528 726739476 749808431 80715489 797298610 514179692 202769288 162548403 98209321 977453260 549979551 613436055 262371968 63102025 111327067 279934236 772080821 661474820 489655924 324037537 838616384 79440087 417287020 900709385 190701771 664158 167397551 106420570 653632218 195481347 303385366 919420097 922220822 53193796 852651938 572035783 419889839 55421225 734584186 518099159 32874484 137080088 131535213 147762803 200182112 95378631 427697038 972262932 609369802 917352962 148816820 447986186 849309400 418620191 201211922 40011170 271800700 368609473 998948091 925432917 416607171 154849808 697369365 191344344 60559955 550021302 763380127 480449793 457958879 350480664 998548951 343349714 487560751 130084163 491112517 687742862 77979145 918809554 512522145 687348947 836162515 513855316 987851484 537988266 932475506 41579757 577999435 204276205 410189229 429463877 982225473 826796399 584313684 679594837 18140743 644873638 82132491 634037221 125323430 540091369 984517884 123872380 883441082 472078634 106472894 227069950 12337847 36968391 145879504 377376343 576833689 834558370 891231658 564685172 372546636 823707163 606264928 803062422 880499719 868970509 232526299 862725191 548283259 816839982 394836379 418940353 314229972 329485221 52977573 439553401 869576589 37495456 415942133 605534023 362090441 374931378 832603972 226944639 264416120 830999827 604320981 841249808 665558197 495552638 258451331 890621184 171776152 864716259 693683605 52275870 586203119 778726255 767517412 134486377 448082589 14870143 553426730 762312560 344355363 458920654 54382312 66448304 348932462 470324444 524498678 711022902 697772174 209619001 937967541 962188293 40618828 394804873 803438101 558693376 890357511 61889431 449314559 914650014 779122041 995514515 819442236 217841511 774240770 439475999 352327888 74839710 454346141 758270969 837152269 651217856 217191622 891534580 717666159 566124083 214375376 94681188 129663337 912147549 304300188 920147229 874335841 344919015 314952101 530290293 903612390 57825963 444696076 205443300 972475977 76334468 53474167 644434564 294175979 827714936 83910562 499020218 902554645 390773055 257291186 592223265 41990910 326999159 483757844 612173420 893123242 698133219 706854607 875302930 462797119 11154794 795450158 189649312 208590161 962918610 719939604 112202550 20744573 17152031 170162202 845736901 93486499 223636368 342687816 240178829 903867655 426598377 739199046 658938651 817371431 849006583 251161915 711878692 176005741 587436110 324052111 921645334 138085681 30906717 796948263 600882799 894577863 444914772 790532110 103168023 260349734 362988066 67886924 133610658 380140096 90565477 979347558 326142946 314201844 174551725 418838126 70585850 601150101 10553523 729524500 271037884 859560105 980686414 982916575 35565846 420638876 159485038 809727531 558724556 42908106 459192146 159607354 937485968 904106917 950139464 893170342 16973002 165643881 961057266 150583659 545783976 51622742 129931216 724443274 218340938 156999292 143281399 288926787 758149393 153834922 18451287 881703628 13395026 851654052 717136554 901477223 124809279 876621591 563721106 683533834 772046049 22913251 843141188 562048368 779536519 645797003 455218710 796509521 811440883 268792327 947093179 209741210 172931420 929540747 934184483 243788709 86540038 929982234 532715496 697205782 83817155 403683134 578909409 949728532 107853537 148562315 703722107 232662816 25183905 119959564 916196649 649746305 142872814 611854188 211794673 922409332 110167542 519529734 571435204 774124776 788322060 518528383 983865986 813769831 300585481 770566820 57558540 387125518 553065405 442790387 84331300 489398911 846473520 515757060 291643795 806843408 664319374 995365901 39506223 542019631 115325464 808219224 44282287 110714629 272589763 256076959 885640312 235273657 775606692 457075516 9398432 416445103 828120250 845780769 82731286 128705730 468863941 140289825 368347599 21929345 583080211 305195250 511328256 282070082 820952310 802972050 88913489 337788035 650854302 980936064 732324017 618696117 641671639 776606304 581927097 766777753 32683262 467567408 2051409 660806306 777159275 11449841 929767760 605279524 709746961 12499045 586501605 178610901 5305221 954849204 53056598 588385431 260044453 564384853 722971864 933513114 219873254 664401705 123817501 723243907 497854120 856141517 194456375 139525758 632747820 776383471 758819862 517947434 96467230 760871271 31270091 873626505 624837463 961037850 331422380 187100775 826053247 917923985 365711676 831358467 872773188 418768273 272260250 985333992 835669477 995232113 918847106 55542730 659633817 42664606 631302988 10004288 751322474 825759362 2046397 236586646 602142832 760866259 754534079 698610061 374253881 638320521 424752917 999091343 451874722 756175297 38708469 277927968 674099281 404420144 109286435 399388820 675704768 234063036 237239163 511374244 229295148 8602620 419433325 741445317 51267225 50736312 751449604 655106051 729012025 753496001 891692696 183671208 514362259 498743126 882281269 888616139 137063646 159550537 740223833 588938367 915725833 778932301 719382687 442341465 35868797 681185473 841730284 711573564 915248508 78969447 75464160 144543655 87572066 347413836 738505323 991355643 250666500 489954927 498978045 979678524 95967279 390670740 163349732 610329537 889413865 898147352 351462027 878993862 57697888 944202211 320448580 973423721 575650863 39831266 268281537 611519659 721016738 110011821 175609575 488781597 41497619 103590086 485841604 981586036 451003921 224346926 825458030 701670420 566818204 176952426 681348944 662785482 567623165 697215027 125631370 309553381 595362378 477093396 41063594 505576617 273811958 361512174 331516689 849462821 401343439 599798226 313498831 974876529 562326398 489108405 463658125 456340368 592698490 949499728 290442755 43702411 26363006 115900785 597889182 593181209 145369562 131754477 108483043 712992727 828969503 234114412 875062459 276848232 711207808 916126053 782424849 985019765 277638226 113941537 686998937 531498016 713739762 497768 506374544 128582511 342122524 822549021 584922878 934821014 624565100 875365633 831039776 650928105 843782769 281445309 96625666 989152330 413199786 205108708 554661408 242169288 439223119 429723867 519017520 2947278 198366271 153958720 840483395 476004496 267900256 527482331 7502511 834156370 380496450 366393407 962738880 722618974 41458779 547661758 509956339 666023878 275543742 193512466 169468335 119326510 474957774 266094000 108478839 888157559 323719059 515656599 130326847 762942177 945380465 501860718 618405807 143746735 655819437 458889201 472267582 776236044 838887883 332286444 610392413 219384333 551196202 425647645 942003306 592654980 973309402 304475996 258678858 101369495 497988461 428147192 220696004 972946234 546757543 181691194 861103793 870476601 697347792 843946991 485935129 495244608 198324060 104340935 491507694 706659848 415746487 816291627 482895891 254634370 1094423 945804656 326535054 552290624 371452300 121054711 144945604 197278053 425530706 256140813 298647547 923519166 684288004 371859902 896465399 83561898 553551095 610085543 954038498 103415239 306548885 439973626 451176198 357389296 396830913 942683892 64049143 812577399 611491870 399461386 67211768 612586292 345266041 246263173 164876916 569234692 367317883 162338871 766512744 792848588 418479683 917676642 716367753 102767686 289536543 465349504 38845935 695603989 927951398 992884432 799019227 87016635 285374409 102711777 444405930 682205321 45395668 508455073 494782720 509403889 907916458 414510839 121990181 105698850 660774012 139383448 674933541 28091894 301722318 293962636 673456834 720202000 64155629 242340938 675486037 353692171 707690441 714331971 49296159 488158191 707216402 700831738 575174825 992590810 803543514 19580754 527312483 701455533 380552178 22095202 63375773 140984987 289122392 185365953 246683836 802412755 324749400 774133728 683021001 626471717 68096363 356477834 199190068 132251991 598818771 874676104 338460513 159025564 589008074 240273024 647183754 148740827 793621113 74874930 993847989 449680978 94455683 521160471 3652862 475007861 395772024 67028634 615992847 537410767 252394587 715193035 339823522 429660338 489326762 22844522 56132055 409939477 231838707 107838474 394707819 683173829 982514578 585684684 842199392 424039003 825957707 341899497 572779830 472095171 416774426 419144170 921776148 363746461 940304640 925429009 838754321 188593015 992457642 307263519 726003781 97368580 22456553 918343654 527028918 364299667 793704527 435677324 626755495 25543233 543515797 21463313 561233414 526030374 459664348 255949157 950069377 138138406 597848654 375365558 610233576 867139431 794509727 532009723 230885891 587330718 309955083 922156563 628440084 302412725 81936434 206960216 399781304 104392986 125303870 926810221 321209004 919008396 215003896 947964498 797067981 758519693 821944163 210817746 137066418 134124862 466766902 87135794 272263268 64615555 315017703 882496843 784271338 962043781 267022918 15157228 401890850 576978000 789830143 30330933 879390724 871766576 237291149 131688380 828675913 215111370 911014952 2401269 134119765 126018848 950365766 783704097 884538540 624826280 994521842 21604957 758951142 313805096 961257103 31214409 230937002 128791157 766227603 15208339 90834938 33250520 882881919 345242139 610228520 672712061 375573072 342135595 396994988 465380572 326340326 225670900 680491941 237355278 228072168 667128057 215890477 30954286 303348506 100429016 508296917 150386699 974550324 119764410 464191794 788323778 3495170 695128796 769631287 769722773 710337134 712982576 802973292 445735404 58224714 265718163 118447464 286314137 460370110 367958803 751694708 786710435 593629703 432186648 24065712 674218222 99314705 92472540 705172507 255179562 45417907 65985776 405566260 19968231 185750185 869758054 660808360 189245355 564886849 282955998 958968127 127740334 995938573 614457770 573475738 54163287 880175933 544439553 192993775 193062394 912398356 944688483 979772828 358544410 229391482 856354892 32762631 181222538 948827431 590451490 436402099 994245338 656437265 841968359 866729920 842187449 711726412 380054631 31432803 129129612 663010629 842917281 109386297 658949201 457375051 682862034 565628839 190067335 79817939 758622614 383129728 844732646 555827448 215418907 55793407 785218929 71773798 88556037 966441467 20601229 531523878 402843565 867362918 40477494 97328275 734092837 735181295 809054686 114147467 619130449 790700649 629674447 462047730 900086946 141140000 771939132 435465331 706768838 962006466 515283269 317907803 197652545 212532266 873735250 413071451 268325672 511470531 337361601 209398061 477911997 210479181 740921938 733271913 77842098 633915784 830600188 664451286 369097078 492171225 631115104 988227526 282871874 260789551 302791607 35475171 401929550 74730738 470940501 961214739 889253555 986223770 131638894 939422451 51272387 5374143 205010254 319598059 369361025 542371854 528996119 847273021 752851034 122434408 433061286 830693131 756350191 263661473 347660768 125447268 755832697 978775871 966191146 891220922 92081773 121499104 926696092 494011322 48746194 397636593 307742413 790516100 236376714 439381306 729938551 287649100 297271800 934948804 607247158 666632825 329837009 136243276 366422197 82688042 111194036 799483482 765897524 867544226 63144954 113558291 845507846 671494003 92334161 664215343 415231276 36932286 785714446 341927368 530943607 686976991 592080312 838686019 477493091 828457025 130583676 59947993 968622476 427855476 847413148 428385986 94488300 177250156 417145613 460910496 112454549 528339648 112910330 878352072 395883874 28571635 991910362 93908071 700065637 936760874 758123413 115296913 973693159 396354210 309740632 357153118 83331201 901820943 48355488 413340643 582794319 178939164 473288635 403933146 606794639 173218134 832319131 553799290 350468289 249464744 14709785 462922837 777804391 127620114 193791260 26204616 8708101 38217973 120112686 708773737 974978846 878236098 676587001 801188357 127106660 838843984 10857826 210437860 593181278 59213313 623778502 28491948 90668828 949583488 432425094 549979818 122801621 264744224 103779107 325786261 366725319 971005244 788709097 144529710 951141709 982500356 23250677 959849809 20718328 143363363 521139898 848213525 874115812 50243250 501918233 1222471 889087234 365292410 64176682 482268511 277022075 540471535 510760459 367690902 490055022 943185552 917670720 465372994 60446127 873966178 791159254 427171446 844971421 432384702 424217507 648629482 267401409 299984535 608479290 140636088 295864249 129619187 988849613 22496413 32378789 343284197 23718883 921466022 708576607 940411917 256250884 985598681 480883451 767011342 205805934 823454825 562713245 975993005 288827818 475675724 849959183 79987072 902847169 547446955 364888125 179581027 48592788 632289534 479565561 657072078 772925621 775429810 639207616 614291585 797926222 671586404 957575782 674161456 445568777 518668740 467089724 701819661 356783772 947973175 321347354 415106057 623944351 884060599 391099062 912772168 212252674 93574596 845275591 115099842 493537902 62680068 147197220 542130690 694969601 479279132 51719119 467895221 107225293 690926734 82186806 905151514 215029490 892278939 431829322 660598266 263464030 898919045 214934278 472764153 699408571 536281632 887870209 175869273 272858582 131485622 88641441 485111255 225060217 786433383 452727448 718598119 849113450 599924667 113245160 396599402 79203798 164964278 864494623 38945443 855891011 799197780 944096956 923436852 543993070 228442629 436551470 659973451 979878026 651485747 132737603 531802948 187767378 20607811 707672221 460625959 4609785 648830013 945737213 229670001 287779747 250981012 800784471 136893197 850905678 914029630 386008950 782625828 78993907 103019924 821571270 787401270 902217703 618184577 710838121 298727124 699143558 147389590 958700574 679021583 651391689 943954528 63340882 839159066 817078691 771013102 152301377 821688475 419843114 950554941 51358475 707622861 201535953 704659298 697032409 904957982 618688927 83041358 540100161 550199186 38577634 214187782 337600455 940795336 832372359 900954927 92038812 384032268 900860869 903255737 63053850 552252557 847210265 126394731 243927974 516805307 749924185 248745702 338493781 22283650 199300643 242368607 729906510 253352947 947027904 279455270 158310928 418233183 215012980 698411089 968432368 253590613 912598870 158549174 46902300 597487580 59504100 138941111 981519847 812881320 894713200 897090048 217650228 594439816 876001131 461578202 111245122 478441667 710323903 302255254 500725316 762140897 544623860 83148178 15493843 344168116 362603447 26321123 614917650 430132778 724732211 435866369 683723390 489847432 594415542 583142042 939851364 506435993 574599504 773887562 171833665 469312703 523493962 389483892 63752518 252011444 851062093 27513991 730453110 413902348 329769244 231178425 28559596 726909456 314326602 44053439 71077571 529446401 70374561 538511572 959579178 647623123 974377940 495818920 137470554 421309833 78960961 929838269 927745825 653560464 703725831 99579489 975389519 79736144 341579733 891658388 331747587 45158177 919172379 62200696 459060524 101457974 145895472 487620120 828367429 460222074 384189910 751961351 989668474 454564470 142989274 801764003 102187592 117367213 297582922 92174497 538677045 229060234 874529118 318939222 882620698 430771300 271035062 710526568 510507443 612614794 602184955 842255029 657772971 373873685 904455724 969349846 327848011 50351195 309486317 8731791 363089620 693676226 760693142 205274445 757047 903682415 7038448 102944638 873565980 157137721 47635487 264759376 386197955 774680956 583698597 121335004 205452255 707250011 831861571 715959697 172381156 286562877 410731077 830154126 512952914 167703152 652020324 840800924 70570698 961506640 849532714 433660318 655182866 462742207 491451114 655939912 218940974 351005913 611400902 92506953 508143634 511552740 357266328 746857940 138750047 793481277 868192943 344202301 500731287 552570865 912678349 673112442 691650093 323409425 355782920 204603006 491112576 7803243 45403929 561683273 821826234 747452995 847859942 329525451 210195201 339311056 985465363 429136174 690316968 449382616 374159478 50976953 813451707 731425806 797834892 952201753 377423434 518544186 148920405 878154720 923631402 61598753 403783513 615281495 237524529 612082784 672400852 728637104 472402378 570321133 142836728 294228612 317774127 990696670 623754062 380485679 182524077 461735776 809621853 725357396 763634743 36297682 776334349 577086449 767723487 426685592 381804553 145146920 797746130 530724957 875817991 721377531 592323709 132117856 189175377 829848237 744200639 861576229 411001692 69119369 284413713 406354772 363347980 602187839 249567793 839618393 982673517 432091869 153870521 644811721 9965616 917505263 681109403 786299964 347108064 301349241 65501908 728912616 299012513 863248037 259637573 27346855 437141919 704477633 11981062 478833648 386842222 756181701 192926228 797843913 825301069 477339940 56715036 41165400 79527778 306282828 880783792 914717646 738374696 34654312 412045719 748340312 804675927 945671473 387156627 151783990 99537065 305174886 880696605 398549577 20939274 992850529 278412784 458081193 697328162 290393845 936914840 84170383 46575545 129841067 734530647 724392965 459697358 791245683 618074716 391741487 97528510 351374860 158975484 688419558 238545523 571021202 289276221 43221449 369209026 528949199 47521790 468746091 834124085 928218395 867295667 855063358 773585275 145708450 165660902 323429788 288618647 102575741 260116522 187710543 84933159 994647169 912103508 397146868 638409203 382694575 788888354 588454064 734069434 947863838 129389973 972614957 371401391 271182545 15836405 740610417 800131744 63358195 209356507 634255828 844092941 929168525 341835537 470194567 927393327 507496439 793624355 216011973 462588531 53740876 403722515 400038042 900904396 168342374 797184909 391829950 551036949 586073263 980284014 137622734 386453452 962190338 110237690 757854842 233372883 978590447 498465258 33504626 894464993 560338116 520276805 591074285 489506641 862112341 61268851 269416319 222125131 854893205 485428291 684713662 761150433 741667157 84751703 662054828 910009531 881936611 53884778 313562831 320526225 886685143 451185564 706979676 701391832 413939606 317350870 934764714 392530052 815816127 820785691 139511396 228670595 193578847 730585680 718177235 908207540 791854530 987593553 130332670 499264087 325538195 815046331 112930871 67205351 752314385 774985698 829731233 486767348 681386827 995810415 807293572 420588321 299512331 366789600 121980153 713451936 684140469 909261218 105981987 352472947 582563261 98009734 581143541 628658459 828595413 151837127 536865998 472966294 991947031 519715020 972230380 170001577 187277702 85161250 89723280 939592087 712663300 919454512 426359434 246566478 767781279 86169357 519671151 67293609 305475308 494167655 780745544 989615776 255945224 739243882 194605075 838508484 837253615 628264967 319683295 518365379 780102094 856549292 991331672 624565476 228780663 816078404 794567053 416058365 753756005 884290332 355650451 318935656 656261195 634526236 565502134 424042473 720695592 85173284 343852433 26170900 431857290 124597976 868303027 687802513 716358209 915424453 378827349 406128175 543689420 698510643 924493553 176307865 407576286 768341577 800873340 636356949 584419980 447956744 52415313 190692336 332247075 260582115 509627992 988508270 895108350 75130125 265067094 468320293 12819760 608919527 347007544 297193401 586033854 67826923 984995913 154908415 983251375 363823261 413552941 379457146 62333903 190562846 555765010 322426541 958904422 209154702 958783489 395840753 657111445 11198801 586533088 841874872 124297267 96161079 682899493 19405616 23807555 947966586 487725908 889143666 409402464 834733452 186337066 847952670 902560374 23849331 2861084 738328100 387672591 268930376 117785246 302522846 459493221 526066607 624949386 418397642 735221308 436249226 814238394 244849105 299964378 253287834 86723976 424261644 349448912 622139820 443667259 225772819 422622757 783909518 114916484 832025221 471159321 153769902 532494242 226236046 177619232 387871677 964564146 565291822 656802052 82349391 720331019 116295273 460932349 197796756 387209266 48670009 634045981 53964012 293519113 934010358 307251845 232759440 358272001 656700756 854899259 654455611 882473574 130038367 438365129 849906410 962063587 909524449 3676311 347074180 135760495 181295542 734945856 952840992 599103715 391747908 887706734 319434734 360559532 348639082 517231489 747768797 397309090 3793822 801732808 543344554 937804179 108984652 776103993 148592532 618201760 483519603 803048142 353191685 613557970 93929622 203098094 428137908 3454071 59290756 775212088 991730917 240586297 362674295 797088260 839690012 754422202 684794993 11641097 114981733 885950426 381388937 715266882 135775868 385182758 516999689 679120421 322986937 478500693 307740766 471579468 96702452 791260368 127143961 449894136 257334689 221073583 505508582 537988949 77044005 564799337 165717388 68774921 805385634 528391682 718379532 497591997 135330236 255690876 361749445 102828320 141641301 743138381 818095201 277417168 128321139 187611242 956537589 303824427 666111934 116794706 775403894 762814385 908055073 902547854 65224872 17906114 123621436 570733453 555895062 53181792 135532790 721612449 121956712 793434775 102520482 692852595 143543123 237850717 948543470 505292567 340679037 90184771 100947299 158774237 220118290 229268437 346385478 29172230 533092863 12497411 145966935 161013108 627828147 906538360 916077314 545569371 924444473 892215101 116302823 332855886 945396893 104351964 906984686 919869956 750303090 9505167 612722551 746362564 247355884 413782372 104171482 588034920 356483494 205118781 599325508 576601784 434387217 945710986 458290365 819996432 810724748 604257300 981009539 291069247 363312011 749603204 836638617 140272835 641818305 805457791 473128720 439731549 762326107 232629757 359601504 365145548 242134923 824840406 111508112 342007158 238622778 68195945 930042077 595106271 273314725 381883937 24224406 707701942 180111274 482514771 380214725 990836021 939288422 213740615 134421619 302600432 963343819 823576587 442873266 457678475 481550730 768518337 897410023 96393188 1148093 109527878 461538735 95799367 934368284 425563198 437806525 25507413 493759143 220364953 620613683 767073867 602248889 497354441 327292160 782360162 979869211 707506884 625712535 771673984 921247499 760134153 74274415 737107669 436227092 369664032 194786143 917777821 138182368 92196165 14171008 991846812 54240394 328226094 87646178 988608677 753789292 525452702 14116089 100064786 745817655 487246124 719655004 200582895 984600564 46947164 982943057 816986126 606970399 608655591 588660109 380734249 221306095 515450875 117841917 657533186 737631258 165144411 427827358 728329977 109856927 441998365 720176788 164097321 770224459 660339317 5222349 376530102 38308371 19338438 329111239 784126025 506584561 48766242 984708919 343701476 948229757 820168327 160687601 407716508 281340269 601864061 788450756 502646364 117314935 758809025 12695901 707462544 776469787 440523259 435792520 886326714 735037975 8485659 902940386 357778785 668824975 908162734 734308886 707133345 927501171 63420124 343775721 286602083 964702718 181000992 630303558 912932474 1169318 643507510 173165333 135025939 245371570 961616089 637672302 215202856 572941465 502884554 922665399 201927603 943407812 210974270 88254316 530962139 71976280 843711053 888740923 740801255 751873787 475566161 300450951 531891309 391502636 496743024 671009744 356205353 677744015 153829653 121654179 531429684 797337163 294819511 666455622 42708732 108951951 156644275 110427940 534409767 659528829 885609690 736337370 455452992 96583960 677108037 986415130 21076591 520819090 727672405 761877845 125209228 203238565 914845148 509616888 594741200 411588171 180626631 803462905 941848537 334456284 925117083 325794572 131793446 72452945 992250194 27018529 33921248 1410820 989962820 568331014 513456000 875572510 304668383 968908992 824672821 981776420 807840473 845749411 355111861 388029229 460143608 332837440 591267793 227505107 842454327 38525345 639093277 23080958 841988249 433458165 210053593 619621683 759252736 194363390 544590979 604019281 73898270 578512226 605430101 63861090 146843240 118886100 791949951 304027974 940311443 469139123 138320745 600668268 167404885 493432605 988697496 480064844 826270044 432481641 707569950 521240723 323523337 199179578 396838032 18027937 632637742 606891624 637649619 391890478 653771365 34756949 995909758 727669634 613269175 453856210 644047075 760112414 425258662 288513377 64140387 218086456 610168851 54977484 671271075 777573736 548410088 512484923 110154931 227196484 944966563 817724881 748437206 121006251 16904458 145275237 139034187 649542200 604683212 776683805 893949029 110970928 811440753 742375138 838640561 277226279 48747700 335203988 37338692 474006361 476233716 953995431 544609168 86402567 8972914 215880243 716492654 409899353 728365165 826647584 489612188 525848079 644372464 90565745 646854329 513793274 88357333 785888515 15851825 693040544 415088671 909800853 804011471 79045775 652175990 495168384 356272054 700923689 682888723 246127097 27446401 159122438 52638879 572055569 98041356 914128144 640452163 814534009 176543849 221333679 641181593 666156036 747181757 138070408 756721781 246552437 651863681 845079113 884957303 667715505 390636009 152562325 430032709 47163831 231608099 82208699 542332214 440396504 635648739 77737288 686523601 515611492 236859726 591678831 87667060 334901081 505806975 580635574 1951442 682350823 801969252 643133034 201023210 401667360 633719793 957744990 648219796 138099826 802824103 385693450 805815330 45976463 538255774 88364391 93140293 769863872 23089441 635472507 62776728 658738179 713209794 749300328 26866022 802585871 193495510 114533081 137486952 699302484 547685006 139438393 234169658 349654257 635087778 435192868 751321616 121323922 245454209 252057763 259423747 48278311 637751212 65239077 94254773 28523337 6119819 39911418 798387209 29209259 675383924 861163936 687947437 241110069 462980615 714813459 43695940 656476124 681862891 33699243 208294960 82064249 25653987 294980969 431718505 513258116 730173836 35556473 634582037 975628045 140130587 894005784 876422707 777881799 811761212 823193832 806405135 817881030 863105249 457308695 847090288 391005524 170988982 387554076 484631944 486485948 954883886 380844235 142962072 489263129 267059829 203773383 571327377 145230167 498754351 3045881 658488282 81444539 891118705 145586671 909588935 31249292 892108806 638527993 661647442 556386369 314238176 320568928 226783750 29859776 777877623 73874037 420865299 801382956 313944464 905497243 287868904 121344702 138857829 283347327 610607830 405917658 339637061 181935206 551147824 838391411 37497438 62152458 772352301 928616143 207739128 681941235 812381786 99847933 172985580 474029227 508750653 487223755 794598154 735534402 517083531 424992128 661924790 937948829 78891436 975869253 695962423 366760339 97213954 834820252 502624017 560338135 93254261 842261077 742273340 644402084 533168839 632287130 706554541 305521140 413419624 914293668 839978726 225801409 866657952 12964305 552346987 227924956 500188060 199461492 963459357 17271590 624453620 625384146 807736770 703345055 453769751 356215545 922621745 403500056 43552148 425245761 963838191 136806408 120023189 558627882 781208491 653192027 43431363 340279384 958713166 456850986 107089403 651208244 682652394 973747355 664172548 87515732 54188662 16876959 286977224 17648019 886664900 911430843 495548516 546918022 467292249 949318266 903133566 242430345 205334674 799202065 667676105 21689216 936008472 787699293 432833449 569733314 293407671 476264812 910012697 104637189 933115797 17102100 755845432 468284543 843365806 272534331 555800274 897554467 289411290 842777497 767718837 28592541 606724691 263267353 575510562 74016939 65101970 331160479 168963635 122952995 130362543 836639739 144642210 918887366 476855383 577475659 341137032 770263054 53740470 103666080 874900242 839372618 120768179 483262025 307657160 816650336 755796355 863457434 566721155 45207644 558751282 186956343 73800185 165475973 450223695 501827098 92009263 367842017 832987577 260972898 490795011 963350119 950128988 635437221 734753837 279500723 65429231 75890868 49763776 971686052 179556947 777180369 811058669 152841478 112958745 971232181 822008165 868755099 687205966 241245671 766479095 245957247 428202014 692795631 263949571 878425708 194622728 355958834 98784076 27610304 469448083 589579087 843476775 419577070 77532659 430746963 699077792 142961889 506637830 601357919 114647940 538711128 231054639 778222960 691552605 344013383 601971492 366077122 65284834 289177457 607322792 831763928 387651056 35524805 524559558 651600626 766466865 571698637 7559459 865250940 451825293 329523893 454830026 147818419 749100963 532362684 578565381 300695106 527840924 85203210 754569377 495005215 476430689 985624015 125744527 20499646 182153750 727716018 386576767 247438583 16893475 993899558 79202510 257060882 29424363 456278419 908661507 648407579 27977055 768737318 513658518 332318699 98261210 821004896 480137117 699878524 205883931 58702497 573630 733724855 996422058 607659358 228730069 472852747 445799724 354474595 493352392 627953473 82190613 879929158 727908407 951600439 726345067 659627268 61177672 608285781 115905686 969839178 256693359 996399093 738576495 622868229 181234143 689354057 443873124 661371260 389232580 649757054 720073756 242322561 235998260 569012166 849981918 464728329 41864912 148297994 671719275 387733655 776251466 606426239 120179164 356676225 410543029 846524230 16303492 471720700 307326363 984725530 441559878 564019721 833640974 32652724 39404301 14875116 722006780 483277424 676246375 963755712 985550830 248836483 58594624 221549089 817848648 908576542 538793769 712229911 56874535 210513044 952479917 685642352 816939282 72659080 42318576 79998663 771699661 911138420 551719362 79026023 895863949 993279239 495562096 582021274 878448315 534966396 596896389 452971446 870760172 125659116 416727157 856311001 227011950 475321781 930376441 44860597 236414674 469170210 609606859 145805560 532199605 414603127 683964263 201655238 339778558 578799191 281653900 111478218 489937610 833373262 43020593 238317910 679168852 391099040 820339183 557617166 778581787 269751923 10588612 649341958 247927390 279832120 358169310 474939339 607670252 141062103 372316287 844084925 610232312 981923145 842406836 142431916 249042623 526371099 196603505 588821180 105170289 478257405 552815750 447624250 311630666 448352694 538458511 990799517 839451733 211314045 400933035 470549871 481065967 264037998 119891829 728993357 396386469 330577490 56449047 4056721 471639592 428765334 700657997 934388255 263204830 543064833 929336522 512247453 921952283 125940027 101068632 879638923 604197431 653884381 179779524 768344448 102237074 718238034 611660316 794205158 929552078 12593350 117271381 263134396 129147699 89679561 992127752 525534168 420257050 48576799 382107240 744412994 329858484 82765236 678801248 593063313 478346420 460654122 105310765 400298702 586594148 58895749 132453976 43307930 712780129 312233499 811652377 667533555 30471532 275829044 314255064 960023609 140938746 431526444 75674357 270086444 521206004 67802108 648136963 793979406 968895258 30244202 538392399 151270093 113009438 69709998 744333406 443872209 530364119 849644170 844170911 969474618 908539918 976624886 12782547 473836399 141374737 676951275 993886305 171846268 952780319 160657720 984386229 93719064 592184164 60060585 216321859 965906519 980379044 864458822 759885924 801790654 747219375 150794674 953060746 712745164 73021024 697394151 156617373 603385142 399554673 853304635 425376112 160610942 682445872 290675010 486963692 823820608 967626285 480849996 995666876 772922955 641507716 832569456 719158370 86208231 892630040 787996580 52114749 725525435 504971753 664517025 527316088 252191128 667828050 332893186 964936291 740849073 30287336 974070015 196750567 282358360 827374649 622126678 295485654 362336873 912801687 782449345 186157480 732944323 115815693 34340707 358383629 757323408 866910162 77541998 696047990 612056553 718054930 600679090 190098340 223026682 117712466 717414427 327734161 785540516 50307612 145186804 526389588 933111300 119256818 723140154 67986011 799147819 197783183 363471664 161484691 110584870 145921009 200158522 843529192 114253053 234499229 54429173 871576460 953925742 131971170 420140801 418498647 702542451 20819890 608596986 925569133 138532356 178527764 105819645 924072871 81351728 251006448 302978810 14463027 370263266 878635316 934965389 21927436 76418498 150953405 183412126 39519719 149390765 383570647 883048911 263643817 470586227 937478083 135220276 424511969 921965604 407877428 843010615 477024407 428697317 304123952 255109891 419746024 482651715 360929535 196335246 564003442 611935983 499314056 430982820 982199248 230465723 365948209 4126683 306884220 516901613 40055160 346403939 666292377 276142158 81969201 929936193 746728385 871963635 917672820 23756705 646445590 178066599 866767319 123469996 606763915 23407622 378579886 26509939 506059336 739509421 75361536 70062778 203961755 574675591 501045597 38677354 805141313 719510157 42804036 964541885 88928121 935375547 163462175 755220497 211517704 245431375 537673041 958246088 117395009 307862212 982002792 616356950 485928810 701286462 739826946 945209077 724694083 970923183 824235367 83269771 562948955 899596902 153332548 766910709 326788845 506894496 805588062 131930157 226404653 700908449 948988393 315332773 636283995 112450567 923069622 700318051 210398293 313259014 511080490 180309653 621121226 345599634 796666603 959566387 46886095 389009900 904775463 624096530 359933082 581527181 707366300 922882037 481124083 713215199 542309097 807912927 220109694 347897159 792359435 299030698 48805607 593864180 614363471 537605954 706314746 389949444 90440356 916713039 703208457 601520845 97022691 176846034 947120478 746205645 136412421 846522925 135215544 893704235 323135806 347664978 475231416 30502105 123063366 808871850 596233655 665372462 469301128 816343348 13269620 114176914 115374046 914591579 708041093 582253868 304713884 266872191 972203311 395154239 36101581 527928119 996675083 133124271 704774153 796311913 731846268 841186573 642834837 867061811 587407159 965970642 67243140 62638574 848989098 190306505 724026775 297739104 855678967 193327902 114082451 721464938 307504816 81972848 488572868 15545908 516743067 793286751 134934450 341462729 40957341 171036030 869390848 890148776 156676653 426681352 686460688 888522920 120384276 181811876 608101082 707791434 298869 675344222 622946360 701804318 865650726 346973134 999543421 721329692 392817388 966142223 295310982 700322203 900631423 783883849 568384462 269890841 429686952 703318912 611353570 470644292 874354941 333260769 213309419 31031593 759942120 899770106 772070864 880326395 934098333 380171946 440634180 934397201 55516167 63580539 488717870 773683244 263070025 488261290 347529288 655887412 306919865 642840269 208725966 207551287 426724117 777110427 477442127 856411068 332945690 941312048 179571712 59816983 127089168 392881130 943364927 887031287 145167588 715435791 619874033 79265920 948124088 60508213 866179473 856156606 976605103 207413694 629839849 239675127 695674984 977369136 895562538 2594848 472725756 104288503 62662486 899449873 733915282 392620964 608377292 919377323 333933012 640465355 979194305 461022179 33346485 775075584 200569818 31030424 343027726 672960202 962812695 291151813 585984766 681508519 147308418 562589869 888922213 629664618 654781347 437113548 459550106 402860237 292224747 932275861 359665091 354887232 684242085 93580372 747508195 145135729 865474047 933957558 785601083 697184703 247496089 671463919 472260286 448065906 555010694 815288011 121026107 517823389 958956175 559527225 51848259 958780944 122117093 940770471 440961914 629414791 377884018 900512019 32275027 670108764 685304231 391940118 877512347 222062668 338036841 477536894 219714748 56027239 411494451 5315830 753211942 658990539 529296101 77988579 959572796 84306794 893276590 933115255 454646534 704749116 492642479 506494793 663530060 467275923 299781615 104491973 96690713 677665633 857520343 981482092 200290748 395340925 225938561 77803095 469919944 563975401 407856340 689634691 620002640 819350790 547466873 225730933 330857681 76762973 303719511 142946828 13586118 49512452 76062082 320749004 754261568 421220912 679760148 270307979 888496834 979541762 227316303 837703899 509723746 84836645 671702342 710014494 332693921 897640902 640333940 802613865 314132654 48190279 344764907 934135293 720057420 892231779 12382577 903431452 821511103 316102088 46378280 687613573 365614539 122440361 8362576 119876106 396177625 540639075 390184084 137190810 520180836 617500386 974894708 29904582 554853382 499113401 592435427 740063655 396754302 85285718 395193871 710886956 985992348 739958777 497538600 558566119 632190556 509921177 461997571 306218010 826023264 360892202 993831582 44154154 335848914 854710509 164030260 732026538 395349583 406730695 869217348 768046771 24231081 696628407 650467704 431600814 195741808 95419482 24180820 445012461 180705199 419374690 8415768 19213898 159333467 505954368 577780016 644040374 868391896 39777586 950258383 546931511 253186139 944089965 591085664 589035053 651316825 755115923 321061590 46666408 14362970 42795289 667229530 38594050 739423696 317697233 322711215 935165503 413116714 346892035 232694315 446338264 766266724 241110083 465552161 778116542 747064450 43332176 422156915 467972697 935626114 224931650 14904207 188812252 21537966 605989870 777847304 672854790 213622145 951425246 572037549 227985114 994220534 239267078 119095515 733644229 409480662 294323081 521326083 822597375 641215115 754020398 121451990 259998191 995130480 587004150 38114732 594711281 630336326 312787999 62683977 418478791 537719648 930104535 607291042 559257613 388610756 237654698 84628754 602232900 41596295 656666303 682734365 35816828 895933380 801829879 621977409 157930394 96152960 143303491 980527768 589884426 749840240 101979758 702398968 597487071 541500259 593030052 44714703 24352936 905818050 959915031 442831726 296054049 890019565 50122768 707828013 131146673 140293817 792456766 733379572 181890111 449123068 268630289 70223290 197572800 70460167 692200698 355503193 19129478 688020541 188547312 461530256 290377132 143043421 16445575 887864203 684543680 609475626 785095257 708896615 367810027 745010288 4244693 663864075 487546204 54367460 224208439 618692876 47177628 16665205 204588800 81584090 318304624 473219088 151807379 515877423 396195606 844008077 723896967 267841436 532028617 912444279 581888043 822405748 908004051 598333617 562786302 445064082 207809243 200397911 6477049 575619269 945408198 10721741 91999696 285470753 65089200 316208134 756679981 964783179 185389690 961268780 46367268 503694314 287004219 198174646 19571736 535716176 42182722 595985055 803557611 426727690 360945685 237962005 101649790 268949735 836295622 516952443 714013817 44104864 717350353 720490865 472240484 515274902 731212605 416756531 800745655 648818156 732964665 409941987 466117686 918354354 223727118 512484953 274565019 510731336 563175950 146653107 46447511 457875024 742638161 702521474 884602713 103583845 940483478 838768854 225049931 629295451 355721297 939063747 525916666 73071649 512070963 998157150 440862903 95799919 267430032 94124909 597134426 394696 504066895 63252111 771265402 727794012 428253415 45830420 91041699 991429365 44999878 137489209 449304388 787638038 692527034 186423452 891221882 485526864 25192306 116271813 114822314 233429954 907851911 493255332 159017954 272439226 343928833 599880856 220755496 611358864 694005764 817889922 464269912 50589010 881142032 88051665 778383021 161911799 133882084 869424719 153341163 31398314 859430280 455161902 819036351 404473665 641585353 562774585 890000528 519294010 531562749 857339194 605240315 291931011 203110877 764258269 564370236 547039709 216655476 785125732 158398572 763177592 455532005 622668483 813766601 189190388 710720147 592149622 351102186 697118583 314090692 504443348 728516896 173520971 959605249 400069598 577994636 453706954 962844182 320511515 825517315 494406930 30367060 430757630 786337941 233477936 47532250 203224528 780517644 116704077 840866611 791432568 879881668 296398615 266617402 693648269 485589003 977337549 138314242 836691188 526972483 452404933 193650888 108005730 478442256 5772488 508075327 56436891 311995793 323435861 229464757 137513108 817842790 112348169 420787089 456697082 345826104 468319338 512437962 978860100 585023414 353304572 770292667 317421434 502219539 36910068 11069702 987808541 866763968 1900295 677016080 246252802 306821579 723183319 206774883 785263834 728955807 714850210 694217076 40951599 38286070 923681833 30981058 708645211 36030001 451768146 17858645 234372456 772603835 530296606 65748907 210143601 736117529 836041573 527565034 238337067 725467993 391151087 78661959 444748312 393051381 608194391 543517466 699872959 331377709 750292348 337653145 912849867 317658909 31870220 806317818 208461330 808068404 837298875 917106541 696614756 141583373 787481537 930987212 914187207 170294494 996736118 124330807 906412022 685294043 504412192 144749089 263278387 895563278 75927399 560543050 141131010 684121789 104060515 841003969 868015850 854352863 31173465 780865716 24528123 63043684 439699885 232989453 871112088 129515112 2612345 420243195 271098484 790093881 203746758 37802042 960388374 52999228 14649201 866800395 738293270 519061392 864065835 854088008 267141022 792509586 414631057 408272031 329147726 371207924 101792351 197163575 78077138 132965815 830545643 102605260 196009499 270245527 335594712 919637938 399760638 338207056 339881132 523375473 128300936 543627890 561177515 88689309 596627117 428343067 808006056 187436738 947404458 524588242 41524745 67061831 169614179 308672153 475333862 498761905 679880076 577126212 695925479 757957213 710092027 378987473 860562473 906101525 649233000 48673536 678255814 901509989 386880592 18136945 424885462 515181527 414281186 838579328 456387188 863424654 266922394 116909595 50861391 66843203 494014188 944902487 133905034 663628367 106090992 609238895 162390271 638487419 38881458 710832101 248960984 748973484 89819574 109523456 507591360 591568925 10713343 185847173 493078913 397593934 56500470 770480726 912775461 323298007 609060053 221679000 186722661 728498798 191104946 90100403 795342001 685119133 887519242 781763386 348747499 993610233 243518632 363654121 484614003 282400089 74486222 733574986 31373573 16822147 695614793 538964932 608391071 706328136 577328457 101469983 103922069 633828926 724467061 869213881 957126932 186043465 90892880 996365944 914542263 134514177 86466347 562400615 819633310 826501940 344164000 20897160 672628524 587682631 384551281 157242526 870082719 459037502 890817512 753972643 475859648 438948656 145453927 84250718 145276791 722782383 38237052 101715212 209127660 615220464 970929092 18770943 801263929 914338324 15136887 715806191 48852500 954119585 130723157 868485809 780621524 474887156 889382969 305766399 915086138 126450601 463008924 637685208 585488102 206342787 391657851 913864101 645291443 537111777 850631170 643084585 112410511 741384573 744799796 321538170 356605037 715728888 340309112 10385317 482583563 355445998 726191507 531436062 162081934 856914663 252438223 942703457 184318170 994337543 100986207 99404307 120788143 563995131 589605866 558792596 622854269 981263716 472656696 120662063 370891844 175804217 763746648 483302354 917188789 508546443 804840523 126310177 76791682 145149635 136695493 559375244 353111984 862886999 943327658 515193918 572318013 48282232 310413726 609152534 42619774 411399933 561073192 15924268 827911415 150679058 574716863 450765683 984459125 47373558 571427746 207867321 75694126 187690745 691169674 992882914 696237187 348526549 119193091 625545221 346192535 255888583 37436816 551820870 971291934 980764473 67014787 396126298 29046704 229944865 5278832 71666477 493861149 566352023 87590744 321772563 569547432 514823958 625054597 554006557 414713867 48998694 761873877 490407992 236689438 305559902 483290906 932926625 506602802 455000348 410988197 852795336 710888930 448425012 257132558 534697215 429189485 176663696 930823513 310752540 406608560 936102344 234935369 900469708 354970718 175042464 74758622 924518150 689866422 699813219 331041058 104580288 748811912 945431286 594988280 985501350 103507539 930795537 770944326 610110341 385795884 34448874 315422028 949201165 482873885 572554585 483898380 912063369 749218281 267238244 75332261 8343192 55856939 310267629 908812900 410827656 485310092 836087873 187862157 175176513 388417443 371419566 132273153 137229355 316850851 727261432 975247056 420358390 510573320 598707733 30468730 896369203 633156606 198407109 698086719 116030490 770961694 34501450 880610211 520179974 301739693 955942471 528523165 357596631 118726451 289852416 768424287 604036542 125940289 808802795 779213055 366874083 180222361 911486207 356619789 349589563 491263990 184383196 769947952 1837309 783090928 652933033 750722863 268763885 851340142 301325933 237310727 474818187 335827383 970437289 994998160 637567075 778896111 376037676 995163706 897622561 518406444 616104344 501659102 496863084 424907138 133388508 863737166 457645850 897391066 220356955 807235413 241171407 404740150 429699716 95525067 40347430 82632749 846247929 161627666 786489242 90214 398938392 113823780 335917596 221892032 108821939 973484670 788142 337375966 968648375 898410702 855782409 437269070 252586156 205161844 862176208 238491015 68899010 172338409 135882081 141772316 979573821 377053487 546512465 409273537 472578554 439376246 344422637 171342834 601003912 983428230 171433047 999942303 97252009 507350642 74350687 58590299 333351664 75138828 248482616 154516390 826065882 104265025 591785460 78652037 161943220 306478019 169659403 230842229 478816427 305541483 372614544 458390248 535111322 771643361 720180136 7689875 211019606 64602772 31549060 812023517 900547353 55498459 664482172 997799361 562849100 738832858 908906011 896200763 666488037 157388626 50717153 492553918 114170002 495018964 423722306 276113222 801496982 593381709 359471802 280313408 751439543 732086346 591220007 286550864 356246058 311400142 146757090 567265663 228519265 30822502 231805532 129066617 86320960 748804055 979382329 649170059 340153264 740804691 397887174 6641300 898193317 301120678 351711570 864879670 796139641 775433875 140992891 450152974 221331935 352981045 730466381 972771478 85067390 174202740 111838693 293829799 485602881 111112135 861095461 566638498 141934636 945417344 548221466 228255595 694221398 380120147 877425653 34374661 120924837 127829178 893532313 871634505 281466207 245243882 736514175 77605847 873194108 730023417 380275172 94526043 83004461 110741553 919813872 20588202 137460644 884168916 166934352 623063524 995281050 28029813 42218373 137215685 825963508 590439839 365471279 372701258 970559985 95413284 259592270 91484821 75758813 153124582 815635678 357225020 250884815 404666204 287347218 124078923 134689620 667622390 71121317 70210433 630880294 843451540 943314986 768340937 727620455 110249338 243920812 575417857 990795502 286139185 712633541 669275361 876579023 930621172 41976618 847139007 26034455 301568888 791140179 101793267 307209821 459292208 311534638 558094636 863958411 598881856 682173558 851164383 266504245 605811226 773891167 897384538 449262765 569722504 518241826 29399571 532488193 762162637 604817427 375800046 48301821 169967320 45075407 924880843 100588491 87052024 624536201 979139297 241137263 268192732 933448915 548347084 727484939 97499905 106441719 443959702 696381760 641131628 295124084 962886004 99459205 69015250 712786893 548721969 491254105 83545070 430637891 23742298 845707706 35455318 399542343 894009527 57938989 297134101 671406721 11043831 236702477 148459274 842699479 477839739 269168357 628664745 878703174 996653295 726164649 837661244 293129348 422546408 331309223 588253431 237948763 430768427 509785032 803252007 979490395 1039137 886797076 262644638 877297786 732504782 150616307 129356480 479030660 208555295 426490581 2953732 72115477 663193057 3929357 914814955 141032795 273097713 543479699 872252321 122267360 122160700 709913564 415396707 544707107 41222787 3650138 635172222 324507565 365951521 438424228 156514312 219507009 177737656 419158949 96804794 910242437 569775255 78677626 241789448 778330549 505168206 97259531 850446025 168361262 101188888 617777331 161910408 374286600 13773381 34162728 496553959 135934080 596592644 911950666 680641187 490331782 768117155 168329760 814839346 134068675 606753987 971353657 206092036 784491642 243028957 155413181 547250430 812804211 234090806 641556229 443651111 739259011 738815760 146613487 760136624 840004647 764390817 922047032 214291246 778164198 808726111 710845205 914098277 257835106 475312222 447255815 600683239 243429376 615585574 268038937 230014402 74855913 91908945 288622789 859347554 334937902 444035970 259114336 147742112 530643127 900670564 591393223 122418490 492002675 738006709 882555113 332007321 354913878 657118496 398814919 133078075 318360959 109660123 47176351 576196064 437488696 346948518 29395655 680918071 962534091 297434591 763448824 37390003 389343535 52071613 749253909 724281436 348623934 8368244 872023548 879267060 761555159 315933122 1685549 106074186 906456182 884240662 438081506 261370059 393875509 836896424 246964485 712236467 799072898 146657188 140948883 89077945 493605705 170344537 769996015 456139795 467779127 385961191 346046150 857122661 438032803 95300058 581404097 786656736 956184653 305943996 518440147 570256163 474393469 520125696 676330348 380849650 256882709 114411854 494736061 650758217 803824629 741700545 215511036 455413879 888357732 356459918 544491823 381963436 526804454 167004190 690619583 994583580 552965380 36665732 851706240 843514534 131965789 285626688 482687621 940666793 444087035 1127767 510922955 918480503 373769814 39769655 151846505 630652522 6697860 646582565 133927091 810522488 388283109 349438126 118452718 129157193 705898043 515460893 511120628 85218848 682465082 54256562 79802427 87946813 90922293 784025018 931461346 75404433 69651706 266665318 16071225 366255092 267793084 379510532 284735595 641562898 419280186 436582099 124731771 425978045 83164663 111175213 89016884 323964123 460613338 59985954 453121315 19027732 575446846 816758295 104246579 110428279 871014856 36565357 198375091 961937149 820590375 982352788 889857933 742758432 249018105 758445510 109013523 369327540 137956041 246265469 10890437 409752578 682847567 988138560 688246974 618528581 99313772 777263857 795009056 412443462 837249810 100646722 431471193 265213007 917405016 388234124 375641285 788419872 424799480 574016375 602873372 245389854 408885514 345247656 988148285 657903618 103693165 949678160 27231158 94165557 195943628 890637946 356434486 731307547 731292857 44681459 202352479 830606629 674461668 997361534 95566442 364227829 98008256 527037634 629440836 15413271 915271757 5082120 656349494 192587589 431614847 111739217 437977442 840500360 456986873 278642079 350920330 413196389 80836590 230667839 507361946 276780217 121305784 863796431 8087763 705114993 760994242 62956594 388237973 435455909 60318127 483804414 799683737 10842734 10842047 281640924 26256005 778630156 286723044 535121850 971217744 718337890 499377419 261711537 411354601 956364291 392869967 762274930 222077031 473706556 992942768 729438976 750486773 966764904 445751759 611090887 671879896 59262352 674047480 60117868 494718260 586881959 396438633 146918348 597724692 259797031 428559272 476497048 38427186 567798667 11618898 862161281 138652908 363512668 976389170 550007508 172393310 369259136 312282438 394470340 842965692 157741557 123909316 445968816 124506460 422177426 909576054 648902707 481439777 436139886 561536926 828674388 23021844 957975558 975592735 620746535 217772589 256668358 97243583 108716126 824467024 961378832 823393759 963119931 177407851 799782928 365643791 349801160 21558415 677926228 744271499 717040458 835667784 720697166 15525625 812690596 142874591 925101679 461593302 476830719 361241564 23130228 158021458 236779759 833622137 133614193 857526293 51394725 242798902 807286227 12627203 919782278 621181410 836020961 735418560 798589260 488320240 101062350 906771 362395006 631504929 745178270 79435464 319689065 465875435 94961088 132379660 461266378 20062766 446489313 790613448 233820681 322135892 948634906 470600439 155758029 934765450 180643084 59669105 30080703 840445662 72296307 949862980 314143424 760833619 685281540 112732683 101670210 638860241 113639454 464065216 270365170 711334075 396017031 590054234 29725861 490978118 574950245 490992238 363557236 21439557 134122038 449894268 343575449 82756943 920494707 351849829 17522392 953654142 411518933 47603094 794099803 336331592 849982426 108243226 949681562 387780317 73492261 51351772 26640557 39648066 367933339 149522078 603498492 763950369 739576311 633224352 107444838 167042907 124216590 323518425 188482464 110854979 773412693 384574264 193611921 546423751 736424092 63650664 500077892 459376 963770109 146694046 336790967 813752534 107453624 138988881 54049202 33462236 42857004 80689759 925626653 410790342 230211836 529125144 27257062 822304499 14865847 134701899 989347405 139082436 310736676 30346220 102453766 84149368 414920483 296065686 630573118 151344574 212232701 983167361 151803950 176002810 129861406 341111268 842271695 89831381 480100148 896320897 123293616 522957151 977010655 901436620 933747492 59738842 283078115 813520905 882043340 297943962 800739156 723907097 289542749 111475831 754253316 391996515 48141550 169173799 688062200 678714667 173034724 900294901 514398379 324838673 928814062 496776136 665949941 771085756 586607517 146050088 519923004 562417484 521523591 349450010 316370456 307787434 409188852 599448570 121308339 143748543 897392531 922047494 867655639 186935280 886039676 474425307 578931794 934181225 643599105 119510345 465412243 816633828 872321597 979810621 993988853 801135658 476586756 512455145 424737766 915710624 511021584 944660769 330644460 32545174 146627131 647014915 340332608 555815982 246463484 314157298 552080876 143856015 88721143 272252867 183307646 974760818 746678173 614755791 908942042 242793629 734266135 226870636 59427456 459104084 206681256 905932660 112756093 535784363 418387804 537493858 451494987 929409388 334670979 782139446 814470913 481298109 281670712 7319872 889630442 528134195 321477169 441711317 524506561 410198311 713964183 560330558 384959128 313158707 175086348 146417521 555952335 761868835 373288156 467896143 220972918 432485763 373828802 333729010 968270126 644732958 723739220 272281464 426658697 58410198 54420909 241129609 392224658 188607972 248449481 134371451 716742166 569926649 576082767 93765079 980124960 142563302 654095636 217600439 455722008 681698336 216534312 11674343 443567170 589822467 332086837 517056439 22308230 705915638 850785448 843094707 203164947 427041019 115376170 629823643 337967568 22313430 870953252 730192225 210921401 971919084 864563675 780179918 394362084 293162794 873944996 227003395 288242447 380556984 444603834 743964454 62255319 661138145 608155148 358338840 103476963 940241984 875395278 978301544 498673974 578697077 821396250 701838920 5738096 789288771 184178915 196222015 811602200 55132166 926414240 875039952 879567601 643494266 655219870 273929684 789173411 381681217 500933079 77415857 614754552 798053264 673896663 529526222 311707760 134568162 887865061 415184722 74810146 615776690 246002618 426000471 46990119 67398867 980355742 905244566 709203990 164534656 101466580 373322541 72183173 880397171 248362493 951750773 376407789 756098714 78196809 165581199 137779930 431646239 95513408 605050834 229699502 769410070 134577055 541407261 903978231 874958468 809108334 831304728 343251509 55110951 109821550 390241627 975026170 90177292 148002544 684230159 107228299 249469124 57552699 179411472 129866294 158431543 983678596 358790434 914530256 61875404 524371633 904826538 346037994 619885040 362393723 575737495 241811461 496970777 969661107 145789691 224445596 778769441 977094419 567697105 686396743 86915968 957938731 661422912 29609611 105941275 198169422 136837910 207926750 108238473 168765733 190309395 119186367 152444328 549099829 33716623 66836084 925987813 791059512 412874077 398389204 5969586 841127924 640200664 502940362 810789030 785990354 727385958 442074822 615601124 147599414 128471565 555033444 105538144 642410828 437159406 63995770 693096602 573997315 124438871 801335074 742763047 167264618 920521440 747723727 716364446 806754414 814559810 494868610 450330277 79950238 893257813 456299862 921078161 533458476 811756576 584383543 171965181 391658885 878974716 640082657 539258298 859962632 47632452 497312793 354889812 484791857 413824915 47986413 58789172 538263785 701837838 654068570 705528402 474875629 254308648 274409199 134146395 68868457 769277808 584476671 1335047 515051972 893292885 774929559 48510447 705049460 211829453 72991980 96708344 90804169 713074636 488482993 950766800 760707087 985795785 158172963 98015295 399620699 206159375 9320818 790400836 907997212 663389388 348445589 235389193 917698035 622854788 369535587 839082844 244648947 954012257 692934242 759700919 699821493 467863800 660727717 257387304 679693253 586236048 206611999 623013773 151827035 695094991 426296924 912534121 680890776 584469887 10549416 933027826 790629261 19870233 723428661 551142825 535775972 71874250 786532017 305990359 547245389 8583955 997589554 644410687 962596211 690523795 256627957 514934056 10903946 917355674 772321359 543113550 356108073 978933358 166127322 507935108 674028348 592424246 272985580 207435475 29410484 136051347 140463301 820039744 8437932 716408313 223698920 544213903 640798914 862747288 702720613 40560654 871331242 700310166 684971341 686443805 243350312 941599297 201377860 106770610 711471322 973699218 649884159 67579395 805148927 816011481 428030854 331693627 260952078 701016433 539129101 290362561 837067780 532108753 962918656 845505711 101033418 39133928 242235965 594348683 901881215 944956578 634909337 773212457 497783095 172397029 312172613 741133407 966512677 513550472 847904016 530500351 339766041 350304526 450596097 144914968 18832358 878626950 329124946 279784435 579643382 868254046 422663347 269227513 252879151 385582003 114733223 206428920 424715930 356969188 800777602 179113496 154442117 288203290 952325952 652225211 460600318 117014916 245874969 279629347 630565387 93778984 810129697 822847780 296599862 260725793 820279099 315432219 139352742 149404044 595216654 571512475 870174441 17880000 840739988 123053591 255978354 807989562 181998862 533210635 17475101 982776464 712324131 171917217 270979753 517166434 824142428 584096423 634181350 70017396 863725769 117263088 16312732 673855465 940110867 312912593 787097609 760389965 628344811 778966702 762310360 76077816 202995528 632484801 946474168 43735515 608054743 54968873 704241429 790053605 588179508 721716529 625346420 300503638 893633746 896326172 817670071 717776173 332938946 304367772 640309920 196664714 421630860 656622651 723036530 361741726 822051595 510134138 974648043 302912758 141617191 736958402 378990573 344612719 221959554 177981092 240864585 682530649 232949965 945106013 325100605 821129472 666822542 950447024 121633109 412972639 699289547 791819531 130748811 32228493 96187303 623575082 81409558 370334514 132714085 804446088 732076239 954765679 167096577 559240633 257678436 308713768 148715387 489185361 653326486 370674940 667166452 894191070 53205588 900116416 839297083 230822544 721245887 358635976 181269567 695395347 771608614 880559114 339731230 754873776 765303958 288434884 230965209 846713515 658769397 363679293 651159602 243361987 318444972 818256179 802602620 428639759 126969946 951318006 917825119 632812783 174509297 584991571 527003852 80231237 337624338 218817286 311053780 58870225 429969613 344839699 606781923 54094578 77915164 799029504 808968353 843219121 87464387 39933562 689932635 598750135 256129206 193608589 694628474 574574177 864381119 349747445 3213936 843867416 153581802 773555406 476680198 328091098 211063328 856200401 260838686 548687666 75017687 571892466 460074242 357503651 916732164 66856164 411598229 994647327 718402020 73082933 690382799 658382758 113016494 232831785 109649245 221662052 426440373 804277718 796236228 143337843 154025162 651966515 987205258 307606963 278038273 316401807 488214412 489101600 172602208 749053098 37789265 100136246 173461915 497863506 457639896 90194078 417236022 869238124 937357756 135638041 942321057 480256906 646537150 907853902 713088690 756186394 129515953 139529063 560464111 778268533 135383257 567005624 282751399 122588515 874612586 560789671 438990321 215343350 49891271 464108880 964396447 940196887 564245125 137858361 290576745 874401373 80568790 707812766 596155848 870442897 695967158 390993256 350699802 195020659 151363510 63788491 951207053 133395814 55833905 364187515 911664346 43733514 931193139 46932097 166322028 658322076 460238119 457828700 873665425 362645741 921937580 838061871 302842628 338699056 828436583 593419372 213100428 909005372 153748489 809256276 631964620 702231998 52765883 982664421 897252656 204129392 898969264 848459708 337525206 807319520 65163575 101705903 851053033 996356713 148637999 869891412 654678788 608876118 327720112 380860565 971521858 102174043 71438787 126880837 440873098 899875370 572816560 653973526 661397093 726565048 315746153 293361713 281313397 368512035 128542485 178566053 572641427 880028100 879542112 910166632 539863972 944705686 11872534 243433356 941062398 13026885 113324768 448257538 474419354 293561231 829118102 298457563 395735273 900556888 425338400 836608370 652948609 998154959 343098247 314345702 577236359 658844399 460223766 858549755 879872786 588766250 889632159 305030564 321310702 769174271 67713547 861174673 566396308 79586080 104608028 359975058 945129316 70449147 808232595 419548669 364010377 489867048 718006232 759745649 242940287 995860983 596354019 895888896 846532293 939452265 62750949 276285003 450813016 522974714 134834758 183202153 964257315 876983268 488232716 285568016 498673890 555946262 146742688 65070198 488048693 103867068 425045255 433178009 174316214 85794201 705243029 538326591 428177600 275765612 150588591 671117886 271626594 746942609 419523133 118158887 538911226 334790433 246960241 842240593 857765146 234311350 25442745 674538813 111294618 513675460 960106828 609968507 69621721 959365868 527555056 410186765 915749287 952600310 843364773 90065500 890910862 401124154 480908442 319088461 676889765 631497033 842722699 948516359 230955993 114762183 919191597 622383570 449552616 18668189 464624162 159834113 252979539 342583258 834372925 364274156 856258717 646996105 826759014 778396789 458878324 354314070 41099906 374627610 159430731 884464678 317209461 50341593 138105183 650634255 221946405 814994948 134647639 64669103 616027658 365603631 31947638 387735606 987987201 481500253 406403794 305127714 641334365 659383332 647710972 475707290 23657487 356486040 122703394 702932853 987399181 434098069 57246922 28499086 808725678 69194004 765480115 978451490 972051948 903585298 629085744 46514705 718580245 763733382 111183807 187124254 981853365 143131444 574859859 822356917 477148048 981263652 127484630 118482413 640646984 627711953 446706054 516820822 836714345 421925799 72270026 824113525 856023867 129516947 705128962 517265896 51227303 470609076 495717385 23279250 226710725 977319481 69793954 945290969 593569214 33494113 132415222 575422578 29141908 559791432 250295846 358806308 541055084 230296828 477288720 34218419 858008780 923994773 403555592 547239476 198436923 475825618 223869352 54460789 457858916 928998313 571726684 509086218 252123741 919960420 384881820 478834465 897279900 307192125 276641786 343365466 193202589 261573359 918788043 74860849 821364791 21600241 433667156 214936226 251897068 763472227 249154644 109905847 539983351 652710235 509661675 738420273 128535852 733531026 792881061 438911120 662529339 217124096 947997337 914653079 137084515 185395508 246003895 886880767 345103985 522645680 82762584 538306573 784219039 1550626 465683773 605583829 23150866 899350928 820520054 127564285 515339506 922191049 89986484 55322856 427417635 599648158 793743128 408469839 333179183 439140540 847380958 848224873 508780987 647894646 615394303 498381854 833290154 861398198 237778972 30910490 384043877 320541555 569217062 20779267 174608532 34900835 626363095 50275750 786768114 299399500 177840034 154623972 74106900 267826517 209946827 501524535 867474674 856206307 909994373 53170209 147863198 757375330 901395081 656644185 257786327 516789384 155026038 91076480 230703933 392805009 121986969 614747809 713346563 543720383 635527076 887955094 431137569 114406522 938230843 70422034 266322374 116070877 225046005 340429273 236413745 287509184 841953807 103888419 143715490 751948179 157058627 291578687 361839860 58453707 948222871 619626187 427759442 955765260 563219018 658463374 201086620 537722339 125727535 914433182 933959073 613770962 654904628 217612993 728177483 445651822 288035026 994499856 414239050 365597383 187445481 650652795 653106566 29399287 607057565 796822055 633863818 764116191 940917093 995703677 675086249 741656316 467846215 955362043 697421575 883581585 466341768 898508195 273820275 592069302 665457728 207779347 58356615 172878707 425392339 786534098 471046881 565943716 633550305 885285930 931541098 820995785 388455076 584647663 702911424 995512640 233986069 336775241 612145182 27419514 184995269 139747783 769075829 505357836 95109825 319013755 388939420 413967944 70038301 662759694 6037246 735496029 723055392 64393860 760891087 964082 703444309 231937967 566907797 189510966 969740249 498448895 863023102 210711676 935612909 565934525 58740668 22115330 755226117 670885849 49534843 940221386 663149983 818610671 298095573 610776159 137624425 687034992 24744103 207662726 202311037 883297700 795675106 925366428 800207911 556566192 926330509 356168572 641020511 345754657 545679537 610760759 844203551 261218990 821472434 632332812 827153515 880213101 654448141 434895983 403615302 703982983 227633720 66765284 522593653 525729292 530057795 512734429 65280635 554801897 720397154 267591671 290615948 368588611 45474450 90823858 925154803 824321310 446992429 418691665 170075967 845188317 29452423 866795869 106407307 703441208 499128680 786077173 436170661 6093172 220973155 692302314 710076154 448606875 611583949 85186158 974336166 141641743 597920587 39616801 548959991 170834092 159724823 839575938 539422703 57715625 930399796 317093857 882036934 229908576 735785521 52112900 75096893 617754295 771425121 34020551 173711854 123070152 820097723 609882514 129163324 893587229 154701179 839239477 194710455 766285128 924425635 21562973 907926870 522346221 61179773 309403213 693180312 73420947 148979150 85119366 131136571 931895297 402213222 13173505 14320225 137998742 917802756 89417117 755753036 541744228 975954019 929464890 664814380 648568093 391863755 793977703 542155321 546564934 633217179 736865776 165366413 410159165 758428748 73293282 932505385 672124872 235212846 478202049 598062170 384191996 563321414 729198741 168603644 965534636 594888597 182923868 956049729 365207704 124857336 564319117 906951932 100811354 346300358 424282663 749379446 738164112 218260365 144051119 137245397 703993895 733433246 302611809 114153060 344378345 228421443 899174796 16503216 463634288 229893196 467081737 700342635 793214610 48796829 868946279 611265597 643685425 51870146 419831677 861409481 176727482 984150793 620877764 130055187 330451150 45160426 879434633 921131614 115937142 876002103 58377010 819931036 609435348 213505171 934084095 953813692 294442965 685775243 822833259 758077252 915668438 142431347 310936239 561399399 191228176 179882517 25181347 834913600 84269014 445013024 548839432 260996495 429163816 169717195 391051682 612131318 67393972 123002666 533262931 183331113 999004768 444156292 3262149 460956467 510177814 789862595 267286510 804620778 475637837 942636120 415214382 243822627 85067466 726150620 805222025 276295641 906033136 830403372 963725593 990302149 275416395 512565024 103814996 557096562 534798571 347383029 169227879 602192542 470385694 555007161 785523655 321906813 999163453 788785803 635379631 361857618 431164749 902666140 166478396 906802586 697818611 581692777 3141564 782886076 160359748 808363588 911698069 66392883 638766959 875423661 909211383 766699705 240505036 865542730 323796267 775303606 212925758 345540497 230012500 535827803 900547658 15536154 857734615 752227462 656838308 345630597 114085079 88003056 100813088 133079826 847321993 798631698 714772602 850463556 434034126 875132349 658827144 345732194 794041583 150110454 73672206 555769318 916810159 166693593 273828399 93122777 941997199 486754157 438663273 24526050 22581959 191727282 40062203 732832926 943954743 696900510 78463522 58039822 637419917 31792962 43635999 484741910 830424659 758408601 187721817 264458784 486057301 846548960 462707329 132615236 849175766 536379534 540900905 618502276 703073127 814729303 711625052 497586677 153999811 2804676 522112726 29098122 194531958 414691280 761931047 138486700 111591789 692910920 49042873 601528057 724703881 92678872 86269966 407644892 703603824 126508135 672103675 42177476 973057094 134811004 27309063 674749211 523706889 568209967 293251486 79296367 382939270 857392889 429399395 536939080 860197565 951512120 566037201 907245874 218719751 180484599 898248925 182827891 725911871 799808150 784355948 303132103 745003373 723142265 710776994 301123548 849650399 235397021 343301023 675223845 222724376 370610086 349973055 746431264 938820052 495740893 678243983 174275673 353133781 107643377 563731105 65847697 911671849 129768305 973093570 130391599 162769256 723858847 313219490 888681126 523666996 97575437 44329580 121186720 673234053 755106574 422310267 522884452 990503594 765611289 50624648 213227969 988737726 400597702 812175584 780074130 896338594 490419566 954349802 101988727 450579295 370597258 20352775 362251143 352881915 993446345 345159093 515651170 569821543 658378582 256848647 93488538 608470370 301178226 67191609 134220775 56284799 489501875 657105226 899304744 107629515 707729873 112532712 96367241 960843926 777224648 876441370 709698872 120160565 683307523 811687598 570739859 53904781 832040372 932991001 259303047 678003068 130666446 774954216 100340962 789045027 884319214 46345851 250031749 38013791 113537459 384252523 94298590 603039333 893874100 846119685 710668848 454120324 811168749 807036088 414964249 588393396 535993809 124663120 708553960 71817683 788867069 131810171 978238815 473423793 64801171 237541861 3943212 47983968 865012428 104284174 837028995 749331641 150630024 939577095 787345432 264167483 176345969 734160373 867206815 70220068 432796409 430392014 524340391 243965157 89944453 791820991 684874904 625938261 769000463 245945216 550272296 410383883 377755386 528511110 883807675 295072908 618569323 740267239 343056876 483581750 844551412 32602222 85429743 847697787 972179316 725291526 111865269 148525284 311968250 831588436 71261703 744764658 114496801 595602093 988729815 204441254 239939435 526121070 830379514 8939897 772066285 233168161 419323780 149821670 761679271 155647806 444894578 232764945 895915044 787951453 716346694 592982807 820553674 654292788 293196946 645249341 379584313 257578566 793774624 691552562 89167001 865036326 288833572 56180154 313154770 130079738 260621407 553094204 656200807 91000920 414550453 428267092 176685433 833874232 430605113 938364703 842038389 875499690 23645999 590469785 515967494 739992692 35968943 189037519 246801832 329165888 834286859 626386144 586744454 480577834 170455058 528427806 198130511 459288629 584607959 363801632 589368366 845229365 916895836 98085524 788746637 183962640 526352615 965432069 17836871 956957728 756313123 712391611 684973769 779959121 302861395 53457615 372468164 338830338 95011485 619269995 667996225 929298344 98172491 107257030 262392529 268627548 635684836 313039392 580432528 220292794 676841023 22317245 65522159 446253210 120402768 706785147 630215849 646755383 672217215 500569071 456229462 281046689 212960682 993719582 61005809 368338428 47177196 433473972 707168765 142188681 52743967 227681342 924003376 3432809 334938371 38912256 272060356 970623206 351951647 852492883 43432352 28792670 874810127 961470862 327562231 995212894 668256008 957778080 494484628 192989574 458347150 803230441 474036262 523824183 796950023 387558422 892162611 696643570 821032393 451847727 691348602 726292711 679529068 467868329 729725519 866983791 359296937 854302226 690123348 711248583 559311460 733555699 592557604 286637938 547542912 920119835 134367184 68315271 730414266 628851811 261304844 41277767 284598604 587857457 565101950 81548626 975415878 457264560 630708547 648964623 909112286 174573501 227773685 441157706 494958181 957499204 160657848 854255117 664317781 850781195 418020052 223629241 436853246 10577655 510267178 984396157 783213841 644634361 52711428 366144458 126002524 166532623 407422225 410601127 754390080 972524174 344666104 729805957 282305085 827891002 231286931 43933722 2464502 459060616 485091427 349939035 269076171 645749274 204194151 933393951 349046821 622214202 9539543 785900066 485308209 519806721 770296222 121038401 16957433 675524001 487182859 142959956 842056624 894605083 406077434 596446703 719645608 603259889 178769011 1950692 431150891 410055942 45884413 286131744 869116557 383492192 636070778 138192727 29241465 692781281 924103029 230804637 167511834 933642572 16704702 652820042 305965644 639517276 626374795 322923076 315041276 113557653 318399384 9614251 860679087 576993169 606060953 432841046 180253058 637346316 434791737 463920300 47402257 333192501 750052043 769035165 716684692 238639173 759744243 598442509 931420453 536363623 829247145 98932286 470006194 845951847 604268680 775971837 337985474 83159826 951411265 653026749 49233830 122327000 662641000 909912916 699320168 121218304 195270313 879573225 758564619 630062049 196009876 658483227 963254549 946061919 280034743 532455593 37217443 892295337 130898101 821154247 428658960 960145245 772602884 751181505 658613443 229387915 379669694 996598916 312547740 331080958 502142017 361781569 453407957 17299368 124210836 5244476 138517671 319481148 884817701 749598642 949543196 80827576 260598220 765314097 879405846 393149315 150286041 769139640 285444651 281184141 590293886 566619962 93845737 215413122 317801467 604975532 444801036 697471160 454090799 757348776 881068469 956232815 119130344 186992777 826048534 243341180 192237252 817082557 562822327 77054952 419197550 364881875 10398880 679795769 982712323 742321077 72945083 132998363 363977069 210906086 266698855 954270954 777526047 360544591 22200427 947843865 965520122 467001463 497831376 272127273 224350238 378899844 80876439 195996933 565892620 906924973 439338112 758129872 724007529 854676791 687701175 143205078 72075017 550616406 675517198 54787339 145453835 600978633 40302053 509430903 664401070 307000907 316218208 294443468 667545497 338418635 242287333 485581971 805420097 740118708 757709243 882286686 971534904 838585681 78283618 389943875 598027005 370138082 590098 174550885 224814872 688291273 170272314 296889888 91424030 845789512 204193578 89394216 299284496 244495630 598825118 963685565 551496536 767559678 110645384 71558384 105978312 352932716 557140354 763914760 945567776 167365948 498717797 917102679 858467981 577001414 159562905 456494985 947139495 160153003 631045870 24470718 848444275 801318183 173876957 792384656 499624046 378070534 881778872 651424893 622566163 333120341 467626809 174062698 100680018 578272193 245621082 59174681 931204908 655277787 675605792 729289035 822643735 174323588 498908065 533628067 603841354 658470970 990123051 403497200 818623972 473685272 427967918 519584598 127519807 601844874 311969253 479660204 979915408 46264476 131085097 454997922 379384817 598711905 629060620 480064834 29500449 727198053 391755867 960705357 382475839 67361658 542510743 57635925 94201598 41418808 591263991 698042951 699889777 433903394 101540150 371030100 760105017 382024419 890614697 887624823 983869293 55100301 219801379 816301052 101364777 350886475 123815325 480749593 802114731 752875944 960814426 831615180 332590348 205086644 644836888 715066187 272448302 187347630 625218463 366649899 81282789 68998806 64692849 781172565 502902199 18749350 4719016 115523567 400773769 895333712 3148390 237159413 950434013 75466120 905976816 51798789 426352594 29792140 532548381 80983676 635184436 345879158 912598855 967774783 550965802 557435742 535357321 675930455 597299724 160575784 42580353 678582512 229574589 959789553 312271429 584993139 831055254 316990444 700516705 84345374 212324156 556181446 321504786 15274520 631647565 79997953 67073308 58000158 109790093 452138040 138983834 744974528 798017197 904099040 565265662 201499350 314051134 100622983 877429804 911350857 113715118 772526508 589933368 343289706 584832412 902204796 928282844 268404018 71711592 481315900 352749391 284035747 37497346 674254177 299310266 669144910 754252129 218899925 579661420 716558573 671037964 571161605 314049452 321571512 327776996 879315114 523070862 641828129 979938096 253017017 553178985 93653213 878059877 995628705 289459270 315408640 750349852 70258465 583812657 822061443 551574364 936562048 106097189 441588061 463332576 257923806 110732971 70101056 476823730 542910742 786659629 378045 966588698 100709080 321949557 294365693 980024193 845020418 936193822 812478640 950553786 341889158 758648204 828613662 190034214 900623825 144022302 940384066 970882289 580351310 762445508 374973005 516913357 721059049 816561065 980245932 831499206 779810387 50346988 160839288 175237480 689522968 161217332 141826177 790232047 483166888 288708222 622772592 180703657 77418395 287767583 131257443 271823904 898932139 812387456 461858118 799555963 808926109 402242183 622954604 389277419 17204042 850443960 758707127 590779442 519521376 591469411 422278648 151848115 494332750 583117935 327085594 183855717 744335266 321428123 826604115 80018506 462652696 301893058 260722162 540071090 589660641 391979604 811894993 341109131 56883412 126269462 140665093 865809520 528511644 616136048 107603290 398232038 319096359 866310417 989011479 838617735 457779827 263806478 990465849 952112576 846924412 170067794 988484644 443776030 491495916 815088758 523794535 954148611 116981816 784516696 346736052 559158808 29012652 11147397 900267938 85896063 137416858 893449382 951705582 518444854 362101782 59308872 916676891 681198140 778135640 905688369 372332226 88431818 22011199 362798074 40544393 868935610 532865868 881545388 165227991 876878135 549150497 541538877 683543098 518648664 178571925 30279149 77807471 207584576 893942897 830591760 145996990 31359755 576557494 97702571 402320960 791175627 9527794 318997850 324890118 640179785 77202570 697222344 728611602 99213768 60020417 621672346 820665730 445402636 503217733 985893720 174797123 52368230 379948949 858340220 423533245 558520873 741135720 353857068 766105448 635078617 36965179 912102437 518954723 613522672 862321359 921275682 257214650 724365505 92789883 582104768 217061641 22508804 279327111 945673243 121722572 191863879 567345588 942388301 489782867 923079673 780798372 664579989 827964254 13263672 522920208 251497498 571784544 116572279 605354565 190406343 751650895 642319744 102508779 123121969 108358767 817346490 896914002 365573417 394228346 989703884 947678184 611289986 12212688 79521646 409479580 986451611 123901876 976825168 781356263 613684742 752421192 414670986 278264730 580385445 427934658 653701289 684399294 999719201 770273568 142270211 190125544 374440814 784589954 145150674 497562783 745465072 815013515 246993136 111038488 61758212 89213372 911233023 673048198 101426059 843271020 82527777 940394021 967172896 911869296 721750283 580857637 516806839 136421268 711638719 97192283 416872277 365340007 634107929 416591478 135613574 776378139 459233373 362570740 413484444 604384046 860133522 158949515 271913913 107126657 122504355 333672124 48856380 886253729 6720321 2798790 729524749 941764450 943192810 549213996 706150097 517459444 130071632 75473288 506397064 694226702 25181922 923269340 59566709 659289850 192377169 47696634 435667988 651610541 262783725 849152431 108510939 122917246 860618298 380424851 82560255 983122652 714096974 131416634 721892732 573333647 134215424 303933832 367614448 929924585 853147827 73764544 447384029 835735811 1754183 953781092 529962512 26936105 729566783 442045572 686225954 921943952 342258558 121893942 573554492 605042282 823562724 682065430 580475880 536697373 62490280 515552486 372336376 629103606 499485471 94229108 202437252 486217246 398162939 570051699 268658183 103827118 496332594 716042211 939562928 498086777 522339654 322041791 525022881 104422788 764087363 63765186 26366739 958862272 38175479 452437583 416420905 861738203 134503012 996896784 250951927 49509644 364965621 623288303 531129601 716967444 717517410 733566852 55701041 968196700 156134902 324359223 72023817 504983847 40401433 11586744 3070623 415257438 186144887 380609855 519680226 950232249 444375041 398563316 761610872 482550519 851000898 178031776 196805073 838020262 27444912 447757000 740046257 244926884 71045302 271175857 961894327 641079063 857259060 17595368 461792114 13393961 341954590 533815931 370894159 234872375 397919026 226481134 502646164 584063912 607090988 22326389 386812512 903982380 273406057 939735 239049251 124406954 178971511 435854323 962427215 58932774 736127674 554989823 303859657 659689327 826165679 265753984 153284741 535941090 135865703 615076855 401851402 477820292 1409137 772745561 565209018 399328162 999226694 67855182 835908426 458834033 942697922 75237289 362816413 216103978 76177024 601865663 193027284 255148534 890236337 7970850 314081307 626364011 562960673 617940963 138569689 241642703 736211298 291854430 777583793 872077000 906931284 179435194 202413644 908340420 952180754 767622661 160184933 803923799 835477842 996093358 262757832 630692116 71330647 478090596 846796093 147507670 79956258 39823376 255172555 822708946 47794226 569253861 301589308 463271250 39711175 440158997 704913952 775922473 732013426 482497744 500515824 638944709 514449290 702929467 399801480 319146395 470552128 559986412 123070194 158546321 556079770 238344377 789238436 479926768 716434972 488550881 627434437 648907581 380890608 882606991 471616526 281201185 304377203 773205834 744472434 196604729 65881182 301902738 972527201 797894607 784400481 325559377 289355667 151366122 28488843 689157146 470512517 351557322 249143557 593582710 510103643 657739678 831927086 151858430 137666445 400878409 492925662 617617233 49785989 873816270 352740575 373918866 7533806 657117777 147124699 604522592 853722506 65522232 906425329 678766058 863416838 543342161 4325434 152772504 694708283 885330629 841929649 165220799 236887950 943589558 611319860 599507944 601329235 295763297 751366374 591512032 696641705 96808387 209129264 746427693 970624656 561869839 120346558 830674814 71503967 119987609 435197405 777742824 38026192 194139085 309025234 901443030 737481245 165867019 54215533 432189527 51197647 748661534 449926677 140601949 544767443 61246536 740109892 146096677 357009832 343992617 590125060 53651536 440801004 799254324 652595580 263942011 213640514 625458490 94616824 137660832 597962450 382330580 915403656 635988641 576469664 224428889 389948022 313950909 390295907 296679907 598656787 294009906 45341440 48583464 434611854 442625234 109829999 174721745 441238262 319356183 518714362 31363322 225524070 959515365 683133997 730636002 75973727 896774510 208610843 170590551 34435341 806573292 552921130 802355348 295078284 129390794 26784236 685026306 295858054 269596495 981706212 894514840 563606400 879564003 795614655 998218253 174705588 757961006 25456349 615943849 77317188 396687062 647307170 155357609 208718778 182957518 885993610 284692505 79732027 94604452 455283055 966683720 753694095 860720536 621555419 901288731 842627681 500856007 438831388 138485734 770452501 273053951 885516926 186575252 5134305 533647932 37309856 179839892 291608937 62766204 795783740 221442476 311969618 295607262 229316437 520688395 478564779 115310046 805380899 410813158 62430850 113180305 230013229 668641296 973900841 851568647 422446378 816528521 352424653 861277765 807530607 975393505 134331715 545563884 14485108 139466019 79211815 51794963 319305910 223337104 967077519 115089650 297295931 279047136 263213263 526612367 799735530 741778041 494438765 457632781 152591198 409385966 570813085 382604426 78027261 544713925 86689425 352989991 213758798 439114077 214267755 873805756 267023934 201115822 271885991 281509041 340581840 203614157 333304004 512404102 426951260 152897874 480010103 724247191 431945009 743223365 103375909 84196890 485001405 597814673 541829670 490108955 7200638 112642755 872713380 937744251 509873031 959402804 290734241 576148180 251033233 357518347 449953935 518057166 558634168 721839925 799566206 899216008 925454082 985386561 264136461 204921693 138284434 744146563 781685235 422745794 487369927 885061144 506942684 824887683 482875816 901288705 314996637 342592806 866447811 40226369 280337056 228837194 852145524 423587648 804985373 103178756 781105994 107455660 473752273 339740162 829295584 125834831 91472521 607266017 111221391 355608981 664704062 102022177 99755543 446389296 524767970 439641821 183966791 884227005 117045855 666842607 785515710 432042492 9435412 504479872 324785212 142288819 733317065 176930735 565876466 538302438 132625843 199498811 645758097 458894467 539238972 327570032 584729297 483227844 787352401 548467040 838836824 452056462 503005568 791108718 750962109 27773537 83266890 934928900 764516894 200312745 454287858 402548955 484871588 316239621 907028826 809656799 458528439 640345891 986587533 876921256 31164680 971729727 76420066 529439128 430624194 468175390 857009159 867869842 951403233 496877911 268853233 642756409 948934372 771858800 286381478 552412833 652148689 369648368 487341732 416665582 422477464 941629589 819214536 907349051 110385561 578759713 717005849 568913999 71621955 556109733 298351606 102786634 380355812 374771671 632225761 810980005 842947060 341751272 531366198 646866645 838629182 800219431 289623053 640079906 572078230 576004530 45009090 76743270 798169249 532350821 493408851 220646712 326496761 165139738 127995762 436882321 743899451 697517962 858312671 815521405 106144047 156664276 770824391 486499858 383952298 255566503 149996214 79415710 597317774 681362411 726282354 288463308 334098193 15905406 781059565 906176423 444426287 826068654 982919692 95111888 210935826 328844895 315758599 537432586 346500984 296270713 826831258 90400434 846305026 685143928 758438191 952449072 694324555 381778933 291465281 78276852 637345435 293977846 157692561 87179561 975340257 883974914 375642868 161954801 752396671 9218784 68131223 49339310 835287437 903567267 144451197 46223262 84928513 312726147 436172199 431429496 608996859 263003456 374346282 307818237 800663735 985300824 112783660 494988289 367079756 404248941 425781492 4425190 698226786 583474053 91604750 526083394 319965318 319763969 688038195 924878341 328982752 608685769 974217650 16786540 364769387 971185198 63009801 302214251 283911344 499181999 733643747 745424555 614701806 960506380 53242791 415365540 945807203 166026450 762870180 165403310 422791742 188651672 22344851 121018528 624642076 966465953 499618273 944607393 138746273 40172819 722002085 467729025 501374940 548736086 484515564 866144326 519921283 400041717 20874929 656348979 899223715 754518675 401773533 366441873 567541406 307532675 781807412 365864960 473559124 397193944 531268269 896350866 585845615 406129471 869885745 63004042 372595423 222020369 7611434 511341696 114709540 582129871 831587072 616084479 130865956 168618987 334745156 503303591 568660703 355620084 159652569 320400770 110138758 413942453 686842642 530196515 721475127 321166405 896061474 47550602 718360348 279846094 943901467 156722314 685975565 666303563 219726355 58570987 740840284 79854141 422429034 855549823 661984011 106532457 471634301 792849966 275151444 806379456 148669908 843812146 14515892 308322476 164212915 124654649 722264928 851055556 507367516 296256406 24738313 403428989 343807008 743098660 683275083 140224826 899820974 221766999 806528389 119547328 132854337 399885024 199401468 555283371 255434846 861385478 661815827 579585498 506751796 936967270 238481305 655421703 633295768 252997196 816260531 797508682 230168197 391041810 501080590 737535712 687298216 525818902 140964700 31105223 121433913 676756134 171330048 21254886 898523132 830374788 140802214 31377469 230259811 192720033 439177191 338211008 906621863 953509369 917796505 265890010 742992991 156277810 921311712 376288758 409275005 590088594 26313791 639443201 981130404 379910732 229495264 668428619 905729633 222976316 552050193 27163546 899732449 723380240 900934783 650771933 406271380 894253348 534665753 636531190 86973381 826359295 974742198 846111595 779868663 745055054 112001604 375378005 901332863 885829667 751666762 163124220 475918261 630496905 655083772 309565016 10407636 884579036 977993634 768653621 107555351 382560178 648333518 859804151 105940417 549268300 363092435 364728148 296038000 897758187 1259338 235527732 576633833 828517887 81639326 209018848 426089292 46157281 584396852 179938507 931986947 188579966 343062726 260421559 819076870 998146497 569986574 829484505 735241884 400496559 450654477 842797234 783056736 98987994 555117737 741513505 500772646 918210171 106241652 796810645 668484710 960017341 32338376 245118542 641051579 113977701 454137389 67140871 12651333 38534241 247079377 944638279 79630558 442658454 205059838 898707427 293321302 775046411 580708283 28563186 28059322 31362760 723876771 811116057 130350753 278994507 552629561 483639750 49721030 511387565 280450394 718205739 471404905 165305121 963324280 112456484 131799173 269978021 32113706 144450505 161028613 131709434 89088784 240659170 574367887 146664973 139366596 867689188 921711383 572591230 896252373 949770704 603953989 472645496 613403113 586821094 751640002 18549025 70460843 801361031 529936589 203427589 372083121 1341494 368732709 187923753 966314329 500531882 457901773 850944386 644982386 471446737 982653819 586587521 712105906 557021705 733252493 703988853 277227244 507480228 129096434 25995969 309767283 733050423 498641464 923170395 172387868 102797817 941719420 95365062 904158848 471656008 151309002 128758320 325513853 520041711 316682072 144344533 873089944 774583844 995288918 370588681 98546932 830459088 957176202 810652837 239997144 690428694 367158041 517224388 50425273 496254475 543220356 360192556 81821249 41861819 283362950 106725468 144659635 77598721 202090529 901334834 549254729 353399531 30093154 727284933 725957593 346775225 871629466 599047536 973875421 719434735 969636216 72422352 402410175 779328769 735591541 642407318 322273815 102749581 159631705 372699087 451520407 702852060 732891642 385858007 597230230 16254592 492583474 741889865 93853312 694674003 495741050 495624392 900589885 525834203 75425677 626547477 725125780 947055142 78111364 699001200 519006228 900263931 623939903 921416402 679592700 359531443 416340072 1866514 314797376 575971776 227081952 618834134 131340188 959973594 4692141 728570417 828744537 497275614 322976633 775114200 44465968 818717683 123254944 945055852 197068237 198680620 424119680 922194016 145735761 354747395 473711567 517258340 255011326 97651470 291191094 787120377 309699264 707531165 641503242 477012991 136019292 868585193 95847125 119875831 828558786 100539265 848446248 509819674 450331230 23939232 284933874 347313550 695173266 408188817 144885753 892241503 606869436 569005433 666951870 605121548 923752827 993179789 974896239 31280504 943347610 118603684 818400880 105563225 826134848 312420473 582576216 814670492 181005666 678423340 934546322 862080803 631478956 635508921 371900477 934326537 659448153 509350702 281640086 207137770 917539518 426525839 99379272 376925305 848047623 618847494 834563204 624316801 464543634 809459442 655597305 407891243 928063126 326514536 513454467 606714325 638935009 96030682 273901168 672457026 626970373 208447490 534537828 110965680 843956410 758954656 45292217 355920914 268305357 179448654 563058684 38361226 458490844 514954307 267802882 306538466 986318152 102366085 930855267 450861785 764341879 438968923 711269379 544921356 617999810 77240198 4152032 109451170 25787231 278053200 781908195 652757604 486500689 168962375 616239635 182973450 927917030 514048203 391410716 48738739 693496857 954469399 87099964 4504052 321940057 354902846 311042518 160774561 309785282 94414136 611636345 74127160 385899410 175422076 619048515 3899219 252662273 623200547 113350389 278449503 901253746 895258583 931207106 240270786 64220957 399963093 275760587 844654339 914011295 667171302 893393077 460024503 474157052 980493040 464528555 796097109 187912237 775571072 956871669 497697519 722501559 421024365 424341030 108400968 596446440 43389545 112300186 849108712 519106443 78166926 127558215 272876540 825941861 911281672 365663677 742679169 163761116 641424263 587333507 77772411 308595565 333242935 537796913 782752616 166252327 2325467 431366076 354164563 630412890 240754096 704378433 205430800 514294813 128719463 313831767 110741252 24625359 278648305 812366316 396248153 209331582 792440882 669124692 35273442 556238905 34788368 777952611 720000021 528728982 217802469 650288783 837324546 551045404 40602047 472593514 717297730 42927514 756475941 923978644 525856755 997230037 628357077 731287555 364041201 609592891 897635673 327298804 634218249 28800329 139665119 30466401 238131911 784622352 552107444 273405352 193377609 439412163 903874314 765893981 968141144 121676783 416182763 657982042 525238538 456784809 983091907 95052619 352228674 739567847 19031262 730601781 589314235 499904690 314405687 953355435 109497580 212041359 133170591 596232180 240841688 125352061 479214932 478973598 909974413 883838727 604895301 955868373 175767241 508769615 721762353 143908385 482962749 990461467 654406778 860717638 299762627 490015036 955770256 651991301 82099234 827317869 235109433 671413469 179738911 549515119 477285255 141752842 761556477 610455845 590501374 854914516 735807906 69716305 186404465 498298670 806071384 791299766 306683394 981838624 152585732 28445746 978263360 635548480 871423564 485186489 348782469 171186190 975201524 157069076 675693842 57300758 984386944 910803274 581230578 16642206 460318392 58515832 10911400 74391221 521488029 601412773 929305736 109812286 523645429 115710201 460627307 329716812 759526318 767310700 164071788 912112049 648272797 142335147 400176880 519696360 627521636 748959348 543398901 455239511 906028423 219092743 512540268 742931718 129896016 93770845 759573924 442730760 4803029 770485323 369638332 378807409 224414447 151460419 341136046 748059875 119686971 801763352 77776687 879213288 569074051 94364826 791325336 69863199 236699972 44018567 589559558 716737959 792977914 132958458 171977470 699006336 204567552 537034089 294454406 186979920 483321286 54028329 482227031 340640666 677030003 851865362 719448074 901444449 3325780 60584119 502020675 123012751 714863822 432313713 2226038 136454224 526678538 646067726 206317422 763378510 690086292 795876979 332632820 335580558 781351788 504610289 34586893 838435692 41644378 181557650 25415611 377482015 88102330 360158993 718122680 765132332 212024354 290087105 519093132 67866485 203187575 21113807 190879235 918051396 305943871 45621625 54505619 832622409 544205702 260823040 448517270 86808345 909216370 781150089 422388902 543084509 138276730 309492147 381520200 32437459 491049796 259452162 409919473 579152126 619611154 128042152 196800809 684151859 418129256 715893941 752018344 621316830 589524099 942897578 391884577 895467969 841035554 446390195 580606729 385241255 559729586 29123998 472049600 468945955 810274087 894438501 12030463 948550816 56446999 246067015 980988274 547496795 358035528 243424098 126648920 977646682 371466249 323449728 514314892 642111856 891860020 266333235 115945037 333900470 61747165 507829613 81884791 902782718 954219807 662491519 140540325 366465744 691615517 465106276 835411698 354405955 212061128 699958512 155473122 268508127 798541878 988977747 816004921 156577406 232401844 942653840 986740439 456384444 118619919 501055330 98496299 10479939 619904917 214441335 196896760 681652081 722270947 278781550 436951150 529007105 941273069 430007826 895472848 485404937 895114101 583400897 839810891 107175229 135875760 847800364 375683355 934417638 836778110 44204627 943511395 921696305 986858466 930251833 378080748 957994736 283823514 329093398 820991026 903728430 543534732 17887786 437896862 118322030 296669335 727364364 499845486 90458755 157372189 247834685 575863691 52486290 831235581 268190933 12177870 819627692 115991296 240377576 606561681 805285757 284582202 550073075 726982061 123957019 332841259 957579160 81951754 469181125 286672557 902942780 225425906 682723640 773346917 663322768 801045669 70016251 243203483 153407506 12991358 400575671 401242190 588855048 305578312 84994122 857045981 170272533 904621814 973037276 410650108 511183494 630839385 695232309 913772921 210337797 819189327 99130531 167916957 901141081 568311655 307105865 656600212 793737561 989829505 282463480 309576680 643391525 204996082 552780162 796799031 217987439 953355832 198041220 806842487 111450496 283035342 663888467 281723028 40173507 489442094 692373136 551357000 120281478 240121796 317646272 183135627 59311123 416776803 351052583 812968555 985088457 658158447 322085118 778826017 500504303 604548597 88402696 143895828 809544678 493699209 940694858 27532117 299571393 991252429 834374603 411021888 126804122 350779421 545261267 166977628 692737866 90150754 718334628 665535696 330272550 35980899 848671322 389583672 305274053 52240256 55068578 290362510 710398702 377153695 921704878 63419357 981702291 862623926 207315184 791246968 356323134 526393 671295436 655894526 991778821 358186390 919432765 118582943 708965810 464694032 138076922 254220028 554844785 856411549 919755723 885117334 744908800 768427044 127217357 50182852 820667299 182285934 193061713 383582352 559439628 114766591 447001708 393658270 829906868 506833243 37421590 38746353 507359635 708717025 694640879 351654808 66903415 466589995 322754102 628385576 931284026 460831023 882605603 338645163 169758924 802361325 76278848 767184075 423304720 56012557 669883278 96488370 238298490 862944991 332587074 650254470 830227933 779588781 43912739 512651152 138938376 81334328 551397504 646298010 790051353 98554734 850469169 709471119 565144729 25739622 337856694 348945106 486570645 72978649 687590268 508845920 875339973 616385468 276029994 151161045 672398024 945913271 100165766 910696513 661374613 432752839 413467334 344118897 64857972 457380073 856770048 203796347 391230752 260683904 850094356 33798456 359238637 553079877 743269574 924383365 578819498 81126268 273328471 65390142 6621268 813435090 426752413 881961240 429820557 702782406 885638636 102218580 501212029 985804402 865431445 15102993 418557240 131415130 211738242 483415211 588795202 68508289 687211557 980025954 181708544 389822265 13824409 540947181 942902141 609610335 465330545 374237990 543252954 591175367 292144484 549874221 404610457 718896896 284351812 686947365 274195654 169990448 641682297 775407682 8311201 359630093 643027026 426868440 491045222 854765267 762800003 79840424 775789908 302527911 912382729 957498451 692350175 778723489 498445631 487768667 240850175 816292528 862006657 784103128 407467894 6667492 333977348 664594702 725564387 618329160 351542067 999760040 640835959 993224363 627684073 649147159 205370807 270711099 76015598 696416028 125476365 691331952 628772803 753782624 993859863 393671883 711281075 538726389 24911724 62243057 26495056 265761898 878535584 741018064 49865026 138519830 747685555 236358725 803114531 325766293 854687884 7172949 325526333 348040194 852913663 953210405 997187352 58284469 76437855 925719302 754700497 54430572 617051253 235989651 808213195 463427467 629661534 372010621 2153856 654573257 286770030 881165263 920335154 17821965 474699678 970200179 156341794 74901584 59075256 811972677 400667876 913763139 819145625 726194208 114319685 524575640 531920965 111507036 582860108 460875171 37226337 190076956 515305742 506793942 426066607 176035289 970221408 55728140 400562261 824891615 562817748 687332290 706056877 483152901 705154255 33272906 305869432 861496048 108174489 364944687 525985076 508842365 131224177 197647053 87552924 245543861 722222692 619473888 209567249 157599151 80349059 99309937 347676107 448171152 606103878 626259065 476722792 428841638 534503556 877285053 106249604 97321303 564617342 812306481 432990555 122287948 845579386 738859986 983783996 953753875 956321024 362285423 315112591 87545201 559932475 402665514 185605413 282155166 22139402 395172661 439754317 955004812 494482598 639946775 255692315 953102827 266205839 732415107 234460816 800709394 462216511 340710420 750547048 26833852 5533252 183537602 1638152 851112637 774913940 985422147 657382863 731234963 200223921 972495453 671296515 760156396 227677319 709418280 42311561 102333072 104590940 334582229 57337883 451589889 974529003 165546549 257209068 93251193 750478007 491669883 746476938 212694517 832380302 497023985 92044721 837913553 533077939 93682872 541542542 307991878 931621370 51441756 891743192 131845290 23937209 415556059 892001685 104130879 124974338 786829598 206463950 82081629 973928178 116318184 386187870 800973533 281864732 643396937 894224725 32342739 135066819 493218015 97553607 967447121 990241999 42114679 657877025 375836289 135797550 199419566 683828166 67418919 250861322 428087710 51780561 127314882 843643768 796298597 231445760 968618105 435644546 437909709 903216085 409572724 554227892 289403954 63062608 688608975 932800890 957287332 573468065 920384061 303021698 671021672 740347533 145780049 713136350 398224557 521616337 701450252 450160475 57960855 621385522 701021796 486048564 673166082 680853029 329692331 321981031 912298788 150826787 757625576 202724848 54042871 19714651 609469091 195963177 82777258 298078065 981280418 40064590 871546130 901664478 195602639 395084153 494528362 341382687 960736854 892752919 862999024 662187105 195429745 920959878 136088979 896451540 407008441 809255060 429820920 589217123 131236090 194636059 740043909 741378018 397360906 646603131 761092668 6829996 695082659 843869926 157424412 676363077 736450867 881486893 430543906 932053505 129087397 925072268 273436192 89824251 670341538 136435215 604527707 865771282 909911444 740616685 614739173 169436236 402388097 44560092 758653358 386140538 91712502 351213618 127518555 489073407 997816748 888611223 348419754 545415759 584997500 358360517 74295187 321448366 239847410 504839092 106018222 368934806 282427711 379454413 311275408 805285600 368405979 915803115 523573233 130833774 656419799 138312405 300270009 58807895 35388848 58923366 297464785 127101349 410136983 424983339 468691107 260470083 166110913 669627212 805885841 751108412 27987729 880181027 925073129 120351490 237536470 31091351 489286295 372480533 263062115 800561703 177766132 631468094 568881169 701339365 762301867 77817319 692168121 62571876 136625214 580073321 974011593 286606350 559691021 236664928 711589688 880898480 497135010 730216953 550525691 155537202 333841716 431029771 888234580 258914845 551381260 125771049 142522547 40667555 350767933 405584661 693745609 528534065 37052754 115143129 82389781 651870973 192960447 627074253 566959200 182102012 59663925 393487144 468708361 619354946 630152071 32814401 352769777 127287080 763031353 903295467 135340633 96873068 186841590 23575212 208304264 738222849 1862613 350826810 631406755 205146897 756411471 177668715 733680961 645980576 292811843 668587093 150367900 485772290 295661346 717327099 667874301 355325270 110814243 136582662 827196567 593482665 169397062 179966343 573286097 932428414 935778162 708626729 881817833 122619751 584718293 90122097 860842599 439097257 440948906 344765706 644244153 49876728 522434420 230441466 695857304 815246263 899028558 846225203 301018552 47206255 416068654 968892852 255047877 379399248 957991865 82244443 972881912 127388926 114727138 546168008 912333691 50505299 107311089 646667876 25641401 544545733 736789972 886483999 983642989 30255229 83766056 480403493 80131957 606200476 563361310 775989260 421446738 314906220 474730814 574981641 362112474 890799467 396390844 617160350 270198714 354382709 551921145 95596978 334287986 666648282 641764985 99138029 717153580 601592425 745805904 742794980 146138157 335112227 481795330 982297497 217883807 565561386 315217342 298015763 24278213 878578651 926521374 445724950 193484870 401252188 20706590 408113696 144568006 269613785 25274045 414766720 623996493 429711541 510363697 810800831 96359822 4645033 909938859 666029753 606237458 508261114 261341084 604891966 695889692 743136414 587189463 913773498 161214151 902406804 64305613 185492363 633501806 990826986 483733664 826986676 244595525 356956605 87616723 389163531 626570389 112890767 803930250 103083234 395118660 166810298 913884064 491478481 23971682 676339274 10024586 630209139 37116739 271365669 87617457 733006430 14502082 674806919 646779927 28232584 429730074 711085539 66241298 63231879 554428877 549974961 742734906 799024401 906931565 830351628 188187931 533501954 795758747 844634532 636585187 43393758 11444829 402985602 534872238 35416511 79324875 544896823 518142001 116441613 816262492 605759457 849448042 683280925 133082727 348744320 564029861 415329152 912346211 630271158 331077383 466775087 180246119 73812288 118315839 87177683 756680268 306503770 473195988 404955366 3654653 962297526 448349123 15099482 365283127 835737712 903032344 297124353 233150887 273690696 413565965 49413378 731966505 115530358 585210654 865049231 316791030 1756866 132894735 229137240 632028024 463972117 548428678 812274142 390300756 666744516 751968176 146981023 973248285 77680516 404452740 976902938 39978041 705318214 844518771 257777520 541055926 600067466 554901872 774206812 726274513 820984189 676136541 458241017 936514546 113863546 175806600 105821927 115620412 308701334 334959166 747648435 772673450 883387843 412438928 15490557 402648711 16923455 14987932 228413347 94603970 419440671 57832636 987098363 124758885 902351406 97392234 518331162 354935223 504810457 145054325 81209736 325794645 673707217 391967104 114825543 787570762 420290055 220647469 755707525 728991388 408122987 355872311 354181189 144027181 768311238 369671746 546675891 637751045 384659677 775089238 584871366 656616699 832921873 424486080 633891935 587789631 521878313 4739448 942724853 26688770 149793772 876450940 204999766 823500988 120934396 172341660 463588102 541224450 392989129 71811978 122732190 801112115 427684289 329429730 945139295 48511878 699101475 344331538 686262922 936277503 119420775 271134288 592894202 952342647 695620367 79302488 392648629 70015032 84041936 187889834 949220153 233835707 64340773 6736270 909853047 37791520 179077930 225957500 431532322 572067058 297769477 554264511 225695524 725453765 883694240 23351170 773965643 435312067 367682707 460228564 224105921 339619833 583879203 817000122 144478832 132015922 896302610 537127460 202030953 980344545 725017293 3767457 66696603 641874418 10503726 976549649 679665937 189581655 55023500 111198258 761648712 352792977 517979120 839860587 78246741 254189712 863211757 852212383 542018130 83410815 164957299 766124050 423030648 748836501 435640524 567509479 880852422 184459485 104636938 935399726 17320381 682170583 939167182 84016983 324045000 949670908 913082984 856227288 139252562 968106483 819941898 753417626 320899459 190437369 593278212 251662552 444627080 309006320 103874934 986645209 244933487 121348584 605285611 667964134 722701437 40926134 87989964 456070210 225385618 45143253 391469936 242705998 727313835 183153469 179239332 903875186 132824376 92322315 760102474 124593290 60428798 432560723 878010915 233844608 622998091 323805478 485507159 67625171 632811798 441898445 906786731 877745284 415763380 364588693 398225769 138464816 405514826 338732084 594535026 483416795 383875336 838521313 726122792 963705523 21674781 905362124 867580708 7015509 850200790 480199533 131608798 763145939 912760255 9619712 996990547 388274698 333425189 335014057 308416220 818753338 629428853 67719302 549014973 45192233 432307995 947240741 36173400 837822820 138489176 630708425 173755967 522364512 321746089 899878758 338586386 343420870 657757233 58683445 350436378 360474375 538882978 482045175 123620313 304159584 344181238 973127211 692434281 677606426 160657620 850500 348876116 790086472 68569802 897891088 835278704 353394148 697648181 871452104 43733319 836137356 354676880 217489285 211018219 676422969 117368043 549604604 872360190 627641627 608288049 75312919 988116001 147171026 557358093 964252666 303846961 901539330 937379876 848797594 431662107 98037495 702164445 780538222 740640319 623250598 530945662 428435374 976644745 228593842 152403829 20378064 64731197 507080709 237867348 128265768 36020029 207751742 677870371 908380218 687909721 286158419 983693136 528542073 285845796 393567580 492794738 442209109 147623261 282690966 291006702 431801719 233244812 993171146 64856293 973885130 468938096 595801954 254836856 445582840 824395795 407240684 318477255 741643343 914321392 556344603 869909110 802857772 616612696 400295833 563754341 304522416 686454251 399963828 833064489 824816399 793531407 178375578 267025507 793671019 313582895 410548560 225472738 546827707 256236057 290329030 373229188 725174152 886130983 628066043 23273344 563043129 35306727 341750598 157202823 802144470 898095200 879628285 457518594 367224248 279924117 21272934 671746663 818894719 421236762 357327503 643711117 67284520 388219433 763252975 860955539 701802327 173801534 938944628 101146385 430037591 81790009 474375573 7728094 967920991 954957967 31001437 383480471 842781045 372752035 393199645 497441867 123363586 272827929 954960460 490587833 405268397 976233393 14850848 224163116 249986506 372178350 720390584 169787378 760397782 483643559 30742916 314716461 509961444 822203895 415862845 939999034 903993903 890238417 947727128 724431245 697712736 978728564 107911715 540493780 203996950 353627711 37935646 327360536 626455640 845412457 817948368 31724036 674162202 832799215 108403503 924148707 57493917 828794087 93936084 817891698 164953997 977195351 132608158 674915440 651915597 400987355 467430826 555909499 143742123 267674305 132857095 841454858 98919220 93285161 234464990 302916170 446912872 124916987 630276705 73368511 970329444 300741424 957608898 644491645 133540639 918528753 421156703 191034555 599839191 367609139 861442604 764793187 197320841 846567114 292224978 849236438 247554468 612172155 257662288 391296590 879846459 390519383 85267800 831282031 483804543 319732789 134198200 930717414 444649775 616991256 856602276 414979218 917732679 666727526 911987214 903789669 437772630 185660269 94824223 37611820 553269407 808783179 654921358 603106599 655350292 947146335 304859388 755421111 411834842 562521676 146717700 144197652 805557410 84501851 975479682 141878304 404234639 962194233 72595718 848884414 431701840 781714345 116379983 201950871 300958222 28367197 105740539 738730851 214027465 53081114 628859022 619813223 861864292 283780379 222919821 369730935 83443066 527779209 125152045 495277907 942817236 124386096 639475558 748374645 61404299 467471592 890252948 465638937 429665824 815365017 314523350 861367664 449595714 430903333 63318534 603070287 311786881 21575424 194317490 525814345 74656537 823176511 145627567 789037180 106956890 221063739 11284466 42916307 601359299 988952862 390710565 544176534 965855310 30186122 145067530 27259608 350174065 887836830 492898544 779839889 555718198 659938246 493723904 5313911 90841578 409558789 460900550 255144810 283650564 655218039 780959154 210823453 478394549 779103072 999860632 437867790 852683162 863661450 333300448 454042461 852614311 724011012 850735346 670985972 606713486 995802876 698245579 956887550 736156057 43660475 589243790 291874254 703598720 82967693 149704517 646956649 345042833 610605066 902101458 628693397 118339456 535576963 839516849 596734004 167196386 691893832 887118146 19879547 408071633 220418593 326438359 113202296 944429605 29690057 784188267 403659442 25492932 334950198 360546991 614165340 378610672 949790781 906039593 934725743 885274825 908260461 434198743 82834010 371381878 188816552 564043758 489721333 724393514 256076958 86455337 744106251 947970789 826089834 616502149 208558774 46508426 942940508 321761069 843454382 972630564 105949335 99630175 850639847 440899532 460177166 317321538 672026555 262484298 75877482 606752297 275474 984137943 40951039 83109483 355519820 82283942 499669592 845241153 806677455 755746549 784212841 403300057 556233690 462819026 19802206 764792463 361843803 815259065 86553531 57814537 640405980 45019217 157444711 343562178 485918749 617621876 660883715 10461655 732622525 736761196 617213952 732897999 720899138 510681342 668523833 928935310 592965284 20709777 626692814 252159090 776456325 263422006 655459147 332690014 726241031 527777704 97482476 88084833 343036768 36552358 145899369 983442747 81571575 303344080 179521276 420006675 773482307 840404990 430468329 506104832 577166185 47682280 91519182 150581675 410879974 612559366 79516984 856361609 633269142 558726149 108520698 409725467 822148154 616496196 594931832 548389184 144273899 544930660 488990368 339827018 581483017 634889737 175786116 515570943 790750168 355307391 935577617 564232474 48228732 366045946 922853657 625394917 266244577 14372838 628492943 529640902 479448556 560526278 386002510 112717697 119252426 347039560 374959515 941400579 816052107 969891347 342306114 812842358 514822006 831296481 5185727 948821374 318702569 180971843 464392317 109452736 388795585 252486285 526201562 437024317 618532230 301571570 62419233 737293159 168460760 543428527 266934060 647909315 103954804 505452922 760627011 75723581 852492481 135586526 17124159 521060939 957994224 211946624 333903296 325332581 895759456 339089023 274153954 66978377 372577217 591062622 28947464 761372801 843548907 555149025 198397117 314597488 856720595 113332701 51890646 25181354 656761227 171341058 525607020 613232382 676793979 138750382 688955962 381802811 126853259 558596472 902863749 84847482 770543095 89283397 410180062 518818903 428372419 536850368 585797279 800949635 127912989 614744742 414838787 971461895 22410119 613235904 138575735 879130713 579084956 190466380 756828418 88362535 361807437 134951789 701594916 38601415 273702170 390550878 272920577 400555429 949147349 175784326 485402910 572206796 265067722 748099324 91025698 545956492 284949691 529339328 199422478 265379031 144084069 614261264 89357278 166494187 80013519 227933012 898141251 659098475 418399391 507486020 747461009 632723180 642437808 449055924 523840946 916139978 692123153 796761523 316695406 493786854 972545848 654614667 65993649 90129921 402713990 9535698 636086412 540180032 391391377 835508889 805559063 535475445 302286504 894916340 554485984 382300023 122849351 452627234 41398497 393765093 960113254 788859505 26488272 455067413 90431780 550329218 371207390 782554933 199607092 540419147 128858138 24669291 195033814 47368138 114799211 450264155 56903835 603401974 990444187 300811563 291427214 796003249 836287007 593713717 543435940 243289342 976013739 666285290 695916576 17412235 60050382 508546181 658788091 939055006 963613593 601736223 341900575 187337335 236807507 541507666 727756481 365665644 566176956 775306646 413033781 680976166 225570801 322453967 136894491 68531339 623265529 428321704 864534587 312068887 22035420 260486878 555358229 998049159 926772167 103791156 867977745 839338900 612337336 379282188 630910257 428467280 981018410 972810831 468320966 70342268 514318496 48593799 436007911 80495451 823900444 849041691 613987968 49471244 171495657 750882458 118002582 794761185 31720513 835053520 106830071 53755933 95540397 514704651 904321443 874828915 618495806 624815539 566684167 83349493 4097726 50110775 511816773 837632487 22921606 980137738 907974754 389756453 28731536 196499016 322768256 705148332 45540706 936756223 607135927 69552714 540155033 577654861 864313898 571875545 265224732 823660321 478147829 213281481 190881323 382469271 88110395 809377129 7284810 507310913 892726621 863898887 557421688 257059745 554047726 432859645 89713835 314538831 822616097 118445370 511037847 145384352 676110053 409094904 934656927 283245980 478647618 327328311 860900840 195477867 899203855 126125571 19138187 229868036 191923403 62535862 612337306 132550150 871912990 472138467 639861062 764639610 188553706 49799101 21699355 595117783 482658745 111413189 909656613 157791194 82374910 273210811 303175545 611001315 682305715 90348823 894247294 13469684 417677133 607664485 208947550 169397340 586306407 80602089 399265375 778229810 143137950 11602680 910779959 15050939 336257499 403157372 632206900 377327556 305472825 506422606 972445338 788131569 470352146 734618302 945922762 405243408 7829113 101614659 16244722 542651179 191963481 763008367 556120862 609640614 223189203 765068411 779037953 809495609 845670499 30819679 440241770 988808448 42422358 203538080 856375738 231196208 459211804 488582638 608523763 764684628 995005243 433485452 405332548 317873741 168103754 203771662 723117148 28449218 305386320 739361869 423616748 349866152 354886587 979737609 959506765 578075789 597322371 591061069 240087749 295509222 621880747 680329519 136834021 516819457 736383950 993209759 600532016 195595753 334308748 61572131 960280380 181830342 495057582 218129280 499704082 663161335 421900941 75337581 544126904 727287260 814699449 967743651 77153411 22102387 799997611 889176528 600178175 249836334 332753948 840265924 545345555 807151047 373111794 534695927 176486855 109495743 380422037 777018870 157607848 714730784 838591000 117888227 749077478 333648582 188533858 101297911 849326268 610434798 176635492 393453172 190238409 991334940 213713174 119908172 13437327 13710785 9084699 466131853 263547118 194354998 306397776 661409024 1506044 679509569 196104950 30509250 641521664 576526987 807528120 799129511 143774122 646119119 769534089 892851599 832284052 958067947 994149510 681610320 568502744 23301353 927579843 758741153 14636292 141293016 878649324 880589970 7520152 740250374 199238175 271067269 787121723 505635950 932476292 641144119 37661871 981097594 671653368 679183534 410140932 479181487 330829396 553915053 977816958 100363484 299283004 810101009 58431430 145948865 344227680 479450526 169250217 124323874 90708030 36402860 265616890 821873705 769509182 273137041 414640430 968747356 396720662 201762152 326899657 181713305 842906270 364561527 162810898 367075990 896261412 572951829 846257476 227090807 979383234 676590785 179970643 131182589 339208146 90918424 277131453 683435825 570368949 298898021 807759699 513593330 335300880 925892940 335467034 104810061 51546332 750107463 926073768 448266993 804385967 252973425 629980298 499808588 470051303 792791195 866884577 366312715 218259376 565658405 445919873 50158961 242249189 625890515 181341549 581457334 716808939 458473001 117409511 139694239 757371021 777685561 653287569 945188252 703578500 988754602 902514665 755124831 591378417 828588432 55908176 248280735 934078208 685888473 748089322 404129511 331196019 614973899 622958577 549455394 33148655 68878449 599614354 275397843 694768964 780955902 709371529 264094254 91945254 826781039 403788492 701832626 456982951 57076060 647020878 13077802 898347014 402051894 768202632 342241782 83156677 824110807 590522516 17234885 362515631 338611837 273880747 693711650 806102087 896839323 95683395 839250741 965717771 695297749 114648584 513003086 328770002 676536464 777097339 273231608 355833854 33402183 975064233 812816804 90478242 474601462 825894605 988825255 876653355 446613588 183583388 959810032 123240747 774105903 977044916 485756377 112717740 103442014 179468026 771336178 281336 275151421 610586919 818515458 822965521 577751854 184034896 4251874 106804669 961132234 277483481 462638522 994534416 252547714 275455325 937529010 727149175 101349929 778870616 456318882 400479868 962454004 416128913 523720614 736559906 245690180 9476991 701793997 349132193 41461368 325646527 201929880 316612788 936233445 20445337 139578308 366501650 204480232 143830182 473306318 18128818 273830014 935944839 865179585 526377727 63916515 802708594 106043254 17782795 434095562 562362135 418262662 396549565 831007399 941983276 985625822 76697578 803976618 539936171 278346122 845437985 865582697 480276001 14567125 654332493 353237689 6661784 20834142 557717921 3008317 346656811 428363090 276838331 135118001 293542674 803216057 51550867 948767620 761775662 69333661 382863181 176654148 340112674 631929097 7661546 134612301 617554918 936875475 938588918 10007440 67737948 784026903 875590136 548013948 798594027 529922628 901251637 805255810 403273121 311485909 808264127 602446283 739848998 85102457 737564283 885908023 740834865 789115149 834675642 355126879 710965161 70055174 531781026 51077835 701984270 539442572 185690135 172055540 328834398 124279053 182062979 396572346 760822307 57653115 944586293 411932685 440092094 698354281 69704846 695881567 862356541 730485324 298327849 454721890 668104132 888408484 340629913 261455349 530039984 27821906 616582227 241005145 97877080 148363252 144599331 652377701 540322175 330289465 676949592 869156573 307084869 859012571 265728918 920423527 769182037 62831562 184872563 61790482 613702195 254577409 757672048 476058735 985062732 908516249 930780625 505683216 796924732 123926889 767138564 179481067 4265146 383720790 420486211 102142225 384600393 565085541 607036278 924922568 747891358 136502221 794079140 54976226 995514791 912324409 827916105 617213179 975155970 12788667 531520013 441374516 119882427 141708412 917433251 104945159 50224660 700730227 463144726 699665743 677173467 230283289 879146810 681438612 466520430 152149372 636097189 851120822 717234913 95649818 776043389 317642622 232152038 422638880 225135199 80183181 187479640 53051303 697396359 15151962 65839970 81432723 456526477 38238748 223141135 226476079 143183906 273365794 927206305 458844983 973031537 456896123 689128271 704694698 138334735 8165052 856844069 774431923 859285874 426595333 870081740 487845614 744237954 102233777 910484494 969373153 34933309 97964133 22424455 732329668 113116094 940780776 813762390 422158923 979019524 36903524 648635001 974719781 162785670 428357658 286081116 988333558 885253780 975209386 693028255 23588514 983374438 402388675 650536788 695176663 828984008 373134879 183022276 573221961 327885008 946023121 395111465 362818316 896503606 270052272 947664335 862136051 63349399 613943077 284294973 42368922 503362952 932929974 869605055 666148621 213803983 8202522 506998530 99057762 983411907 52543136 975162628 819302696 454931811 478215767 366995710 283915818 851350646 550017986 709654130 31752005 348557458 104765595 247086672 245061063 374817866 194751007 107197114 438167264 808694083 244008438 333052538 164573386 29454763 55173944 830722007 243258745 63376465 190236888 194832859 899304723 242780024 169995486 571123771 697711834 648211252 938119480 981627651 352078249 340653817 543798132 236346605 689211275 648563726 483433277 934272337 875897943 678184283 893985802 166581559 339394717 990510592 499634096 503968102 19965354 407324391 187206460 115740451 470700855 377443348 310573309 222521929 620223371 333085146 793645699 170451556 981296397 731765179 4595558 185890998 72418995 548393689 422237602 614146621 49473767 905670878 400935310 925371709 436371512 147437463 91953267 628282580 137948054 444103714 132250682 10429760 851428104 171973493 126170210 174645310 401933192 289259870 397167239 22156562 622345015 190812937 45124469 456157763 775094467 49720026 494565112 700029814 598113715 916802714 314176434 647587481 674989943 715111743 572959189 963877807 862549206 517428808 592160386 853013611 961532521 576927419 863443370 812960625 601417264 842129931 987605934 3350455 983906152 237289524 878023369 458767518 428102461 923147837 914925281 55713279 972867863 262006744 755743092 570981577 31325809 69919526 71085409 706315752 637547620 644044597 522709910 352613177 13989756 114870295 58143140 975522277 544314066 921586509 640999253 145731329 616232792 481121538 1598135 452655295 718411062 879621503 911422813 146513522 655285692 678864445 54743152 628153554 940871188 810486244 51651482 972196997 732922121 122736890 531029100 222986092 619297838 53739009 575599269 633287594 21125655 633742408 608809870 417956072 407845268 102325474 416203752 876594411 583447011 417801887 329249706 301858072 149939741 93188870 300887945 805225432 772053314 355631097 285895337 712924501 18633692 190063170 537637849 751555812 312800059 68666948 974541903 932097897 122405956 402657523 417901842 996047963 36399930 26711711 414004034 296761550 129037184 830207786 25872312 565000546 100526024 355122017 866858618 102982116 448310886 20262914 908207548 72880551 228410362 46619236 785805052 247044053 236682406 175959252 998599864 401998816 244626200 973141767 186613064 219548507 228315641 604514905 68112821 117231923 483742967 482116855 413993472 465296502 164840992 439865783 30297048 117883367 647504152 749672017 220865482 95815037 769934930 129073029 21211940 998345292 28208617 807016991 97905696 117407374 982976242 96505560 519406189 80118793 922163678 706019253 152183652 150479318 310534157 220296472 267711240 794277124 702413326 534221063 112089977 719770669 974086846 142387024 837654035 474107349 892059040 58519517 422438737 514510322 40108897 443650676 365371965 68317513 103184018 463277660 38241238 86160260 412299571 557647427 18795404 334463248 263666679 170979055 337458918 426717187 391275527 605170157 73510662 946205204 139391220 185600639 665975873 965994417 327987662 356146259 292618117 72563054 414665775 715056853 439589727 307291024 158707529 804961691 228124888 261891546 120755702 266366126 200568157 533055273 824013552 71879913 720034872 87680230 242858967 57493789 366913768 486650845 515180298 440424430 432856049 507087869 626025068 951348273 325598637 954012729 307494531 618216753 879092134 574676658 333273605 318681860 881967681 344497485 976159902 110092568 606389031 96915604 376458693 659473539 482487228 52988596 731353451 55038451 140668825 974212418 112532240 360098945 313379614 627712537 800523374 746235662 134800405 426548441 550100286 312915393 233077521 857594817 931132145 112169655 284787826 116922101 283367866 166755506 461419586 112044120 129364425 67808616 61476075 505823118 579798506 543963302 558811713 311151957 599001752 551996890 137880726 564050343 912095834 451260339 44279231 565135559 50012353 31595987 991683999 600112638 344511379 77277871 310223806 275643523 41963877 595011631 392565624 177848095 614283488 853985209 289892214 743647913 774310176 351368288 101987382 206625033 895331589 660799094 517776989 346849692 65312335 508174066 910900035 829924520 959434405 955179265 395060078 861963109 986775252 239260428 314592098 183802982 169054651 624815904 459446505 211018527 72343886 704528480 388866621 686627374 411030040 678758834 282791638 37856567 30127121 384779019 244481599 777975061 45578112 762258588 977341105 963406799 122949005 740757491 793331318 82383409 548453107 40907748 796862869 387744710 132684527 111454967 571547692 301739177 588787222 30994196 512757704 661131107 588039027 754140676 200274832 999069066 285415862 483066469 36925632 168059334 867845487 281407230 946034395 765939951 896182169 775891851 581863101 19131174 516649341 227710770 954030934 65102447 268618517 750893803 305363509 401303044 714865121 876911200 703042220 303652342 760421747 68316275 817299800 348460773 822456951 17574632 200046190 107872812 353157452 236971821 128448497 73519291 370895402 74482891 691975593 267077571 702891093 273838693 138725096 72056785 501549462 92756029 137159232 622684331 696166183 295039092 23987374 411031303 171950291 579545945 567199996 932372037 500378572 384499796 133349161 175351874 254590779 333395350 135741037 460264582 422883522 264189533 533783872 793778923 191188776 78275816 60856493 894079868 352114508 52097940 966136653 706180322 144853969 955812236 328864652 841020151 250851327 205368377 104567806 275317969 637430673 671767801 60206357 137809244 908783948 193555517 313161117 15891078 379467218 448902153 476155660 802350739 713091686 9939531 596129661 904280461 88215347 509502506 650876680 292846206 561600445 617013332 999026527 558970765 425341919 180407530 252507268 676193245 238292258 357075073 951511213 875722931 881359225 11717569 13532174 790143173 57789437 179209643 806034250 437256654 480628147 134706261 92123744 46236184 144645792 688253405 950516644 85377490 50272262 453909676 230740047 464389058 70923007 82282926 23359823 348781278 115206807 275867090 24974522 353499065 485458514 829002087 229221995 366817738 693236007 95270520 9477262 603541796 126996514 668027864 40798449 607624661 802734124 132922193 653860844 799896267 673691949 456893840 737790108 576480562 910803515 968530155 40869619 834242873 903329432 64229441 183024150 18536238 192612882 60515024 372035302 678071395 742033462 453773648 897405485 287785820 549044168 906882746 891327615 676040681 427426961 784642416 136181693 230161085 770080960 790042537 30057351 296289260 246936376 620363811 872769821 10256242 441410317 913639439 844499114 344739748 830385232 27523264 215792337 875514465 940554639 587827639 406102212 682588100 41601286 303507696 970373919 443161805 62906793 714217886 971718838 490333754 498860301 107900530 573011190 121457612 897943066 455584892 417746871 997395793 75948702 290516691 7652034 517359018 56672481 852151148 714615117 739574064 732190763 930407454 615088529 525261753 370751444 21190740 60366204 264869081 177214787 30740122 708030886 92637931 597474359 532266075 582971684 96334659 640166604 8499225 70308622 390626022 464084117 488055492 240538166 540032818 778572182 248190200 909908188 687761015 952857699 624523304 427335078 537564813 407447109 894939958 62826565 778198552 768647049 123192768 43067633 945861835 6449241 603614870 38499766 603923600 135880944 473987801 552774610 628563899 482487026 623083232 19189920 946571142 111138723 112244438 339120311 742227257 360434637 101544850 282504623 165808687 726068154 709839700 703373499 133515262 457296010 766200063 764230166 225943058 741909182 807297798 24321245 748358422 263429019 915337362 204798373 399309962 241841514 610089335 27873860 724328539 85688918 899580132 523416032 49343992 11824569 715052695 791571248 224775557 816597544 74075870 390584243 395182049 636431922 93957741 381213663 93727931 712674155 145443828 172187340 307099688 805257977 49024936 55458109 68686995 964362297 112772834 320513308 206203811 722862168 200903519 783048701 808551085 100483650 158981085 857895076 964824570 874033779 501982676 42116478 690631322 428574897 285217072 85813371 917523170 231691164 319543385 863767452 944365318 464987212 35954792 103981357 122761540 84979727 11955818 191448534 901858376 124728651 511961841 108062186 700107170 712865359 743627238 361174606 665865361 902608322 71586033 483206282 776642100 573568708 377839112 319789774 854659957 663056183 258119496 772183126 894747347 577662880 488466930 691629016 895166443 376938073 795610373 17927982 314434151 807566190 61892867 216292526 932294840 573854707 176871063 484918361 139236417 920498301 846092966 657618129 675622974 917678998 140824411 304781426 343764058 371179874 624571199 198424014 34236056 735207046 823123491 928983402 165386277 311590420 473128770 60552719 688528492 268739142 78480700 2962643 76305331 140373566 71771520 861116522 566744624 101158935 198551234 558497392 21657235 44644199 216115521 549796560 962323196 209456283 854577985 158603605 580636156 331665535 357027618 467388563 66872580 32667461 248888317 232258856 344257880 722017086 145327926 885302724 990756227 76324977 740781718 919577909 69214894 812553237 633210782 635959517 913712171 831762015 46973261 787885757 728922565 263088781 190198669 543762112 325061415 44776653 702365717 905697570 376442188 59393334 225602484 295831119 92060794 474490800 528089975 288835026 196507885 673417900 26654101 39780463 749742877 767435818 811874723 818957770 432505406 297601856 307433639 198733929 129363870 354406899 986619685 710802786 470012031 29334705 254564898 795073445 74111358 956930614 553287366 303069897 868840299 778889849 598901015 813417445 253380649 126990989 954768822 302404885 652925241 981422922 342185348 255184469 748858739 6576422 926658590 33880496 304178278 86608580 232614424 286058499 441015478 71750461 996861285 911027508 101085165 103942534 558617304 175196522 60873147 111904669 478266418 782229797 890794518 77167433 448163593 996691518 56674773 255448766 299096402 562116365 236871687 493798101 669817185 838246777 500374523 596475775 872127273 804552800 683084354 104741696 90611298 976616184 176492156 87472582 740160043 277577321 43931467 298777347 305290194 104804613 263198367 783556612 739550762 6509236 713240396 40230706 3200753 622431520 295679472 154813507 37064237 385067510 648611607 706881421 223314287 148986129 155873547 95441559 953538928 691474253 52699606 896666578 668090436 81708114 836655511 260766830 359285434 880586978 559544176 664575627 837907942 822742543 300648590 429975055 829251778 866405337 470205761 684968883 341353209 618401584 839782389 378417445 3469093 488393995 937815217 79299731 489896476 93688764 27257641 295951755 637679368 79957247 192618332 158286155 161665360 29273843 419052984 373467145 762377172 978597160 38042771 600285113 653856054 191207713 30260168 335624183 57613049 352982280 20593065 251482609 971383863 712891805 629900053 827369307 53802152 420231622 906669038 543698627 366436737 933926678 839650381 4116104 13883924 32268713 162402258 28065635 914058907 581455241 401532779 528952430 412568752 292091902 129237542 918941157 335815966 12014061 107081692 245945366 217512692 127674756 497427975 41412906 693082913 127328027 868782213 746885064 400076000 627967602 290583690 766512736 561894279 130234070 770628839 428294555 15019134 785547448 308876541 781594392 219519041 710409320 163063173 632087792 855017573 144817067 403545301 190833538 9347479 510626992 436778903 226860171 490818099 934206877 120789428 183901011 914051256 989571640 930786074 166643607 470055593 73886115 933156343 31949872 56636537 556301533 312760778 924172022 341848981 621637318 558282766 561368021 184562989 721345938 45972164 39580561 866163004 449517464 82930450 875510483 960144455 372225705 102370653 303478906 158948933 75676432 487379916 73000188 65248072 270682342 92160147 387820016 197084808 25316489 272286239 253721344 581618021 585047016 30409718 775983353 59200686 588692483 189867725 96280026 310038420 235839889 135860587 28717776 537873704 71307388 904228258 350534511 443533092 859115262 654013416 602482025 934791693 141393331 527998564 852556116 264592024 620158710 240376132 461676832 497991550 512662370 567914527 79609571 950225738 598324244 708109275 9426423 187016726 897977000 105706448 349571498 133816888 94083386 378289273 524206943 17907126 282517530 874741453 313956569 141632791 528754868 916438593 928940835 522664551 296953509 781496951 639772926 769628570 874389434 101449757 267620120 239568155 521880636 199746042 189793892 120204879 907855316 51736666 159737957 658348667 9959466 509309454 644681906 956559203 887598726 168888849 974466328 22632607 43630301 140939249 16781749 424901521 57377841 945722583 800082423 206847701 579735885 439855348 976476271 454125318 393821457 96612742 693693473 915702092 148875135 736003716 888423322 56730450 787740382 48161278 567595469 650216199 557470731 212277374 606775401 297585808 233682574 433758081 320218414 129829227 574697329 337000162 554730747 484591521 282722745 207329521 543955574 862458629 647184868 372948196 169100299 893522676 469560937 715310123 661741119 618436071 451313838 550164441 527682872 91570571 450842070 95278340 741786769 8312801 160072066 201078522 158414960 393754639 487352954 478633374 523583865 62050282 815633535 930830963 399158154 98356279 138160483 943113727 813331260 637861703 168578274 834947910 531384378 638139210 550258032 45641849 109091632 854088221 595806289 489290856 945658792 46648358 437085547 539961912 907477510 597157612 593556785 65892470 843428603 80909738 397042195 219528819 995476371 212675729 150359782 247150877 163548360 141036616 42780955 829395971 778898318 211359229 664343880 162799048 849498438 67118263 208440896 811106422 921206483 804247184 300397277 719381626 703411893 737482823 111859890 463405755 187156787 705416674 381814576 30585389 638842764 778856770 102630559 634319134 844048850 252990340 881470010 7597209 394026956 924250965 689509531 25441625 135610193 206369762 188240672 837624982 273488024 396681567 501247755 47210859 53445102 801645031 619108836 756856995 391644206 730968725 72779101 431317344 288901751 307110028 314419084 927744514 85966797 417049642 414579999 782531998 670039982 148566361 642645559 916583289 925333677 332155089 942024913 913460221 538524851 130265585 603601554 664529226 526947151 104849309 711740084 580392253 759010691 183365272 189765599 3171248 914333996 115061051 434488591 55752098 422171078 748907674 836012963 360654226 165957316 103109314 143186223 688513649 251675674 785831781 605096937 29525702 970503222 399638201 942985922 361544424 529903785 546587475 26073649 909367288 503953135 590330085 342275892 262963826 773695356 532041490 266135073 540545703 647102540 700623664 596297801 69273617 302047689 284827115 282444194 468005004 387936428 425630416 9035004 639612101 63978549 614131940 669137802 34481770 13770141 464640075 248542545 396190277 11227550 274616193 158073916 367697036 864946277 500349807 630660861 491157984 32391296 749312286 31703687 532010187 302452301 480517839 453800155 604499989 765344953 736244348 72504993 153281381 14391116 81539996 645409833 78369664 548188288 167063987 965367785 414474780 631704061 66426681 663181408 495447962 341042873 821255324 863144998 58505502 321605130 346322210 549663485 206512778 95634495 433883523 591039316 398086795 914401361 44839471 2586784 679746314 633600170 927608128 685544046 500507637 861664475 330953878 431393652 262369114 498017864 249277788 529360245 129721925 315704468 192541653 477686238 656747341 13796976 340831235 567769194 187918457 687153445 117432678 246947586 635304291 403832553 837986902 33391086 318233913 735342724 888494221 850496578 221459245 668618700 536040623 721966882 382799526 719510853 153360533 497684992 70045068 402638321 27045236 52283344 718342788 72103240 529969582 227606480 85900215 870800816 795375673 126335024 410470612 765324703 373282609 45774903 21673607 63785862 931682340 339907519 799128585 672692912 42920449 20587830 193827963 578961071 742554711 429143840 150988275 748431595 926828831 221033343 3586267 953874067 273316686 721929055 25977306 803286267 802051886 964393873 526603435 449943911 943245248 937074046 67784965 169044208 835365300 89458571 232830070 619563991 429366089 31958654 144773254 472286537 52546483 191117568 903763960 647617545 620261408 54752234 248565492 547090238 275785576 252151758 353480656 549102262 974080812 231974314 204904880 628649050 48884538 731508314 78592960 992129785 521098712 146377924 13690344 208980363 235836494 246520413 828544354 517718934 278479067 825833959 990005471 183541901 16951527 746285782 683675798 637212934 801038015 932241289 36819523 929339943 184393046 242816531 330958556 10990210 474790844 535863435 639639259 376191733 267371749 570748570 220837869 788470460 717126493 234528212 997450822 805479338 481048625 678511527 323198271 759527691 356861838 165720093 795585943 373813364 912005874 479261740 863542649 565560241 264019380 900362171 347416535 448412426 143178701 678375090 311918987 470485896 214238524 951558245 846677628 334126624 374823166 67515496 122597083 91949658 154560060 972564257 749945347 635608684 503592135 73143617 247652726 860453972 91380062 43238668 86783687 855902287 375016760 950326335 273978879 639036139 703204858 621395413 87448564 698899910 299770502 251883902 21902158 366525378 55958498 721096137 700652001 430781663 641127985 675765436 375247672 795688044 500846044 125193018 431296727 4438178 50852987 678949452 717408502 142233048 574704471 656708540 850651686 949721230 459551227 124630565 588757369 15272436 746025977 528722284 714172345 898312831 780606186 588590854 264838208 836564683 309686991 965490208 119862698 950814975 493771995 495110369 599019370 994618038 620303387 30316096 851572568 523672725 561781899 421497421 518422124 136486369 78205960 369073809 938723951 537757186 346220725 379997671 553029621 92246702 908719954 119718318 843075884 541842491 708309171 107914091 230923526 870512513 925920650 350786223 673843839 272208997 845896591 272863208 266827034 318716329 155695655 118399601 842389053 569993905 392413373 213327528 558996626 470619333 582401337 497720576 860892870 928622061 877718246 266438843 873385114 638954551 386157160 568977349 33313394 946982682 529407791 116753271 817495195 307844793 467539493 343855385 580053789 165952435 616718593 846880822 337185116 624930599 817796775 32090520 194924504 62726499 245418048 753921129 533345831 827819384 104158056 246755053 608957796 834392653 513193895 334859262 325863555 899351054 903836610 359176948 698850087 285760753 475930218 368861633 593605545 795986062 712717018 173659333 961938497 181951962 873056506 151639964 806882560 543369632 183730483 1807063 606096131 429148530 608244543 139441961 109484265 564918950 238713365 718442061 399311602 751907259 905817674 725175157 503774664 662170635 936868456 202624751 947931387 265315026 571486383 541536931 61301087 136719752 567712615 875755935 318671713 440769121 27395898 125554273 984138752 211126381 979877687 442751234 640274910 440638582 434709547 749759175 5557531 673422911 320717587 257385485 425330170 79051612 982560641 929104833 741222246 771945448 984245935 689153633 37260473 408248670 83206915 98561560 544968421 650919530 826833846 863640134 944205002 854229744 989194406 780860105 917872476 821588444 223611339 410663737 262227025 658320885 12939263 120300908 184260147 333656849 377686392 609590316 412708460 212763384 391211501 6447058 984708831 227973787 695600690 21969304 636222456 631323956 973047215 181190877 134759837 652397412 44831010 78964838 359143507 886541767 859824943 277015982 560646562 935952633 687679719 822873587 446789869 700618981 943174494 631050015 886792182 173377237 93156683 152016993 386140620 484368183 158464050 370849450 712341969 854064739 245335105 201080777 337905047 70898671 382271653 472664883 723296083 279619014 551629721 82439589 18677132 263971015 211971923 579323693 52439999 752167993 254713631 499229867 305303325 50404476 130279881 192095506 223781712 223436563 344112499 609922331 560321097 502576548 833288133 125179418 209157639 78623237 326260194 547062685 2038260 708531846 19727567 577850694 840667211 423873639 512806634 859344342 540361005 724778556 291184386 592801003 329462900 398414369 92030869 634766225 448818844 74827102 826861730 525116908 298263664 23490580 135039238 858584761 378583480 820843722 983764178 587741118 751983311 162540723 987320154 754021570 871072568 859564072 184388615 564256130 135954063 697195248 276116823 676315067 274490156 567301208 269116070 603953055 965715576 213663290 238719279 267050772 288490391 918097361 792167679 586754055 941587940 779723268 297855167 172687771 453083342 134135696 760428888 205066652 296676418 600265393 811604573 20265337 459829465 995993187 584521466 595783527 693188434 860638288 124614945 967678589 280455847 393731014 424147996 98687775 607394304 662867274 218254898 895884694 433480986 10422576 335155100 227585278 642662195 485526618 400273048 95745536 619662313 13218288 153328539 768855082 613483680 964933111 789120418 73313144 813442649 226158235 521613022 359147435 939312874 646227967 179342375 72285073 892475332 603490370 170972847 352385987 118873996 389227744 100787033 552354981 252166671 435942132 779940258 747345217 921468750 180213306 695607105 393647414 193431593 848935643 15018848 806915272 666385106 804139265 732744768 332344106 882813852 106874141 691491540 822126725 605618459 870833915 894411797 498093791 474324284 917900995 850479777 593198279 159645090 951266809 145553260 411811760 239725293 778009869 11673329 13710394 958223174 707280433 259874159 4171118 408732427 274893006 663602742 75117532 79032271 248863861 259977990 814362474 355738001 951469529 489005550 961356460 822303443 235933699 311966602 149144079 153834693 14962730 594858709 313479783 818745891 592928320 577807894 58471183 370938189 589481222 924697928 181677714 296761654 184572086 38365184 705494081 459465092 701967925 633127964 391013714 950831785
样例输出
9999983469999881659999868849999858259999753289999736619999634989999576339999574199999561589999385179999369039999340779999306669999293199999203269999099549999021849999013489998941419998932159998896359998800969998773799987452999873937999872806999867788999863399985469499983340999832549998148599981400799981299399981054199978150499977138799976783099975585099972719799971055499969964999968568299966949199966580199966250099965959499964941199964650999623380999615139999612597999611211999586446999579529995706409995699899995640719995475809995452229995298189995237699995113279994999799949910899948928399948304899946742999463808999458923999445773999443499999436947999434764999433788999384000999380995999376663999373849999372215999369499935106099933720999932642999322621999311061999306896999305840999302359993017109992840309992601229992508149992439199922741699922248799921248799921199918487099917721399916472699913365599912541299911459699911318599910529999101620999099403999097956999096782999035953999034838999019958999019341999019259990144099989996309989758609989703069989618849989527649989309589989257998924141998923935998923566998891130998890108998884495998866368998861061998850344998848339988376299988222119987958459987790589987604179987510889987264049987252719986964489986947569986749329986640229986603669986545229986508589986439349986320849986113998585758998585179985781449985661379985608709985598239985415019985165229985154739985107809985026998499718998494809998471039998464423998441947998434682998415557998395864998373779998369797998364951998354220998352632998351328998350902998340724998336639983344969983331689983159979983148829983135109983129869982955649982832789982825899828052799827659999827191998270587998254231998249211998220609998215569998211908998209155998206208998198158998170129998156053998147909981392309981349981232899811018699810289599809731399807322599805083499796818199795332899794237399792846299792353599791920299790354299788897399787879199787037999785026399784027999783781199783133599782772099782446199776317799776041899775466799775054399774260499773873099773460799772357599771851799770455299769948499767966199767919976693479976466569976456399976450939976333699761315997609102997600089975931899758943599756006299755859975551699975529179975519229975280799747611199747286997467169974663799746301699746190099745144599743756999743385799742472599741933299740432299739167399738718699738643099738479499736664899733754499733298599732327999732012099731327997310442997308387997305846997289854997286191997285748997279111997273681997271295997270546997267238997265549997262038997261131997254199724360499723288899722120099721896899719932699718949099718725199716938999716584099716383499715059399714526899713799699713120399712800997121768997117823997104828997077807997071840997065140997058798997057836997056922997036307997020099970175239970166569969991299969876739969846996981565996977256996973222996967939969604639969585869969426579969407099692960499692562996922225996919954996913281996907764996895815996878316996877346996872999684792299683594999683474399683303999683199199683094599682700299681272299680899899680845199680630399679088499678863599678077799675647799675051499674433199669780999668307899667239799666963999666529299665675099665603099665435996650259996645126996639342996639194996634996626105996612240996584149996581680996581561996576811996568652996561173996552157996548102996544396996539954996519121996499947996492987996491449964805399647702299647388799646821499644948299644335499644283699644211996433747996429601996427489996426862996420527996417052996383427996374606996356899635244099633359199633245199632252399631884799631871899629200996289619996260690996252771996243399962303129962262769962214459962161279962026899619552699618513299617396099615612899614423799614075399613902099613653099612315099611582799611255999610628996104149960935599960903839960808499607403299605550099605428999603960999603622999601326199600740299600537999600124499599459995978783995974930995972169959553699594648799593458999592960399592580399592455599592041199591640899591182099589153199587688699585427299585289958491459958464279958342409958276679958189809958177799958155589958035879957828629957752789957719229957703399576964299576342299576334699576201899575414399575388799575100399574850799573231799571766699571153199569403099568757699567946999566293099565411995644509956404619956222029956180299956002829955969909955491069955440159955404929954970499954856239954785709954767199546055099544345299543290399541979954074229953710099533951399533664399532978999532973799532495599531828599531806999531758599531475199531166599530877299530764199530658399527210199523349199522799952128699521094999518870599518206599517376199516989951485069951385249951378689951361179951279499510620499509273899506656995062567995053834995008848995008222994997989994993279994992165994991690994976134994968446994957710994946511994943180994928449949191994916315994910428994895503994881039948522999484196299483686899483186994814333994804331994804199994802221994800936994794250994789682994770014994767449994761069947576539947338499471610599468472499466486599466336799464798799464047599463990899463843399463674199462814999462811994626100994624035994618899946140599946122339946018299459657999457459499456439299455620799455392799452776994524883994516019945152359945058169945054999450081699449219399448936994484879944820329944627639944539449944401979944239879944220999441703099440497299440384299439374599438439999438371199437734099437426999436170994350948994349705994345602994335034994320263994317496994310010994302535994300419942988399942915579942818919942641699423702099422837699422583899422191999418770899418630799417789799416755999415382199412861499412279699411167999409772399409629799409003994026799940155189940147469940050189940032019940004839940000199939878479939703719939668209939648599939463339939424009939403899393715499393019099392635993917272993906259938942993886958993883562993883173993882321993879158993873055993861785993829270993794660993741124993736290993732918993732849937174599371031599370973299370908599368873993668203993665460993661281993648099936463529936240299362084993620049936189749936116109936014329936011859935852099357665699356938799356152699354747299354406399353789699352156299350211499348924499348414299348057993480249934693099934490499344861993448477993444935993439619934353889934250639934146399934082759933843179933819999337645499336219299335814499334802993346287993339125993309812993291069993289629993278332993276676993273679993267280993264942993264539993241924993239320993230744993218508993191684993161265993156256993139009931351879931286549931235119931191319931075329931012169930994299930870699930541729930459859930459129930379399303498599303076993028438993022304993019051993010930993007202993005569929918259929811469929807569929702419929498949929479799929461189929354819929319239929294849929227999290707599289907399288809099287171899282513992822769928207199928189079928103009927995519927908469927655499927632309927453069927427749927407529927249719927111299927063899926912479926850459926830189926743249926684119926671019926493169926448649926333649926265299262504399261697599261482799260247699260153499258285999257108999256568399256329799253789999253443499252846499251181899250104899249396899248677799248064992478178992477235992475049924696739924474929924460992444347992399550992390603992373518992371171992355118992344621992328004992326689923236749923182499923160559923135159923113819923097949923092719923079699923020049923014799230108499230108399229753599229480599229282099227069799224032699222193099221524299219741399219397499218796992185903992179566992176523992171183992170424992168749992156448992144779921389629921295999210270299209438499205386499205039920484799204011992030265992019461992013057992007398992005630991977695991964834991916679991910069919096899190577799190064991899247991885509918788959918680499185841991855933991852812991832827991820043991816709991794524991794449917880999178475399176703299176622991766109991758109991724774991719746991718033991708551991705697991704539991701918991686638991686613991677857991664520991659608991643169916378779916219099161734699159710299159678699159127199158984399157759915756499157172799157018991568622991559550991546599991546049991542397991541608991531398991523010991521749915143991506745991505959915001629914865499148514991481256991474875991464839914597029914399569914391199914311349914278489914197609914170699141648399140719699140037199139794299139665799139396999139367991380403991372117991357838991356216991355019913532799913414991336426991336277991323904991305850991303263991278693991272429912704059912638409912547989912515509912288499912273689912118279912079999912057799912050049911994599911991479911886399911814389911793969911747339911743859911690509911590769911405899911364949911281849911247409911180109911150299911094009910836829910806889910723259910610159910567279910493199910445099102861999101754299101730699100275599099818999099529299095158799094898990948072990939279909366649909317579909220299909200059908947209908877699086979908650929908473389908325749908308749908264169908261999908180199081399699080957499080896990805204990801072990797449907960099078579799077739907750519907744139907695129907592059907422089907394089907382049907356619907346539907231699072137499069366999069217699068602199068108499067888499067857599067352699066259499066007399065801599065131699063058799060853199060795499059118990591001990588783990588168990581714990580499057272990553054990550759990530836990527791990526241990493338990482601990471753990470971990465218990455970990441657990406705990406292990383504990336903990335777990334914990330295990291216990280717990267983990267547990252179902427109902303239902098969902089999020781399020362199020209999018849299017827999017171099017130299016850999016247899015860599014343799014304990142919901230339901212139901158019901026529900860469900845849900842899900837990077550990072786990060238990050445990049805990041823990021524990012299900081519900077979900005629899927949899927179899795109899792239899767269899731329899465839899444959899423198992838498991172898990943098988910498988883398988243989878603989869839989866713989861097989859600989855497989853954989841152989833939989821366989801153989762292989760279897544598972660298970841989705739896885359896749769896727419896712889896709896708198965607598964478798963623989632222989630559989620949989619292989616652989597282989586156989582033989579576989574167989572201989563369895611349895443159895274898952675098951722198950580498950566498948753698947964498945998798943973989419307989411146989393130989368948989362458989351219989340162989334646989332755989328299892983398927707298926379989256463989238519989234909892345909892336679892325979892156149891965259891964509891881029891845739891599799891586498913588898913054098912612898912602098910836298910166498909800198909715498909043398907822298906721798906507398905831798905154998904886398903473989032051989005089889960398898751898898265988969429889665779889594569889507798894534998893371298892921998892462098891330498889140798888620998888169398885265798884987988841778988840361988837364988837330988831083988824651988819455988811673988811254988809122988797347988791598988767922988765917988756605988748777988725034988724376988720698869935298869793898869201998869174198869023598867895798867421198864219398863171598862458498862093698861853498861697498861040798860419598859083298856984998856870498856680298856217988531703988507546988507477988497398849429884802998847169988471129988467648988459491988456067988450998844986398842119698841696988403516988397098988378063988372804988369960988361502988360999988360982988356876988347006988329099883215598831592198830078098828706098827899098827402198826498988262139988197283988178363988174175988157575988154536988150922988145516988139092988128623988110967988094531988092179988077341988077041988076547988074912988068989880550299880530339880332559880232619880195129880128179880077739879789709879788229879681579879336649879316419879260249879212559879195339879160649879159079879122409879107289879106899879046569878946309878722129878613259878549589878343179878328179878320739878307429878264759878252019878241869878212439878194919878141129878107309878034698779986198779156298777905898777718698774254987734724987729907987728849877277219877259959877021299876986329876931929876814198766407298766304398763210598761925298761002498760982898758767398757949875778999875760319875755449875740079875619659875565469875252299875206998750940987500512987494313987488248987476153987472958987472891987471609874659099874636559874553899874532709874399698743397898742617987408350987406615987399260987377620987375399873703909873632398736321198735819698735210698735118987346600987341702987339067987330524987327171987283231987269440987268149987262826987250007987241115987224444987222414987211992987205064987201021987199644987198558987198369987162028987159734987159071987154813987150729871483169871302829871234419871139269870951179870796398707098298706649598706407598706180198705455798704597198702954098702448987021002987015849869710489869695519869512249869281709869245579869125339869040098689809098689068898688265986875958986874016986871681986857061986853899986839705986838771986836719986826926986818650986810040986805627986805497986799817986796829867762369867619779867230449867157119867131798669682598669589498669402798669140098668168798665997998665819298663804098661672598661660698659795598658889865725679865598559865360759865338499865169789865142239864997498647958398647926598647350598647329398645630498645446998644508998641254498641237986405508986400209863897779863872819863741439863733699863622259863608369863580209863560879863381719863271898632067986314568986306512986304595986295409986279832986268918986267735986266837986251559986237559986196359861963549861736879861635399861502549861352229861220939861198249861111298608651198608102798607703298607043986068905986067676986066180986065071986064681986057919986056879860532649860514049860378349860307659860098649860092279860035579859920239859907599859886298598511798596888098596007298595680398595558998595425985949030985944354985929564985925989859242198589965898589627098587941398584948398583960798582913198581790298581677798581613998581126498581072985810199858079739858075098578438798574341798574186498573964398573108498570052898567662398567190198564073998563522198558999898558354398558248998557401985563196985552968985533931985523154985510733985509152985487151985484852985483975985482514985470064985469655985468172985458951985456850985449393985447734985445589854231849854010829853936985385092985382537985379143985377739853661159853587399853582889853570839853450669853437549853433519853390909853257389853229499853000099852923829852909589852830209852799769852690299852572985240095985239615985231869985231372985228233985228214985207896985203115985195627985172314985154113985123883985113101985109059985103816985093894985090969985088225985085310985068221985066962985034757985000069849907369849833398496413898495442698495432984950701984943969849367219849342369849197279849082559848892289848851419848743099848663398484654498482685998480936798480464298480462998480444898479456298478477098477485598475721598475662598475031298473357598473028798472775984726124984725028984723335984705306984702019846508019846455309846381979845977179845959669845915319845873519845581849845563969845448619845410559845342984528851984519487984517714984512829845086419845014369844995619844926079844881429844762509844682198445209844446019844392998442907798442664298441864998439907984392945984380532984375489843605519843446059843416219843020859842997819842975939842967498427535098426115098425930998422791498422730198420044998419504698417489984156262984155498415517498415260698414855098409975598409693098409282298408970598407582398407581498407478798405989098404853698403600898402279398401863984004537983987768983986473983960559839551259839518819839481379839401529839122279839019479839004129838971739838907599838705609838661649838591609838559009838474299838447439838429329838353819838219983815246983808274983780284983777873983776173983768681983748306983741903983739367983737938983727809837275709837151849837094209836886539836838498367995498365971983655857983647031983614970983604147983602052983588184983583192983581430983580588983568064983544051983540222983539502983539032983499953983492512983482728983453511983446772983439909834384079834326949834077359834049519833980449833942739833873539833519159833417059833294969833263419833155389832812379832739889832731469832728298326397298326300983259247983255470983238771983235912983234874983229378983224683983214469832108798320418698320337983197479831487898314262898313489698312913898311784998311549831092519830769399830691689830631859830549749830473339830464779830341359830248019829967969829898898297967998294637598294262498294231798293047198292050098291810298291745982899797982883308982867054982853509828533089828525798284597698283817098283455198282069898281366498280946298277362098277131098274688898273635798272696998271096398269638898269399598268937798267591598266108098265732798264337598264017398262829898259609825935939825808609825756259825730569825471359825244798252424198252128498251719598251242498249768982493005982489759824748909824550549824541799824499498242238598242045698241840298239838098239308982367651982363739982348681982342779823284982323669823034889822932789822734059822652239822500979822399139822324898222594798222433398221857998221411398219828982196369982170193982165398215527982149004982145647982135849821342669821272999821189498209443698209271398208948998207392698207020998206690598204202098203653598201898598196676898196502098195957798195576998195239981943498194199298192577198191846981916440981914745981908662981886659981886497981876734981866893981858798981853154981846871981810161981803157981799513981796599817786298176355981758365981750637981745216981723643981714778981706789981703178981690980981679834981670358981665686981664836981661922981657371981654049981642915981641103981593853981585439981574209981573682981570781981554100981549759815455409815190229815047639814960939814930239814919929814872829814743969814578469814491189814427709814267319814261549814185839813980199813968398139321981379535981366081981363469813530229813383698133651981334759813228981315429981311801981272195981238770981237832981233935981232556981226200981224565981207346981197869811940109811860409811838198117751998117564298116383098116274981162685981159003981146468981145832981135697981123124981111833981106072981103159810830999810795898107917098106679981061289810604769810575209810553119810495189810341149810301249810066909809880479809741479809519898094920398094907980937115980935941980924385980920002980904320980903608980892699980889771980880466980877938980871306980863963980862880980850772980843830980842980980830327980823953980799697980775815980768895980766486980753299980746030980743641980743539980715893980707256980705699807053898069732980690447980683748980681059806771939806720349806643019806612139806487998064272698063739598063410898063328598063172598062260298061569598061104498060985798060874898060513998058239398057181980562739805581498055453980551125980549742980542110980536290980523789980507712980502612980487403980473916980468489804344459804308819804198489803980579803897629803854099803807919803784649803526479803486989803439509803350099803341198033381980323718980310766980287192980284609802776398027518298024475498023869802196489802102599802069969801892829801629409801488289801343619801262969801192639801162189801024689801022398009328980088319800738589800712569800490709800430699800384929800316159800296819799591329799492019799371959799282229799132799799102299798983097988882497988199397985263897983798097982420897981315979811510979806759798010379797859349797838269797819089797802299797801379797729519797489697974457979742941979735769797105259797053569796763397967081597966499097964900597964388397963417597963031979624423979612277979601662979598025979590464979573789979572724979561925979547845979534191979533819979529840979527261979527226979503181979502661979501464979493230979484469979462937979457343979449240979448348979447517979446089979443580979431457979418854979410723979403189979394262979389119793724197936845297935645797934878979341627979324641979319379793111049793066959792993849792912119792799919792736889792515589792191539792170389792033749792028259791907389791662639791610079791529209791486049791396109791246539791215029791126219790997379790967819790949819790807549790775709790678959790557099790504299790439979790432509790247097900347697899526597899129997898939197897070978963386978955728978932227978926508978918247978908689978885903978884349978883299788783609788774439788670139788567729788409599788334229788236649788163129788022697880171097879068697877295697877264397877041897876212297874638097873818978733246978718629787009199786915509786884319786857539786769769786675939786661779786523797864973897864836297861660978596057978563682978563514978556427978550391978535249785323619785294849785211699785143797849020978477423978475648978473392978463523978458949978452747978452721978443299784371999784173419784171609784080297839198978379987978371575978370686978358678978329868978328268978319038978292173978289628978281438978258702978255994978253763978242966978232697822603497822029782189449782072099782058997818720497818311197818038097817632297816880797816169978152486978148509978143054978141564978135546978120293978117768978113603978089313978087169780813209780783559780782739780732197805734497805177697805072197802590797802382997802173978003559779977159779756169779687509779665429779610219779547499779486579779454597792842197791245977898712977889071977885529778837329778830397788115997787739397787409977859529977839171977837148977794451977781977781794977763599777559899777372049777299219777109299776970819776887669776756379776723397766958497766308397764777997764724497764451497764356897764002977630397762622297762053297760709597757032997756824897755919977548344977546390977535306977529215977525132977521384977512953977502971977490689977464981977453585977443513977427697742472977399360977395741977383251977382320977372633977368723977352183977342611977267296977250930977238576977219422977214925977193606977192721977188999771844759771828699771735839771630329771244189771238839771204059771102629771058669770949619770711579770499619770490469770463289770378049770297529770097539770095169770042897698726976973138976971229976966658976915452976899320976890386976884636976874927976873898976870406976862473976858962976858476976854691976853052976827147976818596976815168976800577976793694976792219767908659767900449767831959767738699767624179767604419767303399767208997671579297671540597671046197667989897665970897665102597663970097662222397661381897659423497655669497655553976548541976541007976530268976514597976509359765076809764939497649041976484280976479667976463895976455139976441451976433360976433154976407086976405590976401938976354038976345804976340206976328209763086149763046529763028719762951829762813769762784597627753497627706097626676976254732976249180976244149976238578976236107976225266976210859762097709762055299761918069761872019761846979761814897616849897616164797614807597614572297614240397613449097611484976101919760776559760611097604129197603535597601414397601318197600907297599395497598262697598037497597475797595536897595003797594077797593563797592844097590254797590150597589706497585048097583906697583854397583563897582597497582260697581985975818996975811965975809174975788537975780975975767570975749646975730355975718913975712359756985579756971399756956199756714019756691659756691329756566339756564759756496859756424049756366459756357459756212369756076297559990597559855297559678975565222975560317975555722975550499755501089755497997554923097554306975542822975536248975525272975523000975518210975492226975469442975464154975449089975445319754443189754213569754157839753998219753643975362394975339939975323172975318142975313621975304184975288209752833397527562975275369752643599752588099752404329752354339752339249752195369752182599752182339752066297517698397517334297514438397513118975095161975073579750708897506442497506151697506129697504028975025720975021600975018887975006924974997996974991558974985153974984374974977438974963433974952054974944842974940687974937120974929803974916178974880786974860696974839897974829185974824845974822889748140529748071939747973549747788849747680949747535159747504639747447459747409549747383897473449974728040974726839747083919746831229746826149746772919746697519746567439746541679746524097461999697461287497461218974606405974605038974582961974556015974551119745413919745405029745337619745167329745045939744866789744808497446105697443965297443651974434279974422650974421246974421171974401609743886197437425597435643197435384597432094974303576974303275974294887974291224974290441974286776974250949742501079742305039742197397419586797419571297419238797416225974160472974159616974156971974147018974129054974122988974118010974116199974108378974108144974100588974090489740837059740699397406715497401471497400009997399664197397034697396927897395818897391038697390570597389505897389410097389133597388006697387500997384833897383631397382736973809531973796466973783609737537579737520997374541897374080897373942973681159736713639736571939736525149736343497363067597362464997361473197360980897360155297359874197359510997359158997358249297355719197354944997354671297354279497354242973532367973521680973510959973498567973497546973495077973492415973487704973482313973471400973466091973441819734390397342019297341980797341378097340894197340481697340255897339391197338854973384134973383549733818389733808559733636069733500449733428859733266379733146399733139297331091497330261997329941597328448897327299732579279732457559732291539732256139732245097322439397320871797320107897319037297318939731847419731788589731549689731393759731364349731318379731290009731099159731056197310395597308980973076889730747669730711119730703529730670797303836097302827973024765973022148973019542973005035972977473972963941972951754972923029729191089729190039729165969729113499729076609728924739728737039728677019728652972863939972856437972856344972839506972824239728146859728028769727927097278421997278071097275154597275141597274924497274810097274608397273662197272857097272153972719259727098279726922449726867939726796497265461097261470997261110972608771972606337972603369725938919725934829725915897258530297258092997257577097257129972570073972558649972551029972537463972530779725305597252988697251386597249581972487795972480691972473396972462151972455301972447851972445177972427610972412654972410489972409972972402760972387613972383749723807559723792699723749309723506239723438399723285509723285059723263279723089359722965889722867949722850397227471897226375197226366197226215697225725197225485197222661197221760497221351097221257972196976972193202972183470972154499972131062972129059721045559721045429721017809720907397207994797207240972048899720484159720398729720236899720228379720181979720164609720121259720064819720044009719830059719815359719693949719665139719542399719519297194311597193296971884929718781599718453139718283697182488997180902897180172297178620097177905497175812297174975097174598897174175397172777697171386097171268197171077597170197997169667797167468397167456997167259716723669716700689716649249716550997165363971653502971650280971647936971645669971637564971624370971601624971587667971583439715811309715746159715701769715515459715309119715187829715184799715138899715006229714914259714913397149029597146764697145964197143713097143025397142693497141795097141225971411641971410076971403057971398932971394789971389613971383257971374003971367387971328574971289195971280679971275174971271739712671199712452629712361739712200619712108349711937679711854389711741259711534971152204971142253971127124971118526971073259710489669710453397104331897103490997100937397096959097095367597094104097093952397093292397093097997092985697092728797092516497090224197089490970893643970884482970884199970880322970862258970858316970816939708070079708035299708010497077895597077124497074684797072908970728525970719809970716127970713466970713096970704735970640443970638379706358319706267079706148479706111019706002279705944669705769289705374297053011797052847897051809697051593497051239197050280497050193197047602097045131897044880697044725697043775597042608597040382197038963397038469197038085097036766197036509697035396297035393597035376297034932197033274997032134297028781197028167197026870597026209970259597022620797022520970221857970219688970208707970196127970191509701753097014944297011349697009250197008091970074898970071385970064447970064344970054619970054319970026085970002725969978697969974313969957153969953214969945304969938467969900601969892263969887818969883229698757369698704429698620519698604359698600799698531139698495589698414789698292909697995689697731499697666339697460229697295939697209379697090296967705796964241996963980896961925969618222969616858969599034969598070969594160969586444969569337969562754969559518969558017969552546969512879695095239694965439694899269694792049694786579694732079694692649694525719694523679694494989694473789694436829694316409694290269694220696941187996941035096939369596939037996938808596938203096938123196936191396935386969351249693247709693215809693127189693066409692900259692766459692712149692299379692292089692105896920031396915817096915071096909122969059887969057645969048946969008396900741296900287969000730968998620968994087968976356968971880968970989689582609689556609689493879689478119689445179689305589689299389689261996892539796892451996892279689010196887039196886213796885459968845249688266079687968389687929429687876239687870349687799979687712659687694759687540796873866296873173996871975968717689968711896870456096869902968697896867609686698309686687919686626009686553279686537529686491989686473596864673996863736096861680968614626968611756968590850968589411968572740968541757968508289685040839684845909684829129684755669684477899684380849684347329684280549684267139684246349684204489683984449683635299683610879683528299683520539683417169683415779683383789683182696831181996830488196830419596829876996829432596828779396826337996825795496825740096825561596825491696822523996822335596820487196818351796817519681697896816790596815170096813540296813468096812553396812539196812332968095241968086629680598479680557089680522399680460499680443399680421968035596968024450968013380968011976968006844967991485967990245967988469967979824967964164967962673967932501967931699679279209679116909679049569678577939678540899678528389678474929678467029678430096783998296783735896783336396781632967815049967814215967785643967779031967774290967765450967755823967727066967715886967707982967702196767329096765376096763759967636336967613866967610721967610646967595364967594573967586888967573344967530241967528430967499010967492699967453349674493589674360599674354559674245299674163496741382967410386967394085967384621967378413967358010967347159967327339673262699673256779673097967290412967277266967269738967268476967266895967257724967252774967245403967226536967222722967219149967215441967212879672112549672088499672087659671918699671849699671766389671743496716628896716587396715943496714645967139839671149429671133509671089896710562967090122967083476967081167967075686967046931967044894967026135967024745967018352967012444967010799966987265966978499669783589669772009669669269669585239669551169669547896694623896694494496693407696691621196691269696689179668803939668778896687720796686705796686185596685826796684779096683639096681759096681144966810757966807563966805587966789059667835739667693079667686029667658419667650596674803296674616896674399796672564096672337996672003796671333896670544296669805896668475096666657966655021966646032966645198966632058966626476966620854966614636966613852966608090966606739966590279966590004966571959665471929665344249665232609665184689665109639665092049664927739664873639664859119664820199664815789664809299664723479664675009664594496645171966451027966443624966438245966436824966436089664228809664049096639806696639637596639479096638769496638617396638534596637568296637340966371216966369976966365537966363656966356624966354434966352955966352189663513959663386879663261396632426696631737496631647596631329496631113496630968796630645966288279662831219662791659662719069662707096626555966251259662437796623949296623630696623360096623008966227639662135979662134089662040359661969329661912989661825139661803289661708669661576159661405839661384649661191799661145409661075219661024529660977196607810966066939660668999660626189660601229660489899660277169659937519659922409659913909659837279659699209659281079659276359659261589659249319659247939658716149658715659658518709658305849658304869658296709658236319657840329657806965779841965747130965699198965674674965657867965654795965645595965641270965640874965639777965638268965631557965608511965607528965601127965598409655971496558800965587179655763629655755999655606965553717965546243965538696965529654965512869655125519655075889655037469654933569654913019654903769654890979654844679654700779654687296546700196540434965404120965401576965387107965386240965384943965378012965376065965371857965360767965357929965335317965326236965325269965315352965313123965306948965292685965278525965267904965265766965256946965246631965237875965229385965228262965225348965217158965209671965200624965200152965187742965185081965182993965154329965137397965130190965115119651120209651095029651073359651014896510077096509820896508857396508115396507246496506062965035505965023959964994096964990257964989158964985954964959803964959730964945685964943996492324596490355896490191396488999296487935096487243396487130964870430964867817964867329964860009964850196483389964833636964817337964810379647874696478440964770965964754041964749801964748654964746844964744669647421069647377896473511196472209964715721964711039647035549646701259646641819646624469646602549646594509646584439646388899646365559646338429646301559646249919646236379646149649646120159645822649645734296456158296455570596455032964528840964528080964527678964478676964477731964470410964466225964456729644417669644349396442871964417891964415890964414606964412943964408951964402663964401652964394799964391441964389749643781849643764959643736039643610489643596739643554169643546999643487859643479649643473389643463289643453719643446919643203049643111029643060709642926964273683964262359964257645964242437964237985964228952964227057964225292964224930964223452964221028964218309642148859641981839641969129641722729641686396416454296416109896415854196411186496409923496409727696409673796408233996407566096407516096405800196405581696405513796405305296404649096404315964038858964030662964014523964014484964013752964013103964011149640023196399755196398601963984208963983017963975604963962142963960858963960259639510669639478729639307849639140059639023519638956779638773339638656899638451329638441689638155599638055899637971649637809029637712296376851796375713963750080963747103963741399637306079637239637134796370404596370365496369283596368830596367816796367629396367391996367056396366948996366436096366308696366257696366075996365874796365572696365328496365197896363892096363546596361581896361513996361447696360444396359271296357500996356575996356511996356043963557896963551782963545149963543419963532734963532276963512950963505478963487978963482949963469032963458159963456309963449792963447505963445803963436248963425943963425745963424350963418569963409693963406489634029989634010309633841796338357396336753696333458696333223696332420896331728963312218963295884963292215963259105963257429632484529632330979632326049632142019631822479631705229631617579631594489631571769631534229631508239631414859631365859631364999631351496313014196312383096310390496309184596308761696308404096307933963031359630262189630176999630157896301151296300163096299916896299181096298430096298388796297540696296618696296385396296074396296056796294301796293855096293513596292877896291962896290681962891544962873077962833550962823126962820772962820665962812159962796496279568496279528496278402896277015962766909627651939627570779627450889627425029627272289627080699627050089626967689626850659626755499626659096265889996265556296265533296264599096264500496264428196263910496263792096263665396263074096262180096261652962613559626083399626036859625916129625774696256123896255960296255472896254815496254058296252470596250449896250312596250154196249069596249015962473379624724409624628239624601949624372449624318979624293189624106269623889569623592139623534189623496049623065569622991469622964696228577396228129622758389622680996225756296224927396224027296223578596223193096222668696222508096222507996221758896221609196219170696219097496218008796217864196217503496217340796215977196215903396215665596215547196211719596211180496211096096210761962095620962090095962082341962072961962069402962058740962055840962048361962044184962041352962040584962009361962007539962003333961994838961990849619791459619592296195788296195521196194056296192463596191924961916040961904363961897875961897577961884218961870712961859741961856766961841476961829071961817761961813728961802891961788824961784659961781974961781169617754529617747509617587719617587399617581496175543496174975496174529961743701961715714961714807961701865961688059616807299616684419616599749616349996163424896163424696162630296160666896159029615620149615519319615416439615351929615237299615227896151665396151125696150329614870819614818796146691961461224961458606961430418961429112961426860961423903961423607961419329614139079614129709613970899613960489613938899613861559613823496137922196136704596134411896133686596132551996132154796131919961310452961300879612883949612791959612757409612730089612672459612475249612456389612323589612238939612212649612181379612009819611817469611815409611613769611522729611456219611419979611334539611322096112249961118428961115668961099447961093863961092149610814959610627299610612096105505096104481696104158596103911961025224960999740960996269960992459609903960989956960989046960980529960967939609641789609625696095679996095430496094789696094202096092898296092103296092085396091975096091590696090500196090400996089718596088245960869439960845953960841180960839662960838369608369849608158096080958196079866796079589096078788696078341696078303496078116496077886796073948396073399296068861896068654496068140496068013960679357960649494960648434960640369606394979606382179606331696060755396060145996059819796059524196057335496056401696055855596055535896055119196054135696054102096053057896052685596051997196051516096051048596050496196050168196048788896048196196047099196046028296044859496044674996044389496042663196040751596040107596036586796035866996035568196035379396035171296034984696034853960347949960336981960336949960329889960321530960308332960276210960265702960232363960224822960214889960202989601984469601897509601734769601724819601683479601682596016789596016036296016006960122379960094440960086248960084302960083618960061585960057679960046123960044245960044075960039609960037996002914296000544696000497959998200959988102959976474959952179599426295993884195993163495992849959928129599221349599058449598794439597865549597699569597624709597609029597413289597278399597163109597140709597034749596977349596967595969170795968716595967209495967004295966642959636886959636087959623154959617802959611709959603495960301295958404495957881295956958595956497595956346959558418959553469595499829595467099595415559595193759594894095946547295945678395944503995944175695944103695943346495942715895941705295939753695939489895938144695936211395934654395934635195932587695932375695930650495930105895930024895929965295928627295928599895928469959283848959283829592782449592628759592568079592387399592286979592217939592189919592086189592003099591921489591749969591573295912196195911219959104989959077477959076808959069643959069584959065228959044024959034821959031924959019671959013930959011207959001671958995723958990696958978652958953319958945760958942789589366469589169958900549588983629588929619588905089588847009588670795884484195883567795881769795880377495879873595879715995879581995879273395878094895878059695877867295877814195876791295873760295871941495870822695869360795867360958651292958649444958649216958646117958641021958636167958632486958615588958608181958604095958600185958596438958594089585883495858171495858078695857950295855965295854621958540125958535499958524489958518772958511761958487461958479833958466183958463495845728395845121995845005195842716695841405195840770395840275958398359583846209583761339583732229583626089583584619583325429583277849583032399582926999582791289582756349582668229582546469582419679582193095821124495820860958203344958196768958196581958195219581893779581725469581723869581494099581453109581267769581266849581238759581033179580980599580953309580917619580873379580785979580782319580738695805343958037067958032475958018184957995816957986017957983596957983447957982599957978132957966338957962921957945297957939604957935664957933529579314495791980195791814895791037695788897495787596695786566395786289395785217795785183795784308995782999695781813595780754095779884495779880595776712295776485195775816295775596495774864295774759895774436095774382695770365595768204595767998195767933195766962995764310095764290095762415995761717395760442995760234195760212295759467895757831095757429295757419595757286395756158995756112895754623995752362957501669575016495749988895747657095746608495746301095746260095745762495745577957429335957422747957422589957404089573980229573736139573664139573627879573515957338567957338550957338079957332740957299969572999269572994509572951139572897595728559695728271957280013957275189572513395724636595724125795724038957239139572273595722609395722209957197344957190328957179018957175709571752309571685439571614529571200819571167259571095895710617395710321595709172895707685195707608295706789570443695703242195702438195701317195698680495697980895695676995695102595694629595693760995692578956922938956901789956900549956881891956880485956861699568522779568520395684331295682751995681810995681473956807152956804109956800934956795439567875219567747569567631119567466139567438959567386095673752295672784195670872195669935195669825495667493695666924395666254695665747295665379956653027956647542956640882956627396956614319566059659565965659565869639565837495656838995656505495655978956544397956541758956530994956529419956513750956498460956494095648519795647867695647607195645215295642404956422309956420983956389428956389000956383502956380077956364803956364481956360481956325136956314359563119869562853019562849109562707469562703095626311995626014595624765295622857995621962956216194956212835956211860956190079561594489561478379561405209561275159561141019560940919560923209560885189560810859560605595605456295604584095602347195601418095600674595600487795600304095599675295597440955969325955963679559538519559371679559316539559228955916194955913100955884225955873477955872237955872009558615309558265679558238329558189829558069049557814679557762629557630009557602049557409669557321489557121795570451395570328395569116295567522295566241595566060695565483095564967955631969955627809556273659555993269555984059555911869555657489555627669555551519555453209555425419555321095550904395549111595548821295548474695548379995547199495544224195543825095543625695542909095541991895540390395539690595536950495536616095535987595534770955338387955337661955335723955332877955331742955314871955312799553044579553017849552920249552742195525326495523897095523752995523697795522060195521650195521497995521149195521133495519064955187679955181552955170044955148750955145717955144099551257789551171579551021579550780295507792295506005955042159550229499550075849549951349549902449549876459549663269549582899549556995495091954949872954946620954937569549301389549186339549011795489970195489716895487634695487456995483550595482081595480950395478031295476443595476207595475206495471278295470360954677424954674519546731859546714169546701559546623079546540309546490679546443519546246979546231979546222029546088939545982895459327995458632395457707395457581895454617295454343695453988695451869895451278695451005095448669695446522695445900495445636195444639995444434954438229544286469544252595442205895441819954416879544158079544096599544064519544025019543935249543798579543665295436202954336946954333785954326976954324062954316127954308882954292058954241923954237179954207213954202785954196010954193816954192750954187687954181739541765389541622439541517939541491295414405595414363495413753195411735495410636495409584295409325895409181795408704195408416495407649195407421795406860895406295095405182895404627195404331795402412795401592954004505954000641953998396953976974953975242953969639953966318953963829539627039539599559539552395395219295393696395390749953882263953875723953874282953854442953848650953838820953834253953812965953807056953805357953798735953792148953788792953775195953758476953739072953732122953727131953720689537183595371173395370919795370365195369618195368379995367938095365882595365468895365434495362485695361946095361685795360578895360427095360267895358944695357583695357568695356472595354240095353738195353418953508791953503339535006649534911549534835895347991495346232695345162795342390953420498953411295953393297953377385953369874953362895335559953352762953338812953336592953318859533139509532982609532863953279799953276059953268141953264576953251989532514719532493229532463039532443849532311359532245795320855195318729295317835795317375695314546895313337495312899531255429531193259531190639531189809531131509531130949531120429531102799531083339530889869530815779530762169530744829530321219530217089529977969529967249529755939529685919529674695296723995292362895288078952880395952835582952830424952824950952822409952820189528164509528140049527755769527734995276624952753460952741937952737402952736784952735738952720528952713780952709611952693951952677709526590779526586949526553099526334219526318649526277579526239119526179195261344995259650595257902595257769695257282595257265995256569595255376495253071195252682695251669295251047595249616595249399395248332395247163795243046895242721295241830095240170795237943795237505195236402795236170795234686495233150895232921595230857495230017895229021952280192952262381952259286952251784952248291952245670952226489522246529522224659522207819522066479521937439521839699521716295217138095216855695216345295214739795212179495211362952108287952095095952081712952076969520614089520592195205343695204812895203581952027831952020482952011055951998265951986079519691539519413559519276779519175519519062269518972595189123895186844951860804951859797951854429518290195179573995179531095178600395177017595176390995175588795174735695173763995173714695173145951724635951711149951702376951670147951664286951658419516563095165128951640067951632356951586642951574676951571190951567652951542015951531813951494797951487738951486580951475321951471588951463996951444645951444403951436212951421470951400662951388919513665695134461951343141951321219512999529512975349512963269512906139512728939512693695126428195125721595124654951231054951225630951219437951215586951168830951168554951152161951129279510833249510822039510775269510772399510645229510614095105686495104157695100712695099247595098789195096869950968209950961773950955809509511479509496499509411359509376295092909495091855795088021095087927895087192895086379795085590595085270950844916950842239508419959508248609508206989508068349507864895077741995076991695076447295074011595073679695072057195071838695069582995068812995068595395068122795067368195066812395066194195066004895064535695062548995062065895060425995060278195059356395059145895058711995058052495057427495055816950549211950519689504627895045952295045663395044288895044236795043020995042871950386474950362052950357317950346174950341973950338286950323816950314473950311569950305214950301373950295438950295351950293169950291949502801539502629419502621359502363359502194089502173129502111795019284795017479595017270595016596895016274295015589501546939501521709501471759501377799501300995012925195011328195010144795008929295006252195005876795003722995003168595002933195002770795002383950015784950009731950000237949998979949987744949987174949977509499659689499484029499390609499361494992804194992264394990759694990329894990146694990089949892497949883620949878404949878279498745949874592949864944949860027949852183949839802949833850949823749498211099498105094980492394979776694979589294978572094978487949779262949765609949754482949753699497511994974668194973817994973506294973378494973174894971391494971093094969860294969796094967999194967571894967257594966841894966523794965017949647779496476259496332909496122879496066139495986129495984129495952694959471949588743949586159949583503949581698949574464949573524949568533949532173949528590949518313949503594949584494949380594948044594947412694947370194946894294945900949453318949444722949434772949434296949414935949409319949405484949386574949368889949349858949348381949343999493413269493352349493321994933091894932215294930113794928684694928137994926527394926429694924050794923795494923532794923442994922272994920923394920261194917946994916009894915627594915606794913784394913657394912286394912099294911780194911045949110183949102819949086659949077106949060858949041022949023179949021472949020989490202039489969019489915009489873099489810819489781599489742949489715948958434948956279489455499489328909489228069489191649489143329489133129489072849488927389488822139488818579488763309488734694886819894886426294884971794884203948812534948804851948786090948772619948764262948757443948743211948740468948735990948733421948700167948695694948672557948661668948658969486428789486406059486195029486043409485951489485926994859244794859140194858650594858102594857413894856317294856031394855877894855589485462209485455894854317194852679485211489485143359485125159485076149485062294849548494848116794847910594846766994843242694841471694841307294840926094840912694838915194838307394837465948359394835929483161949483130494829696894828985948285803948283839948263499482537279482491379482296669482246149482104559482092909482049429482002889481914619481796989481748029481723729481690599481669209481460289481271029480912449480737209480672499480652659480580009480449894804414494803651894801920394800087594799738594795470394794350594793385694791848594790946694789073094788892794788578947885138947879619947877428947873399478680419478677099478630049478584649478534729478274639478216749478197829478055669478042599477920209477702379477614759477571649477373789477275069477147199477069359476870099476526219476520294764512294764499594764057094763581294763053894761652894761571894760864194760499094760364947597593947582026947560094947559060947504160947492336947466145947463729947463701947462506947452133947451064947450962947446915947441824947432940947431846947429034947426662947425849947417334947406801947405538947386058947378623947374059947371030947355269947347131947344370947342126947337954947333920947326862947320625947313068947312717947303323947294380947290084947288345947283571947274392947247547947213883947209214947203364947199309947177059947169251947164593947148138947141223947137400947129823947120881947118825947112821947110810947108061947102314947082738947073079470722499470588669470519479470477829470372469470360249470300794701126294700679194700649470004109469935269469907809469684379469633649469614039469539259469380794692759794692460394690099394690058494689290594688971594687543194687113694686858694685943494682166294681608494681025294679655594679216994678049946778419467769069467628509467512739467452094670596946704247946698679466985049466857609466719429466684719466568879466509219466121319466047339466046659466019099466007399465841289465748994657383194657269594655650694655371794655261194654938294651924094651866394651330294651026994650986994650888194650159794649317094648568194647290294646877794644703094644084794643614494643210494641825394640644594640317894635551694635142094635050194633619394632067694630017694629719594627341294626999494626157294626070994625250194624653294621984194620684094620402694620360946187883946186191946176892946150324946140152946136424946133905946122372946106620946079119946069991946044324946024788946024069460228849460182729460160539460158594601377694599856945988223945970047945964739945955083945951566945935679945930369945919132945918349459159939459137039459107599459011569458884994588782394587855994587009694585751294583958694582404945815959458010919457968319457931799457893679457792529457752139457698649457653109457574989457545945741349945739730945739285945737191945733690945730577945694268945675213945673113945669790945655390945653676945649364945640714945635717945618637945592316945573818945560775945543818945537303945535046945534196945525128945521197945514669945503961945488807945486841945484920945472059454708199454559945454795945447502945435987945422222945413643945409518945378552945362464945353532945350142945339254945329722945328038945319545945315657945311890945262986945262078945261133945260455945249681945246452945187045945180995945175188945144742945140807945139359945135763945134325945127727945120187945117983945111453945109366945095149450890459450812794507484594506352694505913594505799194503704694502041794501836194499659394498045794497864694497789394495847194492535294492489194491716394491160194491146494489873394489798494489667994488436994487928094486899894483416494482615094481853694481663294480741944805240944802689944790903944787563944785268944782153944772594944769479447438494473485794471420594470678694469503944684639446799049446697994464867094464647694464254944631461944627839944619769445511979445411539445340079445339944530186944528828944515722944513698944502275944496085944495927944494095944491952944487656944470471944467559444636009444622094445589394444761944446878944435536944425039944419991944419706944406773944398048944398031944393032944382531944381989443755694437228594435019094432106194431936944305989442859419442813329442800259442740109442716494427046594425813794424781694423776194423158294421863994420377994419509294419007494418498944174578944156139944148224944123682944117709441086309441029594409613944095585944070299440380994403666794403505294402168794401259440009409439922994399135594397878594396566794396475194396169439566849439307399439283869439249279439197943918009943912511943908007943890359438727229438707339438686279438642729438437979438312549438126499437981169437878349437639994376075094375671943750849437490599437428799437234599437171494370417194366049894365091494363490894362657994362579694360940794360906594360896894360473194359587694357142994356353794356266594356047694355984694354896794354023194349271894348338694344481694342647943426050943422446943405720943369184943366379433659539433520079433476459433473989433340869433326869433199829433183849433012759432996579432796409432782599432774289432771859432689394326496294325740994324759594324741894324707694324584094324368494323902794322000794321777294321768794320631294320270394318810094318133794317637494317395894316793943151919943142619943127793943124811943115682943100839430992419430691749430648059430625349430558709430498849430480679430457359430144849430096249429930869429874494298316594297706594294629894293807194292621694292325394290845894288615294288612194288598094288353994287316694286595794284780942841655942838383942836794283011294282249194281704094279551094278469894278003594277701394276985394275254494274841794272195994269326694267852594267305942665091942663609942662019942661048942654091942634026942625643942623577942622811942620459426192099426164869425998239425878799425717949425660009425645019425544879425095449425065949425035919424812579424763169424528289424184459424114709424090889424058639424023509424004079423974349423802659423755629423609929423590499423383659423372094232995594232195594232028094231678894231578494231207094230220494228375294227721994226988094226736994226508942261759942247822942245833942244296942242099422254319422170439422148294217647894217168894216063094215621194215617942151159421463989421392479421371119421364689421195509421118309420855194203609594203106894203094942028823942023144942019185942016066942010091941976329419750159419732259419667059419563794195434494195308794194684994194635994194085694193332994193020794192960394192213794191864694191411994191261694189537694189451194188754894184946694184421494183947294183665994183314941832661941832188941804762941797493941781916941777131941776173941770553941757093941737439417339279417264894171549094170984494170345194169553194167260494165838794164492794164156794163876994163717594163660294163654694161890894158708294158037941555079415513699415458819415389329415161941515019941509726941508061941472302941471227941450642941441567941427999414250909414202659414150789414105189413926089413777349413503679413220229413132309413062594130507994130075394129827394129210294128835194128268694127913941277773941270199941265650941263056941254001941244009941237091941218587941206173941195671941193896941185141941184649941169089941144530941134626941113564941100684941065258941059314941031547941016556941015006941002349409981679409961594099456294099309894098814594097312094096125794095947194095915594095507994094641794094545994094139294094091094093725894093336894092314994092305494091780594091723194089821194089078940867349408617829408513989408424969408419829408346009408328349408321449408127794080846994080579594079825694079461394079364794079333194079077194078807094078655494077298594076734494075974794074294394071633394070577194070515940684092940661642940658734940648959940640622940639943940637434940627639406202789406108569406055529405983979405964509405959469405910539405761009405735529405659994056246940561634940558256940552726940540207940505614940503471940483538940469690940458040940456791940455716940451833940447695940437208940431441940427149940422213940421168940418493940376401940368931940362380940360410940350609940349482940343457940322559940317722940316595940312008940307969402963994029187194027845794025658494025479294025219294024258940231011940209259940196630940184788940175594940165855940164149401507399401411629401172469401124829400937699400834219400829919400716819400715099400614929400598219400542079400518549400207594002036940012298940007999400073094000291594000249993999409593998501593996572493995662193995528593992864693992590393992116193987418993987208793986373939852273939847519939835881939833949398307919398257559397940609397902739397802429397773309397740819397721509397613593975708939754211939753054939747638939744320939717642939715891939712155939702270939699401939697919939697329396917039396806509396790959396750949396738639396679069396668159396648689396625239396532139396491349396447039396413993963519493963506693960675893960377193958571993958303693957340939569560939559563939542793953798593952679593951209893950929993950639993950416993949778939490962939482784939470430939468479939459810939429484939428171939407137939406197939391498939390030939378979939367251939362593939347640939332869393193049393140799393032129393017593927859193926983693925596293925353793924804093923397993922680793922072893921493893921406693916886693916678939164747939159319391555379391550699391467749391369879391094493909061393907634939074667939068409939049877939046343939026083939017086939016524939011989939011696939007185938995838938993979389915979389890929389849939389826619389680599389669593891129593890746993890206593889406993888421993887960793887790493887551593886847193885245938852439938850766938850109938843817938831744938829531938826197938812531938799274938794723938779370938766399387514869387432459387414799387366449387363919387303379387143989387091589387025639386850629386821029386706679386703229386693929386380889386350139386334049386333969386113919386006739386000193859644938594437938588598938582149385738049385496693854739938545049938533819938532362938531859385246909384978569384958793849387493849240938492289384614519384587279384397519384305659384114193840136893839497693839240093838974893836506593836020893835001093834774093833934693832609383114159382910099382892279382862359382700739382662829382569193824202793823676593823353693822165893821673193819332393818930693817875693816702793816363493815528938155259381479539381413719381316689381256629381224409381181399381127899380696869380525709380461499380459293802888893802147793802056593800379093797992937978010937961271937955559379426499379424539379408149379386579379196649379137169379122199379061679378951579378913339378659979378590079378538529378481369378387493783431937832128937829487937828248937786063937732754937729842937724459377192169377155693771451793771091393769962893769658937686514937683938937676199376618049376585649376567429376559819376530529376358593762931193762270693761704293760512893759827293758751293758120893758053493757371493755334093754891493753784593747931393747676693747369693744720193744245593743620937404510937401633937398105937389202937380186937365282937360660937335417937329635937321416937308423937302778937300714937275564937256816937256669372490937243271937242371937236915937235176937229675937213789372063199372026089371991479371979419371919099371871549371770449371731093714760193714354693713740093712953793711986993711811793711454593710575693710385937091133937085849370828129370803509370656509370563937044057937010859936991421936989412936984810936981471936973246936972498936970578936928688936928031936919309369134693690730993689208893688659493685969593685421993684187193682916936812897936811056936782707936776288936771071936762659936758551936750881936749070936748263936742251936739813936731117936704841936698638936655500936650344936643128936642738936636264936620220936616890936616052936601899365982693659236936581707936562748936547254936517926936503084936498609936473209364605936458272936457884936455461936453140936443650936443393936437107936435349364018649363994793637500936367656936362979936357382936355231936352651936346361936331619936309849362883369362820479362714049362603519362594419362541009362530893625062793623772493622965936221040936214374936199163936195804936174531936171371936167275936150743936149693936143031936135606936133406936121917936119283936106074936105530936098734936083528936076040936049379360456099360437069360388759360385289360338619360318039360297449360197993600239093598436693597919935976379359745709359709459359601499359482629359420549359351529359196739359117659359060189359052779359046459359027489358776929358652189358584889358571993585682593585574793585287093584491893582958093581977793581443293581403493580641393579387493577642593576507793576043693575602993573943793572726393572068893571081935696326935692593568992393568116293568044493567662093567577093563968993562410893562081993560265993560239193559440393559035393554251793553379293553033193552816593552682193552598393551863193549832993548480293548389354811619354806399354800229354701599354661209354597579354338699354295099354179069354069969354059193540072935384093537541593537153193536657393536424093534584093534166935341329353385809353118693530170493529859352961699352918919352901129352651049352406179352202069352018439351983599351979679351967859351347349351168759351041779350948529350892779350830529350747869350677359350665369350577709350180299350129509349592779349540679349290249349222829349099299348894189348862493488281093487787293487153493486777393484686293483676493481536934809299347839693476495934762982934736249347329293472682093470876293469779193468615934659971934655913934639007934624778934610341934609965934602699345904709345900189345767949345738793456476993455837693454721393453403093452869893452615893451523393451044934506705934501902934499644934497699344929309344900049344845619344818739344800093447877093445593593442691593440662393438819493438025493436703393436286493435511293434824693434768693433512493433325693433101293432461493432320393431044593430129493429953893427619093427579393426180593424839193423868193423488493422568093421642934193023934166804934164848934157972934149931934149336934138194934130426934125796934095947934090453934085385934085197934063493405168793404158093403589934033802934024572934020230934007571934006149933997324933994004933973380933973289339728329339682899339590209339481989339467319339394489339271209339136309339068899339038279338992779338855619338831129338825269338754689338716679338647239338609489338600929338511429338479439338374249338322769338315389338296309338268959338215909338006959337938989337773389337758659337691729337669679337641393375634933751123933747729933726334933722239337189693370557933699739336780899336739049336712919336688449336681779336657669336592119336275293362661093362646933623844933611098933577497933566632933553550933551715933551210933547459335370199335201099335200489335065559335031929335025829334927659334871679334820893347629334742749334720619334334669334333409334094933406760933395802933394798933394769333825059333813559333608679333431189333416369333026909332987189332967369332871749332849589332734129332683079332682709332629739332556193325475933250959332412479332261889332255019332221169332210359332203593321781993321390893321266793320874093320187293318533493313716293313122993312861093312323893311784093310660793310454493308665593307840593306172493305561893305331493301994093301614593299340893297493493297430993296579593294736693294136993294023493292543893292253932921952932921459329186793291257932899749328985393289302193288857932886312932876929932867297932858151932855459932850933932846629328433269328378809328359559328300069328253793281665293281089493280596793279801593279788093276192593275141932749727932745793274375893274003393271889893270669393270271893269549793269019493268947893268256932661800932642946932629754932607000932599645932593844932593018932582727932578566932574419932573037932568008932565929325545079325448779325365059325324139324979179324920339324880289324846819324822593247834793246934393245417993244290593242685293240775193239158793238901293238310293236120693235891193233823593232760932303929322863993228368693228079993225994932256499322529493221316793220268593218886893218419693217620193217404493216286793216121893215983932153264932151894932151218932146538932127681932123843932122344932120865932118296932116510932114000932105085932089496932076185932072588932072015932064091932048104932033157932007909319940179319924259319896931956119319550279319522119319373089319350109319323493192633393192157493190180193189873793188765593188212793187107393185903693182704993182061493179156993179106993178499193178403793177608893176120493176007993173875931731473931729156931725885931717402931714193171307493165942193165851893164983193161893931611919316035649316005269315961679315836893158237693156924931557821931537599931533630931516072931512575931507351931505310931495339314900799314879549314828293148082393147894931459132931457414931455774931435856931432696931431470931426722931411086931409001931403104931401640931398883931388868931377609313656059313368549313216729313189309312938069312636779312598349312512449312500369312420269312344969312115279312051219312008069311991009311970089311902119311846293118451693115387993114999493114428093113766393113624493113326193112619931115593111202931094139310876859310780709310632949310589393105278931026969310135069310129029310114109310035629310018599309976349309715499309618893094940993094636693091909293089941930896206930885050930883234930882360930879294930863915930861241930854459308438499308209879308127589308082329307930179307913999307873429307817679307729689307579469307371099307154249307143489307030159306929189306923979306696299306640939306551769306542929306506449306250269305929779305869599305553639305287459305260009305204729305061930502939305001339304989059304945809304889269304763469304635159304617619304585689304580649304260093040878893040715593039524930393749303894629303884659303844409303687639303676359303576319303531793032423093031893193031157893029778493028246693027823093024502930241525930240752930235849930227999302217219301824579301821649301817809301683519301600999301525809301515309301346193013445893012793293011145993011077593011072493010325930101989301012029300925189300736193005974593004503930026264930022400930015263930011639300110909299949819299861419299651219299339299324149299291029299178979298955929892629298915479298689109298651419298616389298512189298471409298353049298325709298245492982244929821870929809701929802075929796382929795893929789599929781493929776709929726950929719150929715744929712063929709604929708773929708153929706580929704569296778509296522799296469279296388509296366089296201119296147229296099929606392960452392959593992959287092958446392957088492956371929552412929547849295449219295259079295220529295100392949891792949374992949043992948415692947307292944828192943990592943849292943394292943313929417665929416905929407446929394659293834569293806989293404499293329989293125189293070092930398692930390292929220992928000992927812992927468492926827692926319292616192925820892925768692924651392922558492921624692920087929196914929180660929167701929122299291205359291132829291075419290915892907805992906863192902666692902596292902422292902409192899178192897350192897021792896765192896101892895473292895380892894809992894569692894154492893849289361529289360849289299359289286469289105092891012992890974392890769492890665928904379928891947928886816928884988928866216928857726928854724928853369928844659288435859288334392882361692882354092881622592881257692878685992878467492877793092877621192877347092873835928722263928720257928710624928706388928705891928685996928664665928638028928631160928622769286195179286098992858087492857374092855692092852980392851810292851705492850831592848761992848634492848522092845790392845714928453470928440529284350279284255339284191509284026469283848199283814579283655679283552909283430249283361319283173859283073669283058949282883449282873729282805949282799379282747649282664939282586139282557049282503119282468692823311592822913692821850892821636992820530092819326992819063292818129281771209281752092814899192813724592811622692810795492810672592808773928078191928077299280384859280374949280351809280180659280127919280081699280074239280027989279847509279845539279730992796521292796298492794785692794316592794081492793881892793648892793557892793553692792881792791790992790761992790579492789714192788644992786412092783849492783830292781849292781754592781368092781055192780690892779839277958339277755292777070927765052927760011927735475927715019277038569276887369276809359276802649276738079276641392765934392765327927643299276358249276351839276294429276259392762403092762385792762186592761823392761396092760119092756100692755521492753929492753307927529497927525365927516336927513863927509939274966009274800939274627992744887492744119592743796492742848992741998992740380592739838792737719092736749292736291927348803927346888927332982927298921927295438927292044927289790927286023927285995927284819927265811927257540927256749272553449272552159272459892724313892723953892723738892722326892721634292721060292720825692717990192716104192714717927143533927142781927137179927124474927115911927095406927093179927088497927031334927031248927025184927007792927002938926999031926995289926992985926991592697996692697532092695914692694804926939979269251149269219379269141049269133589269123839268993699268854369268840629268820909268818369268480409268441499268311559268220239268155259268152149267964609267950289267943489267612529267576279267528992673810792673771892672036192671773592671607192671481192671311592670981692670968292670121592668916792667856592667778492666755592665707792665063892664336892663424792661556092660382592660036926595043926573634926552593926545667926538041926522969265091292649955592649687926489429264561669264503669264371969264279939264236892639258692638864192638330192637910292635581926350493926344991926336997926336429263210489263198349262772689262644609262483559262469392624454192624239262354649262341229262275699262177239262136392619104292617634592617139261614792615314792614961926144618926142192926136992612862992612688192611565092610721592610485792610464192610404692609367926088166926080862926077824926049371926044324926031460926014115925998974925983105925976622925955345925939845925937949259265799259246292592180592592024692591511392591362092589163592587712692587266492587089992586192592586049925848131925841378925822989258223049258088369258031579258012169257941539257932399257789389257786969257731709257643199257573229257553939257406169257306892572930692572827492572384992572056992571890792571308392567376492566818592566366692566187292565751925656073925639520925637565925627499256244809256094069256040029255989192559375092559029092557835592554924925547449255427925538802925536256925510553925502743925498603925497217925491188925487772925485430925434456925427940925418121925401256925390892925365693925364319925360738925351285925350690925336602925319332925318184925289293925288059252644709252641079252634959252599099252514292525109992520647925194397925194248925188455925186539251602439251538239251477925145452925142225925138358925121145925113842925109143925108845925090900925086607925081520925078029925058458925016681925004894924994103924989339249854339249841392497782192494625292493469924918499924899777924888749924885396924876525924873619248619989248563729248473879248200379248138369248107219248005792478459392477102092476229492474363692472415092471834292471574092471402692470852392470071092467980492466825924662799246612769246240429246110569246074749246033409246022649245949049245866259245866069245751992456763392455425392453417924516351924502922924483862924481769244642179244628159244466629244389829244316449244278689243919309243884529243877769243779129243757929243625949243524189243419059243394349243227559242976939242834092427442092425453292425330692424470392423701692421939992420322392419332192419315492418981192417791692417778692415153592414542692414277192413661492413430692413337492412659992412571292411464192409674592409541492407539892406350092406349292405106792402438924019579924004264923987086923985323923984639923984252923983757923973657923972004923959959239577139239525779239484329239425639239391979239270019239249679239192499238926529238915949238819329238653799238535849238499379238496209238416499238225189238184339238174899238096459238031192378950292378385092377313092376975092376800192376746892376260992376088692373716692368563692368024492367468492366558923655569236378192363233992361000092360321923597869235938429235905879235748429235610269235556479235540559235266329235033089235011819234931769234848459234817309234659989234657292345330192345301392344936392344899592343910392341480092340497392340022892339702992338755992336132392332982592332817192332216192331551492330781792330498492329399792328924492328782892326650292325946492325767892324827292324760092323628092323029992322486292322298192320445492318770492318375492318169192317618992317510592315304092314988192313811792311527092309754892309172892308819792308522392308160892307070392306279092305131492304981292304425092303478992303417892301536292300428792299682892298367192297433292295970692295190892288969922886710922880405922856439228539119228440779228297409228220229227978139227614792276106792274871792274274922735583922727035922715209922705096922699953922689145922680309226767859226421899226251969226116379226073619225972579225958019225870992257214922562302922551173922541720922537175922531999225317319225218539225209359225179169224838289224732492247066592246983992246469224627989224528539224470529224420992243109992243052992240266492240076092239382092239190792236533292232334922321816922301041922293423922285381922284799222832922275959922275386922265604922262939222595599222542392224674692224616592223673792221687292220454692220393792220342192220104992219067892217420492216440992216323392216151922158979922141834922121792922096798922096049220960392207862922066618922059662922053226922049696922046546922034700922032344922028855922013143922012982922011761922009099922008204921996991921989641921989566921982303921974688921961026921956317921942664921924879921920634921903200921883092186783921860856921850507921848384921828215921804949218033539217989259217951469217949359217948921788878921788469217612549217504699217497179217391339217355339217342209217298239217113209217029949217018792168194792167895092167503921659580921651229921649421921646263921626749921622451921614904921597359215941659215881699215824599215758919215695259215675039215617309215369839215362359215321709215295309215261749215187829215140679215018029214860239214841692148297921468535921463446921442169214355099214133679214048592140258921399255921391492921381575921378629921376969213692569213547399213463039213372829213328479213151019213147999213117292131059092124982292124760492124052792123602892122273692120635492119715992118613092117439211729019211619979211499369211398992112085292109590192107868992107634692107546892105205292104621921038518921036737921025563921015702921004712920994063920992276920987671920975154920973910920967577920964971920964402920960527920959685920958469209570449209554259209549309209522879209233509209082749209080039208722792083017192082249792082067892081983920817061920813539920809596920799787920776734920774449920773065920769869920749392920739952920739702920739654920729023920729019920728651920719345920709062920685968920681922920668270920666257920651482920648190920623908920613439205980609205837849205809459205716969205508619205505309205449909205398129205385169205345019205342409205188719205188189205168229204921489204880049204746149204647129204611659204498229204497920431066920418853920411588920410229204087619204024979203961999203817389203772809203690629203680029203295649203249919203137449203129059203053439203043849202950692029071192028403592027214792027144192026301092026091692024040892022881192020393092019283092018260792017270892016910692015578592014305392014175692012139392011928392011833392011362192011036592010359792010340692008808792007562192006882292006060092005939200546059200543009200327159200304992002516292002475920023560920017235920016328920014631920006500920000950919996324919996069919990056919977639199766969199553169199527429199509591992041791990492191989063091986240591985856191983664791983436691982374891982002991981892919804758919800808919798056919796499919775472919768648919767119919762147919755407919728496919712001919699629196919019196872991967615491967506919667383919666315919662974919639279196359139196249759196124289196104979195991879195984859195926869195848069195742091953688591951054391949175491948249791947521919443403919435114919433219919405894919397897919394355919389403919366366919366017919360229919357549919333913919332523919325859919324544919307412919305270919297939919283842919266382919265320919250787919246149192410389192270539192268829192254519192192219192100089192063249192025091918725091916198091915875591915106491913806291913152391913108291912810191912727691911269791910816191910715691910219091910183791908676691908266191908236591905285791905106091904381791903645091902592491902446918999858918997747918982929918982657918976335918972417918964767918943459189383449189355918929420918919996918893651918886801918882516918875498918874959188723829188603299188503729188499039188367189188366689188173679188074329187971619187555079187548109187518779187441879187440918737699187284129187235119187191659187135209187106169186975139186950349186854539186710918661659186528299186506709186401449186362549186314891862959691862232791859045591856506991856097918560783918537625918527027918511291918502415918475055918464925918462276918458833918447656918441164918431581918416949918396645918396590918380462918379758918360146918356261918353635918340050918324916918322746918309739183026579183004129182847791827082591824428791824005091823976691823866491823645791823560891822671591821204918193247918182080918149950918146326918144167918124273918119970918115603918113529180929609180913849180808399180792669180714719180658399180549709180509039180506119180412791803796691802974918026396918023297918018820918002733918001443917999194917992128917991499917942714917934663917912652917907335917880939178793089178587999178550119178524999178357159178333009178242139178181119178149699178144279178022719177597519177564519177460279177405691773193491772770991772675391769202891768859176861291768349291767213891766610891765712391764814391764604891764541391763980291763866917628609917622828917620691760487191758531891757841391757009491756676891755509391755106691754148791753218991753190491752460391748832991747862991747367391747215291746884791746615391746201491746016691745939691745462917443999174410589174358739174203999174175909174159891740215291739278391736468091734870991734648191732479691730973291730892891728826791728009172718091727108591725119991724296191724280917233629917227379172272789171890691717047391716370991716109691715459591714690491712315991711562191711326591711273391710508917097070917093539170815291707988591706863691703475691701701291700134916990325916990223916985955916980100916978286916977477916977030916971591696588916956604916949589916936949169067149168803591687630491687547291687268791686981091686946391685862891685424291682045916803019167999709167918799167888129167810691676901391675806691671826991671555891671397091670568191668979166659969166646291665912191665628991664695916644410916639914916637532916631069916628766916626534916610708916601754916600422916595039165917169165847969165750679165373609165327829165098659165033989165003399164925339164905579164842591647973091646304991644974916437899916435585916432258916425526916425456916412531916405002916402390916361189163584619163557789163502079163363391630191691629165916280453916238554916216680916213520916199853916183376916177294916165910916165890916157478916150221916131662916121094916120737916112213916111944916109889161026839160947599160612989160333799159898939159879891598031391597238591596975391596946091596390915941547915917629159125691590695591590657915896491915892316915890603915888319158858389158738889158725669158715489158682669158507129158318949158306609158150759157999019157761049157632991576121791576108491572791591569664191569450991568676791566929091566187791565705391565611991563772791561448191561389891560500915604565915603832915592781915592579915580797915577151915575349915559663915556680915542531915537166915531448915524412915523536915521108915513285915511605915496979154862915485403915456678915451186915434674915427669915421883915420561915417892915406094915405739915401790915395097915379257915368695915366885915362744915351529915349429153476791533907191533631291533460291532168915318350915308257915287794915284323915283002915278992915267489152667809152603579152530879152526339152398519152392929152388419152172591521391291520738591518266291517400915165138915162651915146050915137719151375769151139339151098539151034589150839150755839150665839150639809150633709150529859150389519150385191503646591502926691502755915018397915012583915010665915006824914997454914985438914952285914944715914941431914938395914934375914932261914923365914903616914883462914878005914875210914867817914835529914812972914798929914787726914772278914771696914768419914760238914755976914745279147417799147385189147381839147371989147358379147328339147170499146882509146829259146669799146383159146251991461748091461673191461132191460599145885799145738839145710199145677009145619091455103391454475891454204091453315391453112914507508914489909144744199144720259144655219144614279144608699144577891445756691444342891444138891442421914423511914418005914417253914414752914409321914397868914386751914365498914362369143570479143493959143447679143398009143181209143153489143141839143103949143073059143031319142744709142695189142686889142661659142599091425713191424669914237858914235118914218031914199439141833439141511199141507779141396591411964914115823914106885914081179140622919140596189140591739140475269140474269140372779140290419140002729139943369139930049139763891396770191396244791395340691395234091392722391392446291392195791392163913918625913914416913896289913872985913868479913848130913820830913818331913814839913788282913775215913770759137466469137444209137333309137289489137120959136933069136852479136799739136653249136599029136467089136410739136394199136383699136358839136338691362971591362622491362564891362491391362263891362164591361969691360829891360318913599229135969359135908091358002591356519135637449135590279135542329135538359135137359135062129134572529134537289134468089134167729134161339134054999133999029133925959133653889133602859133566659133513079133427109133413319133122439133115879133006569132972579132822089132671691326097491325872791322869891320430891320286791320254491319739091319617391319463691319413391318606391317877891313208091312953791311899691311235191310223691310050791307674891307169191306742491306068691305096091304665991304132291303070991302840491302681913020207913017226913016212913014696913010688913009854913007755912995524912988324912982682912980817912948665912939658912934767912927635912915191290164791290021091287379128570891284742691284559991284130291283669791282649128111999127804159127778499127769379127750189127561691275382391274916591274017391273625912725788912714824912714708912710663912706205912704837912693709912689339912681452912662430912661195912654949912647403912594669912592041912566740912550939125460891254330291254317912538837912536767912528954912508233912488990912479691912452749912417049912408385912392724912350367912340676912340499123287169123269999123131509123006629123000599122915069122910669122889569122889489122855949122850399122849899122847769122721859122583509122531659122349209122247069122239499122105969121821239121804599121803059121712619121654489121613339121600309121551709121539549121487749121486649121481119121449109121325569121319391212947391211870091211682691211020591210699791209488291207804391206722591206630091204519912045025912044841912042453912035325912034527912027633912023728912001089119879699119873319119858199119730039119669799119638379119526879119521479119510911905353911904480911901971911898307911887219118810791187002911865603911864786911838828911833969118189599117916199117781829117613391174173591173984891173227491172068091171293091170812491169356491168656491167138791167016491166189391166107491165056911626182911624395911616227911613898911598999911585371911561217911560934911546003911545345911541805911536093911524112911523743911516070911501677911501005911493379114884491148688791147884291146780191145694911445724911442135911439143911422609911414514911406185911387559911384896911376251911375436911369836911365698911356680911351724911349382911337611911331855911330503911319909911293359112780819112611719112358879112234229112110519111800739111662849111546579111381699111194729111166691111630891110269911087048911079675911068938911027459911027029910996988910976790910960671910954400910930737910921075910914083910913779109131779109030489108902429108844291088176291088124591087845391087423891085345791085212910845681910838578910835720910822519108160809108135489108126259108056391080104091079554891078227691074658591074371291073057591072690691072102691071863191071755691070721891070370910691563910689298910686429910685539910682871910678591910670216910647194910624747910574758910563088910557517910534916910531285910526729105030869104799759104735091045498391044275991044052091042571791042533791042474991042391091041266891041095791038739291038053091037805891037498910367288910362682910360548910359411910352109910319469910314759103084809103040639103004539102632329102598491025167591023585291022023691021970491021108910176010910170259910151699910146784910143119910120492910110904910105021910102408910060217910051748910032413910029626910014721910012862910009284910008758910005359099981229099957909099890849099669849099646979099588790994327390994064990993927490993858990993167909927677909914963909903669098995639098884229098870979098548559098431959098313299098142809098118439098090869097969709097710449097678779097600199097595790975691590975400190974085290973094190972414390970803190970032090969382990969246090968186909681683909641290909640049909628881909620664909588558909587184909585741909585504909568240909559567909554010909548831909547176909523204909519994909519057909518886909508831909505744909505129094974690949709909488196909473203909455333909422999909420349909413586909399998909377496909370693909366744909360414909355999093349949093171019092996429092703729092551149092489039092382069092225069092169329092135419092115419091938879091903629091891679091876149091809619091779419091592079091521589091315009091155349091144509091122429091105490909560090909420909086819090853739090853689090802959090688189090543159090520009090519649090486059090349059090347079089923379089612649089587839089528349089513619089211049088950119088911269088801090887878908877271908847375908839957908824319908817169908814559088116509088084699087985908780092908761512908754891908751641908741381908739499087376329087335019087310979087127769087020079086804249086792949086736119086683419086541399086481790864565790863081908629951908619239908614739908601825908597959085804399085734139085698229085686219085671059085520409085484879085411109085355199085316529085235209085215509085207490851723890850939290850604290850130990849514990849449690846354090845507890845010190843241290841694908413536908412907908392057908391278908391099908335169083255889083212259083125090830860290827741908255862908227839082232539082183849082152269081815589081785529081741339081729549081717119081473690808607690807192908045149908042045908038598908030458908030148908014022908011908010332908009452908006878908002383907995759079807759079789019079788449079752749079707199079651649079565579079558269079533579079364529079211099078864907879838907872939078710329078598169078507259078364259078254949078138929078055779078029159078008389077863290777473907769525907767843907742358907736107907727578907723332907717576907704637907702195907697316907690047907664013907659133907646881907626898907625719076152679076086699076009869075927490759061907578597907576446907566400907561849075478149075456859075451679075415539075407389075302359075232589075193690751091590749535990748969990747213690746423390746192490745449290743871990743626590742001890741780690741190190739131907370871907350550907340886907330908907320819907315553907314042907303660907287978907241423907230345907226108907225277907198560907169669071664599071644779071632329071436209071364729071329549071239859071232029071081739071068189070668689070596609070449879070320969070257909070117190699928590699686590699225906987438906979043906975818906965303906964389069395669069316749069272609069202839069186690691185906910751906892437906885251906884899068786059068614019068430829068360349068315939068237009068101659068090309067903069067856049067327729067199069067154359067090749067087259067006829067004039066693799066686439066680829066657679066607539066586009066484899066471189066198489066179099066164539066004690659888390658486890658408390657942690656986490656432590653438190653141906492905906473991906463633906447996906407524906401233906395102906383555906378379063777039063771539063745339063736829063581409063490409063323490633063190631717790630308590629962390628450790627981990627952990625266090625021906248809906234353906233872906217954906214727906208928906201389906196263906193720906189518906158899906156551906155426906152949061454190612955790611204790610614990610359190610083390609163290608289690606904890605508990604995990603500690602431990602292890600935090600679290599120090598951690598022890597161905968616905965009059644979059497489059414969059361049059244379058840109058746849058726989058482379058428890583605890582887590582706190581663090581241290581100290580476890580413390580193490580070190578808790576421190576194190575880790575750390575439590575216790574786390574685590573530790572511190571833090571370190570692090569592690567677290567190566988190566981590565761690564053990563511905627073905620184905613700905612953905595712905583210905580396905580349055668149055578269055448489055424790552790190552475290552093790547803490547548590546448590546380390542575290540952905409357905407486905390105905386267905377985905376502905342369053384689053028059052922490528805790527230290525916690525033390524662590524589590524490490524445190524084090521871905216895905202458905199771905199162905180536905170514905170443905159929051129299051095509050991690509609590509441905093918905093377905088529050726049050716449050705659050524079050486369050393290502783290500196904989089904987914904985537904982939049788689049742439049702719049699509049528390495039904946778904943416904942651904933692904933209904912439904906659048995039048910429048841019048752959048532229048493079048410729048288029048263169048024229047989190476916190476540290474175490471905190470103904695000904690503904690216904684733904679137904674416904671206904657112904651309046229079045940339045844449045743529045687590456512890455966290455808990454814890453157590453141290453030090452215290451989290451731904505797904502750904495852904488671904487019044861109044855219044810459044805690447789044733099044675809044651469044089109043976469043931379043843649043811029043784259043720949043679149043652759043505019043187949043130499043094690429999190429257190429135590428997890428477090428459042669009042528249042526019042297869042036819041953679041883159041836999041706679041593779041401409041358789041355919041183749040961819040890909040785519040646149040591379040393439040282290402077290399227903992014903982604903980989039801759039790699039680190396752490396314390395563790394969290394896903948960903946351903941318903938439903929993903922133903920389903895659903895089903895072903879730903861590903823897903767822903767762903733654903726634903717689037173590370667290369589390368965690368305790367354190367076903658858903658105903657887903630298903616319903609917903602798903585272903572219903554603903551813903546891903542798903521631903498791903477523903471778903471320903467443903462792903460501903456993903447035903446742903445136903398039033980190339325890338666290338545290338363390338135903379407903376324903374839033685629033623759033603899033528699033444189033419679033361929033336999033277649033253599033113779032865779032854399032841809032733499032705809032564529032383799032383069032368839032338959032294559032144790321190790320911490320425090319540590318915903166282903164331903144245903142839903138996903118644903092919030907809030894439030771903053760903037409030371903026276903015557902996274902979032902974304902945975902945019902926726902915651902911189902910075902906823902892649028899609028860769028659279028565079028449269028429209028417889028331149028283329028072189027986669027617490274924290272579690270442902691091902688032902687022902677904902657438902648084902642715902620640902620488902618397902594481902548399025418859024876639024840839024795079024732449024454329024313839024273829024214390242106090241849902410260902404007902401143902398091902384415902372805902370900902364140902360427902350768902340665902320469902305413902286392902285591902280837902268802902266344902256723902242919902228793902220153902200119902184311902177464902174695902151095902148868902146287902140589021339839021080189020988579020971519020916590208304390207959902076984902069844902067514902063926902057627902052199902047381902044875902038902902036869020170569020158090199727901996047901994809019939169019873859019588269019554069019414909019349609019285369019231509019037799018965669018918779018903049018655079018649339018522749018470419018459109018433690180861190179655990179208901777299017676569017647029017585589017519359017479309017467490172919190168549190167910490167339190166335790166293590163996090163675990163296901621245901619900901618243901613800901613260901610764901604187901600663901584629015821239015703969015603419015260189015221769015210569015206139015167119015018399014912190148980790148170690147637390147401590147038690146197990145770190145562990145337890145059790144987901436179901415699014105069014041489013935590137786690135026390134793090134776090133720290133633990131636990128820990127897090127875190126131690124092390123601090122375490120727901206729901203161901199659901194418901188287901172542901166748901161511901158528901144021901099165901082827901075688901074809010740990106573190106318901054965901049759010463679010107249009799790097963390097332790095674590093709790092365990092200390091136690090830490090046590089461290089352390088761390088388790088325090087630290085869900855591900848144900846413900845632900843759008222890081505690081341890081281490079967490079439490078719790078478790077826990073454290073306890073166900727186900722863900719716900685009900684642900682400900682065900664860900656482900627453900607707900604019900591603900590613900542904900542251900538879900538061900528301900523400900513262900513141900499839900497790049140390048084590047103290046487890044465690043896790043876490043737690043703390042439900423834900419869900403960900402499003916279003906069003905659003879909003842699003779490036801290035631590033352190032821900326074900316876900303899003036599003028619002814390025010690024367190023955990023200990022124690021935390021197690020566890020143090016987990014003790013256900121301900119949001156659001145429001072759000996949000980489000900990008155900069120900067603900063474900063403900062115900061285900059509900058235900013415900005591899985131899984316899970768899934417899934363899892163899874537899859336899857491899855785899841765899823208899819461899779008899778292899775974899773141899768729899760054899754818997535918997455348997365468997155058996949648996947378996805189967416589964737489962327289961155899604080899602320899591056899588945899581808995800018995743089957360899566320899550567899543862899538808995215458995080888994991048994899438994796378994766889947488289946471789944584689943597899430307899428868899411911899411638994061489940344789940131989937431089936501899351222899350918993493978993405658993385968993371438993171678993154828993124758993089128993025488992954428992867528992792388992754089927531689927490389927091489925574899254350899240100899226162899209206899209118991956078991904098991837908991632658991544018991448389913890189911607899100996899098870899091244899088273899078415899077698899068660899060358990565508990519889903412489902214899021559899016967898996953898980041898977741898968280898964535898961994898936605898935231898917076898910362898909983898903802898900903898899302898898986898893728898883377898860328898857218988552068988414738988258968988173618987745978987602589874918489874185689871805189871765289870258289869819989869736389868024089866221389865595898648840898644244898622790898610916898603555898600280898598868985906368985856208985836638985795689857393898572041898571586898557028898548708985484058985451558985411038985335658985211538985201389851714389850853189849682898493717898479610898475023898469757898468799898422155898410091898407402898397457898395566898369364898344028983238038983210528983143748983082489830620389830337389830101089829007089827029389826322689825766789825668589825636389825304989823716689823265089823076989822185898217198982149808982112589818535689818130989818017389816629189816257489815964189814926898135107898132210898101786898097228898094338898086330898065629898053262898051817898050329898043550898035397898030829898019683898016928980162108979969648979886768979799068979797438979696897967043897961965897935215897933434897927758897914717897913031897908398897908380897901077897869836897854106897848518978390958978371988978339268978223138978180018978046458978037508977898558977896478977869858977821918977819118977671468977627689775229789774837789774400589774326897741938897727463897725498977193788976860788976810948976698258976640478976597789765753589764076089763652489762773389762139089759287689759138989759118989758930489758788889756522989756211989756063897552810897552698897550443897543419897512353897507271897505067897488654897481039897480755897468943897467688974556478974292118974266958974090568974078598974059888973950048973929398973878778973775989735319289733870089732482189732166897320030897318946897305883897290303897265682897263264897261177897260384897252060897250617897245118972400598972305489719898189719672489719199889718897989717294189715695489713529289712074489709917989709603089709035889708995689707782897075289705797789705723689704712897027162897021500897020442897015716897015520897000633897000538896995598896972368896953111896908918968925698968881628968835318968765088968708138968624788968594848968559188968486538968478198968474418968473228968366408968222698968159288968154758967991789679328889679143089678989896764987896759167896751104896742032896735910896732000896729248967285689671981489671510489669689489669381589669129089669052896688304896684765896676190896671548966707758966660008966562958966448628966417698966366658966349378966334278966236928965887538965800238965785858965741158965648308965578689655613089655066189654965689654928789654781589654714889654292089654113089653096989652324189651155896510279896510258896509261896503341896502660896501980896499059896497548896496748896481822896472043896471808964708098964549908964165589637531489637202689637036789636933896368925896364672896364290896360629896353686896352233896352128963457748963325789633147189632212489631694889629093489629063989628743489628147389626500289626268389624641989624200189624175896239932896238339896238089622997689621831189621713589620687089620006189619036889618959896186992896182131896180584896172385896170817896159225896151338961446558961306208961283858961030896101448896076348960592108960296538960047938959981358959880418959863998959709989596970895955394895916887895905617895897796895877270895861061895858821895836491895836077895834032895833214895811327895801416895790717895786859895776830895775560895769995895767565895763415895758790895739274895725004895709177895699108895669879895665258956521078956192268955959758955930988955914938955726289557086589555987989555769895543172895510868954943408954896748954698618954624498954530088954485978954285708954260298954143598954118889538609089537067089535121689533801289533146889529657589529629389527966089527726895274518952529948952412518952284798952189898952050089518779989516885895163431895159183895154867895153948895140548951345708951280778951258289511957889509947389508371189508161589507600789507421689504284889503709389503673589501913089500454189500370789500256689498429989497738289496339189494301789493814789490512189490417889489189189488546589488078889487513689486971289486509489486488489484982789483329589480828389480558489480518489479543689478504889476083789475003089471449894713188894659108946491838946486978946433589464306589463612789462838689461942889461291894580766894576573894575022894569512894569470894557878945540408945483818945314358945292989448619389445187894447706894421852894420783894400648943961238943934338943917848943788658943753248943557818943529489434680289434281589433872489431873989430062189429913289428130689425249289422925389421445189419006894187370894181837894174911894165664894155002894154107894143977894135697894118233894093679894080572894071743894033407894031029894024853894020805894013224893998809893986638939773948939754498939424998939401678939341488939180498939156228939119258939098798938994989386900189385390689384860589384656389384336989383626389382827989382218789381736789381681289381459089378424189377714689376977289376745989375603189374597289374508893743868937371578937312168937233718937196098937190118937139658937118538937099498936833028936811788936776788936731128936697558936661178936622208936605328936599288936533689364979589363800589362696489362399689361819289360270789359658389358864089358602089357536789356453389355941989354916389354482489354473189354046589353136389352975589350623789350089189348765489346643489344512889344505789344167389343458289342224589341687789337851289337242989334075789333680389333615289333324289333111289331735889331606689329564893290645893282589324700489324287689322709989321736489320972893203551893200678931936888931828228931786028931756958931745889316032589313018931202918931137828931125778931093368931046818931018893098369893083318930801888930675098930654648930620358930570789304498893040041893026917893019175893013068892999245892996877892995991892990898929837598929604538929525578929438398929327078929233789291660889291003892905854892898531892886559892881419892870916892869185892858578928548148928357108928289758928271408928148568928120038928074178928013408927607568927498228927332548927259148927153348927070388926954618926949088926920892687789268334089268170289267351389266693889265961089265608389265332389265181892647888926463388926390818926356908926252198926250328926218248926034988925930898925799768925726608925722278925682168925271038924733098924713678924705968924329098924321892430891892421017892414533892400822892396689892378118923699289236509289236189233902189233680989225965889225785889225679389225313889221146892207826892203020892181133892177069892173532892170416892166481892162405892162295892161248921517488921409018921198048920910989205964889205043889204858189204504389203201089203150989201030489198480389197969289197349489196956189196545089195807289194891289194178289193995889193819089193742589193328089192584589192311989192218289192193889190027789189583589189483189189069889188677289188247089187685891864278891859384891854121891844371891840590891836458918100508917949588917881048917837891769698917509608917490968917400578917390028917333128917309891723617891722487891722098917067989169904489168336189168253589167994789166833989166465589165317889164888589163115489162884891625560891623398916143928916126891605898916002268915956498915526688915381738915325198915285438915242288915166108915136658915132089151015289150961489150849489150252489148434189147858189147718989147615789147608914706489144498489144158489143743989143060891402512891399465891365224891363438891359646891359259891353572891339088913115198912964458912871489127413689127244389126139089125964789125908891258917891247878891241649891222028891218878911770891176663891172587891168752891167651891167607891160660891159418891158394891139914891139524891115917891112965891108420891102261891094959891083789891076776891058704891050514891042514891034541891027860891027049891026060891024889102353489102110389099976989098553089096408789096221689096074890951726890950795890947015890939488890934735890921382890887378890881118908771168908602518908542228908533698908476958908289878908199228908183890816930890812394890808489890795769890776758890763296890759066890735256890727978907187878907183708907147890703865890688713890687913890685808890670986890666705890665285890664446890643864890641304890623829890615324890596233890575568905690658905574638905466818905433318905402498905244108905155318905065518904879598904775608904743298904690908904507138904460689044004489042906489042635289041799890400542890382340890374344890362008903600398903270558903261989032045289031131089030791989028171489027639890264089890259324890252599890245328902412378902376098902277708902211068902187389021195489019905789019651589019613489018485789017595089011985689010994089010669789010381589010011489008619890076941890073900890073020890070754890068184890066120890062187890055632890052307890048495890024497889996350889991898899849238899801838899594338899571958899531608899222508899186438899157658899078899042618898834488986994188986892888986817088986055488985910088984924788983464788982480588980714788979466488979042388975738488970814889698348889680524889662938896551388896445888896369228896310888962800889625734889622551889605481889594729889579775889576107889566208889565790889562367889559988895553088954758388953278688949642588949545788949225988948714889484397889479781889475408889469546889446983889440828894298788942891588942564788942288988940384688940026688937385988936570888935599388933500889317071889307243889238214889224688892226958892068348892064278891841088916506088915271888912608488912514388911963588911760889101242889098705889091551889088705889080493889056436889048998889028370889027888890151088900891889006118890007088899129088898994588898615488897914788897563888969915888965088888957788895227188893311088892976588892843788892514588892471588890939288889967688888051788887106588887000288886679288885798088885458988884680188883358888820257888817588888111448888108488881041488880875088879454588879099788878838888877406188877140288877101988876552788875623888755370888751908887436928887419458887205388887069378887069148887058798886690028886572548886532928886449168886280888609488885961088885806928885761178885604178885513028885483388854649388853661788852532888461730888438795888411959888410608888401340888391450888384971888378487888374113888373059888371456888343788888333779888332384888323148883211938883204538883145118883120118883118068883105198883050058882921608882921448882865158882849038882798888882761258882699468882637138882593998882517158882410478882286928882172158882126458881796358881779118881718228881680648881338138881321348881278198881144188881082488809212288809211988807759588807683588807668988806844588806689088804893688802394188801899788800374488799778988798528887980307887978128887953387887952896887944827887944766887917337887913078879128698879081988878953528878952468878646268878566788784828788784259288784143088782981688782705688782407788781841788780003088779341688779083288777343888775904188773959188773044688772589588771002588769489888768755988768571688768159488767928488767242588766824887660342887648604887646987887584857887582508875604458875534988875496808875202618875098198875076788750494188749957388749769888749511388748638088748386788747880188747792588746203188745694188742959188741449887413807887407780887393405887388408887386284887372879887369491887365836887338650887334023887330352887329788732077788731765988731371488729351887283778872805388872588228872523038872372438872249418872181718872150788720587688718938488718500488717792887172767887168544887168051887163206887150012887112964887104542887100188887077608870742678870457488870434908870403788703071488700492488698285488696670388694689088694271886932898886915447886903362886903073886900747886881181886878588868658886855304886854434886827650886822238886822163886820743886816742886813647886813161886802274886796043886790553886787991886787580886769976886763696886758607886756878867481628867428698867348888672648888671334088670779988669153088667673488667302688666750788666446488664791288664103988663508886623227886621648866202058866152368866097508866086198866026308865707648865566888865488918865460978865304598865266388865124428865122698864950728864772888645056488644487588643499886426743886411051886406590886399315886398904886397817886397519886397265886394188886350087886349000886326457886313050886306708863035828862891886288904886257715886254703886250168862371188622425388621953288619872088618747388618280288616716088615657488614633988614473588613250688612661588612407588610251788610192886096647886042373886032108886021987886019178886014588859994448859941978859888788598560788596284088595928588594777388594725885943744885941114885930685885926666885918994885891225885888714885886829885855632885854068858535678858352068858152328858032538857931118857925508857808598857683448857449438857343628857295918857276348857190778857148968857127968857122088571214288568610885655707885646528885643982885638114885634298885614445885610285885607942885600498855726868855723578855532678855459318855309088855146168855076368855020058854972188548544888548286088548188388546556288546211088545911885441609885390353885376779885373540885350334885342886885330940885323751885322670885320638853167778853094948853074258853029838853016428852963668852884068852860885284620885282506885271533885252322885204713885203152885200633885199743885196647885194127885181673885178865885153727885146618885138367885131775885121350885113885111768885111096885097968850906388850621138850442288502768588501396788501344088496621388495367988495012488494368688493272588491692588490678488489992988489780888489754884885629884882751884879600884875587884874645884866688884863730884856166884847189884841439884823024884822792884816726884801185884799349884765442884750494884745168847427448847416138847394698847137338847119938847069488470691188470472088470205884697848884695713884679059884675171884670990884666239884659948846540188846403288462792488461379888459694588459012588458849088457865488457616884544656884528563884518350884515891884514614884512998845076798844932884492664884481722884472618844707588446221884460939884459079884430983884424318843970988439691884395795884383343884372839884361626884361469884350654884343759884338998843084788430718388427808688426095288425885888425135088425119188423618842021958841919798841834808841669708841596468841592568841591028841454158841229448841188628841147128841131548841001398840821908840790968840780788407435688406949788406736288406211188406141288405793588404398840375228840305608840277878840141088400060488399599588399068388397893388395273088393367788393080088392917288392451488391941688391490788390351488389505888388646883860548883859245883855609883855212883838379883835838838275618838234638838186088381564188381168488380887988380245688380207883799170883798874883794518837917028837822268837650038837476588837414788372478088372088188371201788368972088368280988367727988366467688363771888363629888360670588359984883596387883586060883583241883579237883573455883573281883561116883560848883549836883537156883514766883496278834884898834882818834684448834663188344114688344005188341815288339409188338736888337715588337315388337153988336804988336495883298774883298398883291687883268156883254428883248683883245855883227409883209119883167640883149828883144977883143882883138237883115405883108182883096475883092358830918388830910538830836348830800258830697688306170288304548830409608830403288301978788301859688300758888299409688296872188295779882950056882932083882931258882922992882912308882889403882867475882862627882859976882833352882832963882823458828000298827920888277951088277211488275916882753597882740764882736241882725763882716226882697532882677487882673574882670378882664038826602958826462788263765388262406088261104388260727888260462188259706988259681882587761882558888825469098825468188825459348825389698825301898825245228825209088251618288251210588251178888250250688249840688249300388247231788246261488246259188245650888245271788244557788244240388243520788241943988241580688240489488240189188235569088234141888233405882323551882305656882287864882287410882281997882281668822776188227410488226615988226563788225814388223789288223644882236256882224018882217492882195783882191047882189616882181465882173184882163487882145342882131597882123333882120299882113508821103018820769338820713968820587288204123388204002988200724088197941288196794688196082788195606188195506881938378881937794881936834881926762881923335881907388881896368881894546881891739881888404881874858881872353881848607881848375881843318881825014881821215881803547881799508881793324881788566881777387881764157881730638817215758817186088171061488169931888167776988166329881656592881642512881637330881636579881634179881603499881600496881596166881579616881576231881575598881573926881565248815621038815584758815485668815300848815204058815180908814942958814942848814942798814830788148255788147571688146292988145930788145276988145120288145086388144181888143359588141486588141323488140614988139950881395206881390062881381145881380816881371618813679598813665908813641808813602988813568738813393868813374668813327068813323828813317388132923881320908813181008812907828812904248812890048812852118812841988126581688126447388126445388125647688125323088124615988124192988124181788123991388123938888123839988123757688123393888121679888120473288118774988117902288115019888114357288113816388113329488113291988113030688112782881113471881110708810995538810987728810770588810655218810518398810395148810386008810242878810028128809956068809944488098647880983679880980163880975747880974697880972192880938628880926768880925506880916356880911880903903880897749880891776880889631880868363880825848808182508808103288077062888076033788074909088074440188073434288073308880701724880696727880694813880692084880681126880670676880664335880664085880663398806534368806302648806300478806254498806244408806169288806105318806085158805922188805472798805312048804997638804845588804812488804696228804681908804669528804656618804372158804342638804287328804100408804094108803995838803946778803701588034919388034418880338340880335810880334648803180348803150008802862118802821698802744898802643408802609398802500488802397038802243688801867938801842078801548088801146448801122188800905818800864818800782398800673458800658338800574048800525768800392868800283188000887880000441879970390879969755879962625879949799879944470879923888879916289879916224879906098798916988798889248798819287985154987984831587983105887980977287980511287980191587979723787979292087978625287977752087977264887977205879762283879730608879716744879715828797068818796982678796976478796860608796691878796657698796493598796435308796184879617614879611319879598087959770687959055487957639887956687287954484087954412287951208087950746879485304879475186879474331879470175879469281879458175879420645879399535879398118879378559879368838879357218879350886879349912879341990879329197879325940879315208879315026879312866879312332879310872879309101879295787929561487928887787928625287928040387926872687926008587925224087924648187924462187920704687919523287919272387918155287918126087914963879140078791256588791204738791181028791144618791126238791009038790820628790615858790536508790495718790460287904038787903922387902377387901982087900284787899930587899258087897793878977602878966578878947530878946124878935528789180808789133187890461487889946487889750387889563878890815878889084878886833878884659878884086878883674878882794878859704878859071878854967878810241878791178878783200878781318787691968787690287876431387874871878743853878688244878674678878669805878656791878656095878645694878644547878643931878632840878619598786166598786152918786151458786101078786081468785942878567033878557139878552860878526642878525617878518552878516991878514769878511115878508677878497920878483295878481488878472673878464758878464467878458242878456978784443087844117387843327287842576878425181878414398784104778784095678784047528783939878389513878328826878327553878323912878322618878319703878317811878316931878272463878257968782558298782175288782129087819138878190579878168772878156640878146972878136656878136396878123725878115181878111687810752878106824878095771878086120878068638878056956878036044878011812878006541877982903877974341877973498877965858877963118779557248779522318779475188779460148779441408779173787791404987789460687788979787788255687787310887784776487784339187783399487783212877826792877826577877809206877806762877783679877781810877761405877759508777420068777415187773906087773012877729920877714700877714520877712715877709259877703388877696336877674015877672909877669132877665267877643496877633654877626262877600902877592683877578131877571291877564027877563861877560368877544862877543038877540561877527485877520646877513998775112987750083387749505387749273787747818587747805087747662187747398487747173487744313587742720887742684487741846877415343877403002877386342877376328877375801877373873877342737877335328773318278773265038773186288772823087728221787728060877255404877237053877233798877229543877225398772236688772204287719924877187968877177207877171830877152068877130384877123518877101407877082025877079538770560108770454787703554387703287987702945487702732587701438987700321876991472876988366876987028876985564876972740876970561876937233876935738769311508769235888769151918769013888768921318768829487687799187686915187686171487685896876856985876852962876846179876844832876837768876825581876811789876801758767964088767960388767890348767889687678802387678659687678027876776202876758814876755300876742482876741651876725346876723725876718634876707566876704530876692185876684539876671048766675938766633398766623878766591888766477558766416608766247738766170338766060578765847528765747818765572928765550008765487998765376398765276598765116348765037788765003478764939878764836758764327518764260268764258764188168764022148763946858763943558763937087638949987638471787638096887637067487635320287634939587634238087632762887631981876315960876300666876261520876242954876238353876228612876223466876223242876220589876207812876206308762037048761970328761859248761735348761735108761657038761583818761510958761462868761164948761122788761063958760974287604450087601419887601217187600748187600161587594548787594336875925293875925187592395787591824187591708287588520887588123887587232087585556487584341987582694987581007587580867087580402887578880387576538287576121287575804587575092587574851987574627887572828887572496187571934587564392287564232987564015787563996187562790787562626587560565387559995287559909587557736875568053875564178755584408755540118755293818755233748755035248755033018754815368754801968754732308754608778754556318754530028754527438754491987543971587543856387543193287542862875423303875422222875415136875410592875395818753941178753789087537562687536358287536250875350210875350189875347228753469487534385887532963687532673487532185187531092875306156875293187528438987527505887526407387524976875235805875213793875205419875201081875190914875161496875153448875150510875149443875131040875118253875116056875105613875101685875089701875089581875083258750734687505780487502911874954689874947885874942277874929951874926670874918358874886664874856838748538208748482338748449288748445418748073298748072428747803498747651758747559058747466558747368468747335428747286078747216418747153887470726487470610187469968187469244087468684887467930287467374787465136687464368787463223987461347087459520087459272787458917487457847487457581187456827487455718887455328587455264287454439287453434787452092187450127287447995187445461987444432887443530387443259087442075887439257287438169687435827087435704874355331874352393874347460874345404874338821874330298874312278874287662874284964874283609874274077874266453874253746874251587423594887422619874217224874191019874187368874173618741676758741652638741543887414521874143523874141977874137656874092783874086513874084064874083898740831698740826598740785187407776287407673087406933287406508887401799587398451287398040587396790187396358739567058739565828739484258739393388739392568739276158739082138739068078739040118738738168738646538738425168738424288738296048738220538738206688738132338738084528738074487380415287379330587378060187377620087377270987376791187376503387375943887374359487372739787372449687371617287370100487369998736633448736618878736536988736466258736382938736153308736084028736049018735995258735860418735812398735799887354247787354161873534927873529721873527143873521328735117298735014988734993008734899948734897868734717188734494808734339798734261873419205873416246873397002873390004873389132873379998873373169873363862873359555873357696873337325873334023873311461873302078732949768732938387328714287328461587327554873272198732696873234910873233528732293787322497873224940873201997873192651873190664873178761873176157873174535873163133873150541873136782873125848873114060873110181873106438731000718730686358730639158730574458730452178730250348730064288729763148729655948729553188729383688729230358728894308728668998728589658728544998728441098728346798728320728728229687282232087281753687281741687281349287280509872797042872796291872785184872783357872750911872734064872721972872720904872684225872678168726685988726663787264235887263236287262885287262630487262617487262583887261754087258333087257526987257029787256903987253931287253338287253274187252864887250518387249889287248186287246474872457839872450549872430260872428202872422442872420888872420285872415002872397435872397319872383501872379092872376425872376108872372217872369258723626098723543948723352218723147598723104187230321187229979487229651687228432287227410387226812187226631487226564987224785872245724872214464872205708722042308722001538721873038721668928721651808721575872153872148518872129420872126983872121534872118657872107388872097308872091222872081668720763958720615698720583908720457358720388278720348648720295148720275798720191087197546187197386387197254871955713871948300871941729871933450871925643871914450871913306871904762871892154871881803871873676871870922871857954871852085871845323871839878718318878718139871800426871794185871776038871751810871751488717297608717216908717193018717037928716950418716873578716819128716702878716354178716346618716292148716277718716215558716138998716130268716091887160731587160464287160045587158588687156422687155393487154777787153404487153287187151588587150643787150362387148842887147851187147336187147011871449638871425659871423178871423047871422028714176438713963408713957038713928388713867428713840508713763858713742787136766387135779787135311987135212087135103287134360787132974287132271787131911387129172687129040871284730871284453871281666871247598712459028712358488712230598712225871218406871209586871204278711903258711839678711792588711729778711729338711638448711623548711475058711342418711182928711057848710900638710745948710740898710666787106060487105687487104031187103995687103322871020006871001084870991434870940989870919098870908219870904601870902898708850538708845778708831608708773918708421718708367387083295087081929987080126987078932087075712870740138707385258707384778707313987072234387070407887069660387069586287068774987068488787067168087066270787064974870640186870616802870609008870604113870600818705923148705913388705794108705787148705604587055963287055954987055579787055158487054658087054516787053405387050678187049154187047726870471257870463602870463344870456886870450935870447174870438992870437438704349587042343087042280087041512087039285687038398887037528870364802870363399870316279870305228703050388702992588702905987028948287027077687026817187026729487026156870258408870251359870249109870225475870222524870219769870193226870191545870191039870184774870181597870167819870140262870129828701218938701218308701215568700894208700878008700875848700867958700863808700840598700787198700620578700582858700532918700406578700394828700273628700046869995896869990527869983999869982518869973021869969988869969722869966499869949402869948168869927287869919023869916863869887642869883523869874073869869850869858706869856088869855698869851288698490708698449978698398668698373468698287848698233338698129978698030568698012128697902278697887718697835608697789748697734938697715128697497438697426688697338198697289048697278158697199048697162838697091348697027178697002838696732968696721488696645786963577886959963786958720186957723986957295886955879986954335869533052869527233869526796869511886949099086948951686946741186945682186945272186945119386944824886943921686942596286942061186942028986941280786941137986940932486940121986939988086938229086937928886935748986934927186934560986933066786931680586930318786929727486929621586929452586928869986927654886926175286922604086922371186921791486919524686917853786916782186916466386916088869148746869128306869115381869114700869102801869099349869094668690899708690674086905737486905647986905299086905264986905067586904585586903600986902655786900233786899328686898203686897812386897741868974758689490908689409288689167428689167086887155586886726586886359868860935868855568688456538688419268688247638688163008688155038687989238687872588687810048687705658687644698687572408687512588687501738687400368687307586872390868718375868704546868694629868692253868676263868672390868669689868661099868644269868643628686389028686363998686297008686147188686063428685475886852375686851886486851141186851107786851059486850246886847266686846748684671998684587618684568198684459378684387678684387438684362148684283178684271098684233186842320486842264486842002986841888786841883086841487986841471786840661486837501686836558386834776868337661868318002868308804868297219868296373868291607868284638868274284868269632868266294868260438868256268868255992868248386821085868209166868209031868208823868205166868194242868192167868182974868174977868165020868158038868143915868124778868123928681221268681213088681164028681018108680777778680757858680730388680682958680680248680679286805625686804826868036792868030439868030411868030161868005098868001201867998409867958733867923474867911948679100778679016586788677486787931586787815386787357886786603986785679686784123386783643086783622786782393486781228686780029786778276867775318677488768677442898677429298677425318677422348677366458677336586769850186768867186768135486767770686764609786763706686763417586762443786762246986761128086759169586758835867586891867574586756286186754420886753871086751756986751615867504613867503128675009948674851428674613688674553858674519668674517478674371518674353488674175868674120148674101288674098458673986948673976708673970958673812358673716098673694028673588328673280548673068118672864418672748672593808672535818672479878672469858672451888672367186723562286723507486723197086721977286721642086721575086721444686719897186719878186719360186714222786713684086710694867097968670863598670803428670515568670491988670380148670103468669986388669958808669851138669797898669602198669368678669329698669307698669293908668973188668793468668652908668636238668530188668056478667924538667874668667829586678206986676865686676223786675157386674035386673762186669041086668609986668404986667841986665728986665109586663320186662716866622023866621853866612261866605918866567152866553940866546294866545971866541210866540117866527060866512699866510197866510093866503286649557986647929186646627686645738986645547486644571286644312486643614986642499786642382086641337786640107866394880866386087866379223866376227866372751866366273866357651866326258663241508663096848662941718662880918662626468662543018662519586624321886623269886622712386621668886621504586618964866189308661845818661787818661628028661507338661461238661437648661329886612968686612612086610564866078495866068003866057208660351286603178660159458660083578660045788659830078659824088659703286596262886594764686592748786591423886591264186590545186589938986589238086586403986586031386586007586584082186584068186581905286580703865805950865805595865790958657803648657648658657452148657342286573189986568865986566950486566688865666563865666185865655143865637493865624717865622008656202858656193998656105148656041086560258586559597865591969865588469865578178655709688655709478655699286556204686553169586552463986552365886549511786549300086548245986546239386546080865449331865442152865431692865430098654120678653996938653990478653982768653777188653703158653345298653333438653323508653151518653051338652772498652652838652650078652626648652535868652506258652505458652411748652098858652044308652031198652008898651966386519652186518578386518315986517728886517391886515787286515636186515023865136075865119565865113067865104063865076517865074891865061489865057851865050366865047873865037029865013322865004887864990329864988154864973170864954858864950070864938726864916746864879224864873762864865711864865692864865177864856392864852687864806628648056838648004786479962086479536686477794864777484864771399864763221864741100864735296864731018647256228647228288647146648647105788647095278647090864703978864691608864687912864674426864666848646571298646456418646448548646428098646261308646159448646143058645899118645757788645673398645431438645391168645190138645150786450754586450458186447884086447578386446964986446086086445551886444240986444049886439376886438544986437853886437798486437193686436982286436974186435916586435065986433751486433322486433090686432387186432308586432022486431780886430860864304037864301398864299834864292511864292363864292075864275421864249837864248879864231948642316886420868686419680786419297286418057486418013386417447286416347864162358641501278641452998641430148641311538641149148641103498640878088640810528640692228640597028640586386405072986402700486402490586402404886402324386401949786400818786400054286397122786395869786394534186392864686391618586390226886388920586386624863865956863859180863856946863856897863851208638478718638439998638312348638227928638222186381765286381625486379955286379386863777717863774188637669038637668486375616186374997186372603386372347486372290863712495863710038863695322863694828636879208636858738636758498636629288636534268636461486361626586359579886356843986356843286356186886355022986353909586353076863521876863517753863508728635078158635073678635057398635051348634987218634927768634785548634696518634637908634514078634484386344786986344412886344237863441287863437018634276808634266988634046558634016668633984748633896448633884468633813338633633248633609508633310086332937386332637386330378186329669486328427586328392286327344286327181786327117786326928886326077186325207086325164786324198786323618863230578632242628632139518632126508632057228631974278631942908631806918631797828631753288631717608631671186314794086314301286313705886313544586313358286313074186312994386311482786308552286308195786308034486307326386304542386304480586303773286301921863019050863000546862999272862995953862977645862971783862970144862970039862963845862948980862924256862918838862916362862916003862915436862915300862902404862891710862857787862844740862843778628328786282264862792054862787632862780473862761547862733403862723402862712827862709142862695069862685783862676248862672952862671129862670887862668286264461786262409686262193186260388862594656862581402862574917862567768862567590862562054862546294862535983862535104862533600862533387862528562862523733862518338862516990862515874862494090862480063862472362862467419862467258624467188624140028623928288623749378623686586234173786233492186232420586231517186228296086226843386225646862255900862253331862248992862242261862231167862229128622276758622149248621940628621905408621667878621464286213460186213328686212585586210851986210572086210552086210437086209107486207696486207376786202524286200092986200026861992832861987283861986638861977568619681378619484268619481038619457248619378428619170586190739986188827486187689861874608618352786183386586180734786180498886179647186179633861788136861782017861753571861749800861748279861746790861745021861744954861719630861713317861688895861676219861660374861643453861631371861572781861546428861540838615352408615189268615084686149977386149348086148863861479528614575448614513818614398388614390448614222018614104738614058508614022308613950018613883078613872038613855861380232861365102861332614861330559861326437861325303861324609861314652861310898861293718612742888612615218612434128612330508612107888612032178612009688611901698611784238611744088611721398611581938611357586106869486105401586104243986104069886101853086100353386099265686098531860980161860966047860957786095304786094796286094559386094156386093914386093429086092082186091781986091050586087731860868912860865952860863796860863068860837541860828329860826021860801646860799518607984038607858488607663086076449386076133586073613086071545786071488286070715186070271986067308886066215986065854786065649486064202486063887286060641086060039386059950286059477586058765686058552286058388860566450860548901860541620860530431860527936860523368605227648605144398604922398604803328604592860458744860454458604522738604482738604244418604079108604065608604051908604046686040039986038714860386376860381045860372276860365735860353318860330541860324695860298935860295082860290332860281060860214988860214781860207709860187686017664986017184860162325860150255860147558601316548601205148601168408601156578601114938600973758600934088600736718600673598600658438600513498600505438600379088600276586002761285997996985997351885997044185996728585996483285996392785995967985995574785995272485994212859941874859933986859930687859923547859921181859920978859895283859895081859884457859873752859860434859857528598459688598356385982101859817137859806730859794959859792538597921688597810785977486859771320859758990859734548597228348597224978597207288597194188597157285971491785970435785969370985969349859693278596798258596737508596485028596464708596452438596396028596374298596268785962498585961006859608085956433685956227859554980859549627859535738595268859503668594717868594683968594542288594407785939601385939556985938462285936150085934792859343230859331213859307727859300006859297466859285658859281978592737938592708888592521859252078592488685924019785923787785923430285922911585921830085921810985921027885920775085918426185918239485917560785916783885915639859148406859145986859144770859140543859136165859124377859123138859121906859102378859101427859098088859090730859084660859075533859054758590509648590504338590197448590161688590114528590105485900746285900587585900501985900021585899350485896413385895502858949339858939016858937908589327818589306598589125408588994348588775238588753578588694088588625258588583648588327818588310698588174508588127585880122385880028858795549858787452858787403858771658858753447858750639858748772858740851858737900858730943858724404858718810858712299858708760858694700858686564858667404858665109858659981858652751858647900858631521858621766858613464858587107858573925858568298858568031858566533858539090858536913858534965858510091858510055858488378584754228584478948584467958584390858438967858431965858429424858415014858413569858410239858395415858391063858375727858365332858359491858358626858356305858342637858339560858332450858329655858327955858322490858321109858313388858310371858309051858299684858296394858291499858289631858289628858286729858258833858255619858253596858250708858250219858248786858243477858242026858241638582322498582321378582266708582257068582190558581855418581828188581675088581444158581423918581405718581123908580968418580935288580904758580867478580815108580803985807300985806758985805850185805008985805007085804880185803035485802868285802012685800756685800360285798709485797213857945028857928582857925178857914400857899016857878869857878735857877450857852022857835501857832033857799958577657318577608678577356108577344808577219748577081608577077928576878418576842628576832198576719588576652438576584385765478857643898857642941857627791857621697857619308857611056857606622857603051857584411857581524857578575857576916857551153857545345857540857533465857514950857508652857504943857496629857466373857461784857458366857446823857432850857429742857424506857420120857414022857400938573959438573952685738951985738388785736008085735374785734915385734088985733570857332640857329451857328724857324910857295690857292524857285523857236049857205763857197197857174188571565558571519185712736685711243685711128185711032857078081857058994857049342857021055857017746857015419857014215856993618569868718569864338569711185696680085696155856959586856959170856954190856950592856941328569392018569153818569098856909283856907292856885448856880277856866993856857116856855768568456698568412988568376708568264248568048888567983938567903485679017385678900285677182785676803285674353285674092185672302485672024185670554856696909856690630856688949856673748566656498566570468566354178566249268566237688566167878566152908566024198566012008565969598565924528565872048565862608565832598565819248565571738565533108565481858565463818565424898565274388565261758565251468565206268565104588565075508564895928564890608564867838564774928564773678564587308564506158564468318564440285644036185643725785642268885641583985639893856394106856386650856370478563491088563478088563454428563385685633743585632391856311108563095568562976918562940468562723985624740585622090085621941685620839985620816385620150185618604385618329985617699856166679856158978561515318561403828561394785610790285610261585609604485609190685607910585607806685607387985606488785606331285604453485602848885602828485602536085601592285601020585600045855985618559753128559417248559340458559321308559078948558820185587380885585650855842381855839633855837938558331185581545485580060385577824585576580585576419985575904085566453485566098855652129855650648556400785563949285563120885560632485560498985560117985559672485559609285559386085559340685558033785557488285556771085555048485554964285553470385552623285551352785551349785550840185548826185547920855479169855475228855475040855457940855449759855420080855418618855394853855371924855357263855349793855344269855342219855340754855334133855326225855319573855317622855317158553113028552994688552957528552933148552929578552720855271262855252943855250732855249128855239562855232955855232120855224055855222924855210047855079622855073297855068399855033662855019368550176898550127848550122028550049718550037485499026085497209485496661085494937085492606785490697885490693085486384854852130854851136854849972854832313854824494854795567854794070854793318547573838547425268547219118547156068547117888547002918546914185468721085468368854668618546609198546607658546483758546350258546307248546255885460725985460662185460472885460322385459773985457496485456593285452989854529491854517656854506700854489292854462770854455070854452806854448078544289068544237985442192885441683385440679485440529185439840185438638543832398543772058543611418543468818543439198543325788543248428543235208542894378542837898542714878542648138542551958542196888542144388542075898541901828541840828541693728541530398541524768541512558541462098541315038541299585410412685409563885409460085408414885406830185406024585405420485404472985403364085403326885400761185399631285398813085398314185395737085394362885392212585390890585389944085389468853880019853878332853876776853866419853822228538143718538004108537934448537873058537837998537738038537667285376197185375273885375200985374639185371540285370520685369921985369597853694435853686771853683998853674780853671626853669771853667317853663002853661516853647490853630256853625575853622432853619469853615601853615215853613861853590702853590385358079485355737585354072853527785352193285351846485351522853502685853496084853493303853485488534832738534746108534680978534559228534557498534548428534478288534292608534243288534225398533974388533909418533819585337788185337668985336836585335272853347447853344622853333152853325872853322518853321698853315182853315154853307400853296207853293183853292218532904168532632898532604788532531185324704853215495853212773853195168531850698531569798531385858531323638531294558531250038531221268531169028531118608531036185309475985308743385308536585306630585306461885305413185303673485303317853022123853020054853001575853001461852985664852982243852982208529730288529706678529652238529614258529521308529466348529376348528877078528854988528815198528791885286572885286450785286358385286327885286211385284969385284235685283510385282216485281811852817894852806437852805261852793080852781582852775999852775319852746816852734056852719157852717864852716433852715306852701085267941485267721985267698285267491085266875585265215485264995385264460985264005485263849185262332785261288785260552185259926785259124852584563852579307852568321852565290852563947852558646852551364852526179852497739852493251852484005852480745852469314852450955852438340852419929852403788852403777852395197852373406852373358523687648523237528522955198522890368522792868522730585226728522665738522387885221769085219354385219263285218599085218300185217189185216821852163408521627828521612568521431385213408885213329785212926485212811485212696885210242885210087785208344385208136185208132285207794285207385085206839852063638520633378520534608520509648520330685202753285200887485200161985199111185198383085198359585198170785197974585197044851969642851964886851896912851891405851891008851888554851877587851858988518584985182533185180320185179174285178922085176717685176315285175586585174295485174188517253685171235385170020285169648685169430485167336085166204085164914085164224385163700985162813185161921685161727785161120385161082085160577985159090085158124785156869851539576851536129851514330851513106851498478514895128514880618514835568514775618514741298514641298514610285143085185140188385139821885138031385137210485134645851341138513367548513346598513307398513206518513188085131546785128482185125944385125407851243845851217922851212014851202914851194765851193020851190876851172789851151349851138553851134107851124538511239085111990285111323851102049851097742851093087851078188851076380851075012851067432851062134851054869851044313851035930851033277851018294850994040850974477850971057850966322850955674850925212850924115850923119850922058509134088508942085088703485086879985085507785083931185083445385083110785082649785082584185082075585081698585080654850798334850796594850792088850779778507760378507752778507729908507633618507610385074637285074037985073331485073055085072917485072886285072611850724341850722437850721139850713613850706406850692044850689309850685397850674270850670953850660800850659442850645384850634559850629050850628834850617769850609771850600116850582032850572064850565218505638618505580385054547685053960285053952085053773985053757085053538485053186585053158585052904585051382985051333085051089885051073585050947385049927850489460850480492850467308850444858504384028504274385042553285041956285041636850396322850371432850344589850342728503401868503251728503179768503142398503079648503028085029247385029189485028425285028042985027807685027493585027351285026469850239789850232052850205307850204644850202233850193477850173849850156367850153800850127958501226185011195085010352885009979385009315785009210485008834885008444850078658500758585007047485004816285004734185003249850025926850017756850016548849999744849997842849994552849982591849975719849970491849967208849960001849959058849952248849951368849945389849944986849940158499322328499204298499115348499015178498982648498854828498812484984919849837288497915158497902808497887968497810918497802118497638028497628038497442488497224398497177668497163188497049484970268884969965384969595384969095849678546849660173849605153849604275849601022849584104849580306849577311849575424849574469849567657849553235849549341849546738495437398495258284950004584949140084943133484942775849418727849416113849411729849384936849375858493607584935437384935387384934547584933585784932402849321547849318407849299804849297959849296478492964318492424584924067849235894849232619849232416849220746849220111849208474849195335849186235849173838491710618491674068491664318491661038491548968491541048491245878490976084909017584908933884908402384907802284906985084906169984903917084903890849034166849025454848998634848987323848983425848973695848968724848966246848953734848939155848932397848906244848869596848868717848866075848841926848836338488322758488196978488131058488120578488089078488018184877534884876919884875944084875068584874034284873175584871982084871887084871847884871609884871145484871070084870244984869960284869048484868578984868520384867658884866777084865769584865086384864585284862889984861490848610882848584108485615388485576938485490098485275378485213848510933848506324848501218484860538484737158484665628484570878484208498484062038483843378483842028483725884834237848341636848318418483164278483154284830024584829925784828965484828306848276780848261547848260658482584284823389584822735848224559848218551848207498482016278481994848481795358481703184816971084816889284816349184816112984814969384814486848138533848135299848113991848109539848108762848095531848091576848072318480562628480218148480122978479945408479925328479863284796818984796595684796497384795837884794815584793056384792819784792143384791309784790973384790375984788717584781795847815847815840847814332847810754847809272847807992847783568847779489847770103847768516847761480847741050847722082847717184847710495847687141847674053847660511847651008847650387847649544847644764847640671847636176847636157847624241847618628847601205847590886847589618475825748475814498475770838475454084754313684752733384752465084749174584747177684745216684744451847441399847435762847435371847432842847406771847401492847394034847381643847381503847371739847371360847358718473336958473308473281384732453184732336884731845584731573184731033784728934184728781184728562284728413847277847847272372847265426847265308847242761847219951847208929847202533847198885847190170847189716847180868471780458471764448471542138471436498471323368471316528471290798471248718471082918470915938470671578470287658470231148470226508470111768470083758470074238470040184700285784699488084698802984698053784695974484694913584694861684693379784690798184690460984687855884687745184687477384686550684686026846859593846853073846836481846816939846806367846806299846770970846764327846755040846750476846718610846712431846711983846701684846696915846696787846677868466644498466619208466535468466535068466474548466309898466291668466178284661272884661105584660038084659736384659573384659379984658447384654470484654034784648928984647371684646923284645814584645686684645557584645405584644779384644421384643064884641432184640881284639841684639597184639028384638566084637893184636604084634388084632643584629385184628808184628295884627678584624034084622685884621327684619097884617616184616686284615938784615423484614760084613686884613208984613190684613067384612588846093496846080490846051365846044628846023649846023302846015282846003598459954098459831884596918584596165084595475784594573845927036845904484590335784588728884588246845880829845873014845867709845860607845858334845851330845847568845845042845837406845810255845799412845794819845780455845780199845772563845765316845757970845751517845751498845725646845715233845706838457023628456978484568394984568171284567527384567408456672728456584188456565488456449628456207998456187998456049388456029658456002898455823008455645678455644508455495538455267068454924338454919988454846678454808978454786488454733008454577748454564384544870684543434845403619845393708453901788453866238453790098453777684537084084536539784535333984534067284533931584532119384531414784530368452864438452728845264328845260568845259564845193265845189048845182794845174064845170909845170599845170151845158834845150498451458188451432845141447845129107845128732845125147845122568845110890845076086845075784845026150845015549844973842844968468844934762844929638449140558449086608449067668449033678448971738448814548448572258448460484483691584482957084481031784480404384480103584479385384477707684476290984475613084475120884474072184473960484473880984473474984472350384472254884470543844704497844656384844646451844628424844627235844619455844618618844616506844606854844605747844603996844588979844585354844565619844559702844558074844543638844523039844500593844499706844480390844467918844408400844399786844361028844355278443324238443273198443174168443121184430185584428366884428024784427398484426484784423585284423091484423048784422577784421072084420692684418900784417843184416941844153420844140365844118204844102988844100309844099996844096426844071694844068521844063537844056637844056322844048248844041779844033616844021101844007698440018778439987728439839484397302884396738484396522384395347584394246284389511284389276184388553684387373843866070843824470843821569843800445843788967843778501843778380843771888437716998437558328437534478437461058437427588437305968437239198437194838437146378437121308437091208437080398437064508437057918436877784368529384365285984364878843642349843634314843630110843625630843625585843614242843612543843611627843592036843571668435697678435510843544246843538796843538590843481431843473824843451199843446041843423865843414084341153084339136084338063843373627843372420843371497843369065843359101843357687843353816843313798433014678432967188432893988432892348432759684326776984324996784324842843247157843246990843244815843240047843237882843235056843217898432038458431942508431908018431887798431765368431749188431722628431537308431516368431455478431418808431306948431288208431129898431052284307564584304819184302598684300951584299924284299519484298701884298603484298190884297514842933845842928832842909588429077418428554108428544808428275784281918884281470184279253084278987184278307884277522884276420484276409284274543284274210184272415284271790784271586784271349684270641984270617384270472684270436684266578884266561784263458384263333284262264484262129084261507484259901984258965384258777184258602284257876684255644384254878684251729842514968425120658424758048424707988424687228424589038424536328424490688424419348424310198424286284242671784241669784239978784239477284239289984238097084238058584237651984237516842360007842358327842357071842348151842342201842338879842336384842312954842303658422952138422862918422804058422787858422703384225607384224208284223258422261388421939838421735688421590798421495718421401598421399138421377488421272818421052948420990948420936068420917308420852188420834178420757118420720138420334598420275758420166238419888008419706284196989684196825184195413984195375984195335184193682084193473384192826984191806984191074684190586584189528084185061584184079584183419484180902784180584584179980084179296684178585084178485684178399384177798684177641584176443384175443084174030384171978284168804684168790384168092984167676384166671884166477784165921484165455984163899884163794884161985884158210284155893584155249684155151841542033841536253841520291841506316841492732841479797841472557841462963841448938414475168414301238414130978413880178413765958413740608413701608413647158413574568413472408413326638413299718413279488413219258413197178413003218412962248412898908412836208412716688412641841251543841251435841213098412087678412033708411783884117335884116946684116869184115773841156159841152169841150461841147179841146348841145428841143631841141882841137617841137564841130868841123008411215098411159488411158984110167784109533684108412841071988841035427841035329841031627841028199841019812841009707840994909840994384840989120840985768840985151840977214840950129840928596840925848840922311840917021840911761840899195840875501840868568840839636840839495840813950840780389840756517840753315840748652840735165840733490840724325840723604840698539840672673840668534840665151840650707840649717840633079840604576840601599840597574840590826840572748840534876840527701840527087840523176840511741840490764840482601840460981840455238404504448404439268404404338404301884042518784041982984041839384040599384040506684037444484037296984036868584036721084036412784036263684035095684034733184034306840330390840320368403174758402869088402841084026088984025856084025635784025383284024811840239077840221833840220848840213926840208592840208039840194287840187203840179182840178978401695908401522148401329548401244728401202384010534784009705284009677584008902384008457084006950784006806984006438484004761184004336840037488400226638400209188400086338399971028399899178399841283997978583997348399688178399657318399648918399644568399638518399630448399540078399329058399175498399146848399096628399032458398626428398622978398548248398458098398322678398319638398239268398226438398025018397943948397797183977527283977031583976874883976582983975431583972972283972353683970970083969570883968948883968304783968277839664549839623287839599718839591510839584885839575046839571557839570369839560812839560590839558723839556829839542679839540170839520938395124783949930283948579083948071183945240283944155183942670883940927783939814883939336983938809883938214383937852839372911839370702839368661839358750839357698393368738393274008393264088393105338393063318393011628392577628392390878391929918391894608391700883916713483915221283915189883915102783913968483913421983910170783910028983909948783909141783908690083908120983907955283907661183907387083907077583906313183904247083903406283902587983900873783899963838994399838965984838965943838959848389485783894812683892608583892574583892485783892330183892257583891278838908634838905193838903218389015108388847438388831368388656918388558588388522608388446578388444888388425258388187318388154128388009998387961583879604838782548838781401838773937838753667838752549838742728838736617838736343838732438838728172838719158387162408387147583871026083867314983867247383867235283866095483865717838646691838642378838637442838630927838621165838603320838594741838580648838579269838563581838563498838556527838554857838542875838542431838525710838518903838492948384898098384750558384605868384440138384337618384266438384260418384128048384065308383992638383873838376362838337711838325222838309268382955268382887868382845128382796498382688968382604928382594848382381748382329483823017838229767838217725838202771838196551838179845838163281838147938381260848381083828380943838093594838093506838081563838080018380709838069038380417708380248418380236588380074728380067898380048098379988278379823283798005983796416383794211583793374583791766183791371083790503883789910683789653283788438837855749837855559837853381837850952837844818378391758378239398378162138378140398377969683779296883778590837772588377325718377291948377142808377125648377098188377095858376874238376532048376345837630183837611688837607124837606089837603662837600311837564322837552958837551078837530188837528884837522246837519379837494078837457893837448678374309788374202868373859688373827488373691438373678848373439783734360283734300883733138483732624983729746683729224983729071383728852583728676583728284083728096383725966683725777083725441183723885837226497837222874837217395837214896837214162837208803837177061837162080837158518371348408371286808371197688371197638370912498370750283707053883706875783706858370666908370275148370252983700152883700008883698851836984503836980820836966834836965201836965108836961583696025583694336883693733683692851183692562483692235483689425683687871983687606783687484183686173783685749683685228836841907836836688368331188368294858368284008368250928368213728368107848368096908368081083679752983679552883679133383678982983678556836780542836780528367585483674302483673238836717605836713893836705637836702505836694888836693632836669515836664653836664178836655898366494938366204328366173828366149798366065888365915178365635038365631578365575488365559358365534518365514008365427148365279408365261998365250483651441283650894983650543683649691083648553983647026083646960683646810383646546883644601783643901283643065283643025183642794183641739836417362836415492836415278364094558364090683640613836389783636829483636160583635845183635770783635450836350934836344061836333882836332419836317565836310684836308226836288264836252964836249931836208853836196128361948668361657398361590598361555548361388208361344408361334838361327638361291588361225848361107828361043158360858548360782108360632183606058283604591983604317883603485483601360783601186483599609683599511083599217283599158683598194983596394283595166583594775183592436783589662083589169783588109783587211983583955583583214283583013783582901783582381383581760183577724583577229083577172883576278835757861835752810835737366835736759835722637835711943835688242835685898356824238356719328356677028356406498356029278355595908355567283555423835532088355017538354794308354779118354778488354766168354728048354663238354587848354575548354575328354483888354136928354134658354053258353995038353990388353642288353566818353561548353524083535222383535117383534730783534325583533405835333964835330068353297238353150078353052238353004538352983018352939818352884483528033183527868583526852383526106983525951835242790835215025835213338352037898351862318351786118351763888351547798351434883512792183512550783512239083510544583509145483508652835076788350410158350390628350338818350265708350263048350183208350019398349933408349907083498860083498395983497474783496104683494987883494421583493767883493402883492202783491531883488953483488813483487112083484690983479986283478568483478377583478149583478093183477835483475170383472043183471662983470044583469976283468760083468303783467945834679160834674897834674338346681408346573568346520383461096883459973183459856683457814583455375683453699983451599834500610834472788344495098344458328344431328344340998344262383440968483439426183439246283438903283438761834385258834373823834370899834364508343411383433980483433636983432860834325266834322138834320513834309298834293905834280072834269754834260738834250128342380898342346338342330468342316688342285448342274718342146998341999783418064383417868183417723583417024883414015183413500383412970834125943834122814834122669834119793834113465834112527834104364834103605834095592834084861834083062834072031834065267834063458340462258340338228340220068340051708339968783399511183399092983397724833971629833966539833962559833956838833954741833940936833938158339369228339352858339296258339272828339022948338892083388342833875608338710488338579478338521908338498438338113588337827958337623068337530468337474158337378248337374583373257833728874833726952833717049833714048833707792833697119833695527833690592833688286833684766833676925833658027833657874833649933833635377833624593833611547833597453833591905833583806833580068335593583354886883353179483352466833520687833520348833510760833508554833485865833482194833476512833452318334470728334429458334411558334324668334185883339842383339429833381673833380539833367248833352379833350048833342948333274728333112468333094338333059138333033228333015138332792258332662498332439083323139383321083083319959483319762583319377283319239833175594833168319833154435833148767833133366833126228331200978331182028331146298331134388331043068331037808331017678330975178330973168330851568330682128330547298330528418330279878330097438330088138330075038330026858329949548329703658329684748329675798329632698329511868329180108329101218328790768328779738328655583286152683285396832852678832851949832841717832838531832833141832827543832806728328034518327780488327713883276472983274441583272504183270008183269904683269449832689090832680738326615483266030683265672683265289083263659883263221283261733483260901483259969483258994483257886283257239783254863083253717483253242683251287383248485883247030483246534883246464783246239883246163783245297832452153832452101832442106832439446832436307832419975832403088323752748323397108323305778323273308323214768323154528322835308322819983228018322767248322661898322615488322521468322476908322272338322062748322061218322034948321903918321843098321797348321741288321606808321394838321156328321099483210191383210109183207663883205369832040806832039728832032270832012807832009355831993499831993008831977438831943508831926274831907424831902149831891838318877768318860783188579831865948318602483185052883185041783184892983184865983184260283183663483182520383182337183182005831816096831802179831789786831776278317631288317610778317553148317461918317419883173709831722751831691008316895483167400883167358316675283165762383163982583162433383161118183160788483160163831597375831592760831575109831560142831559775831551908831551483831539178831533821831527873831527059831516068831513858831503415831494750831481332831477488831457462831452057831448111831438695831434275831427579831414483141164831400788313957608313925378313921083138745083135746883133624483133493783133421083128611283128383683127665883126546183126491983125530783125100831248734831222478831219466831208677831203306831193318831184009831181641831178573831177469831177200831172136831166240831160955831139625831135763831132942831123176831120328831113788311044583110325483107355583105954831051505831050270831033322831027050831020824831016027831013872831011565830997560830997446830994150830991537830972047830969629830960308309536883092769683092625183092054483089570783089284383088300983088079183087213783085183783084458830843283083664983083195583082473783082120883081827483081071783080954083079437283077257183076824983075249830732423830724658307104438306775618306685778306629108306617628306457058306395983063477383062427183061612583061553830614872830606925830602340830589282830583813830580983057622483055749830552926830550928305471848305391908305366208305284638305253358305136398305116108305099788305094368305075528304904148304786783046879283046574783046152830446388304207468304028658304018008303990098303965458303939728303906858303753238303745548303670188303566218303538888303529558303428098303091748302891218302764498302759698302675798302525708302404738302289388302242748302207508302205188302087508302057908301970668301935218301885883017470583016981683016630383015768283014886783013002083012649683011900383011794830104730830102948300945918300922568300797478300759358300724008300594818300578183004483083003590830032179830031540830029011830027298830024177830008408830008015830007634830006058829992106829990798829987481829977828829974354829969382996174382995260582994417882993162882993058082992193282985857582985082682984884082982460882981212782979500382979089082978112182977094182976838982976306782976201982974251982974150682972047382970999829706791829700222829699935829690552829682660829654047829651101829645504829635560829634438296335082963042282962238482961910782960941682960488682958950982957982829575466829575435829572532829549849829541033829532307829528575829520578829504601829485850829480255829479600829476648829476627829472434829464424829443271829432908829428341829422538294035108293970488293912748293874568293731568293647868293567038293321128293319882932837829328303829299543829296211829291962829288888829281318292744748292728038292510068292416958292187138292144682921179482921107782920279082919750782919168582918280829182379829170545829164868829142765829132295829128785829125779829097678290869688290867238290759308290667238290638868290600528290599458290261178290059148289962538289647238289597478289494358289395748289372882892955582892782382892760782892056582888451282888128082887214828863104828850391828834741828826892828806898288064158287201058287176738287128138287029888286989118286825698286812238286498398286427388286419038286399058286397788286320888286269768286203098286146898285916118285886008285877938285843828581729828526582851348582847618482847269828459793828442148284352108284231568283923408283634888283616568283279058283251682830987882830435828303625828299975828278014828275049828271541828253736828249726828247699828237440828232140828231626828230711828229657828229134828216806828216018828213671828207287828189800828167389828160254828149152828136164828132318281251498281233882810460882810428281018982809994382809260482809260082805059982803401882803055482802464882802025282801498082801467828009758279946348279945878279885008279806298279599798279542138279460608279393878279319618279267258279194782789633882787741082785750982784034082781454082780620582780358277970688277906488277735382775795827755873827754522827742155827711718827700628276978438276950348276914982769057082767398827663182766098582763799582763745882763251182759691982758784827580489827556194827552874827544827827543624827527095827509949827509686827509418827509071827503441827499968827496368274933438274757028274693388274551548274518728274307082737503582737423982737281082735533382735017082734486482732159082731925827313845827309593827279856827278653827274870827256268272407918272397278272285258272280248272278538272246638272222328272181878271862848271690988271642098271618848271550278271511668271447518271398958271352778271322878271224318271112798270676058270650588270625068270435582703849482702982982702037682701164382699378826969384826962412826958516826955782695537382692793782692648269058948268987778268811682687110582686160826853606826848048826845872826836277826832507826806691826804913826801224826799736826782746826780124826760742826755742826726249826726248267103288267085518267083668266935668266765518266698298266662478266398182663624682660901082660020382659596826591805826590355826590208265712658265603982654476782654447826514308826511233826495408264923028264921868264787498264207178264098338264063048263910282638421482637531482637459826348288826337592826334062826316652826300863826276342826266113826265818262572548262475268262407288262402368262369598262354228262276528262271448262264808262218548261983388261841068261837258261726128261434982613919782612746982612204382608888282608601582607691382607523882604104482603167882602510482601811482599345482597389882597341282595983982595168482594003882593580882592765825919857825917332825909826825899446825888506825885873825857205825857043825855138258503398258420838258362058258360782583556482583005982581834482581579582581265582579703982579468682577034882576883482575493782574260582573649282571410782571111082570223082569263782568558256704482566573382564179182564047825639117825632289825622208256167908256077038255826618255547088255512698255468508255296128255151298255048908254915582548550882548510982548347825464152825462979825446353825444982825399828825391708825390817825384186825381375825378219825365643825357464825335072825330775825328828253198028253064908253037428252971068252845478252662528252621758252543128252416488252397058252389938252323408252253582522293282522165982519736825190349825184316825179175825156252825153418825142636825142203825115595825109304825107972825106431825101251825098131825087357825082338250800082506634982505531082505307982505086482504725182504366982503335582503234282500752582500594482499038682498002782496649782494801982491957824910061824904319824867846824867768248492568248463408248427938248306378248289488248198038248122058247800158247744568247292918247248578247123108247114888246842428246811382467846482466903682466513482465923682464212982463911824630704824630133824619897824616433824614556824607491824590496824585221824584308245729978245620858245535728245452218245326868245219982452151882452145824520567824512566824495409824494068244895458244821838244715498244627588244549408244449298244344478244253988244238658244131982437993824374198243660478243440338243199018243193528243064698242542308242370378242254548242251918242159618242061738241952458241889928241819368241771898241591068241318568241284782412462382412270282411614824112837824103798240970882409536382408979182408078882406241882405803182405681882405181482404944582404895982404640882402528082401423782401266382400715782398801882398571282398303582395094582394463682394140382392741823911658239013478238881498238819682386416782385260282385012382383821482382868782381038282380927682380788182379629482378947182378087582377746823764838237468938237339528237321068237305418237235348237193758237137382367376482367185982362985823628576823608849823573357823569041823561186823551897823548751823541957823519204823511609823509691823509688235080198235057768234973378234972928234935968234849823481888234348868234260098234250578233879478233832708233614682335769782335175182335007982333564582333529082333272982332953282328873182328366482326866882324126482323500282322411182322337782322297982320197782320123282319997882319861382319148682318972882318793382316119382316056823155936823155578823154306823147410823145298231433978231343482313428382311869182310856082309936982309417782308931182305123823046188823041959823039537823036680823018604823017079823005561823002934822992436822985014822984578822976757822944681822944510822938925822930862822923629822918364822911689822911213822892323822889598822870518228662468228582048228502178228357968228172638228097268228084278228039858227625858227607138227548288227242918227115448227087398226772808226453068226340688226059918225922168225904798225851682257350782255116282253728982252633182251069382250760482248445582248146822476672822451076822440382822424448822418440822415982822415889822413894822412172822388298223879068223795138223744248223477978223435718223111398222977898222908188222880488222863368222835138222674982226297382224480822241761822234300822202158221963288221717982217148082212659582212238982210585582209658882209631982209471682207630082207501482206822682206049822044438822042030822026516822025378822007643822007166821984377821972931821964487821946812821936345821936312821908343821904876821892668821888277821883215821870986821869190821861275821855228821818572821807153821807058217940882176230782174983282174688882172108182171088882170411821692006821683348821656001821648849821633718216130228216006698215978108215970968215952138215911938215907982158768982154597882154344882152591821523161821519166821517346821502234821496803821485673821482725821467536821435741821409641821406580821382002821360440821359588213504838213484408213171328213157948212977918212865438212851088212830098212784258212715958212697908212402418212113378212076318212062968211982582119801782118998982116952682114418582113012782111951882111203482110051082109615282109140782109009882108481282105347282104579982102912082102356082102241882101739821004917820997626820977501820972560820957663820945173820943190820921728209195868209155138208999728208926182089039282088073982087468882085503782085371482085156820844158208391568208362408208261808208255408208236308208236282081311820812998208126728208102928208054008208038982079481282078615820779278207681198207665582076486082076054882075972982075828782074679382074351482073416582072790820727184820722243820718862820707573820704892820701016820692724820687003820680478206569438206549818206448382064187682064187182063441082063297282063017582060973820608484820601258205869968205823982057854820556043820547989820545185820535628205162598205147038205057238204979448204949568204944688204892738204833608204798258204691998204690438204645268204514858204439058204097078203961088203942658203828988203539818203354298203213798203203148203201598203153738203151398202861508202843648202693882024578682024321582024176082020618202042328202010758202007388201967018201916368201726858201659768201607820146181820143330820140006820132227820124106820085311820077685820070882006638582005897820056822820056740820029656820028496820009838820008169820006563819979506819979444819976597819964129819960756819959204819946878819919408199095958199004278199000881986061281985328181983652881982016781980584381979896819792048197785148197685788197536298197501681974974581974216881973918281973824881973550819723618197189418197175638197053268196914081968921581968180481967919819678179819653216819650920819624364819622985819603108819602215819561015819555886819530008195103188195087908195017868195010798195010078194780538194752578194611638194547108194448368194043438193969178193870628193784748193738608193709308193703168193543508193468108193123538193080318193030808192718318192522278192373381923572681922450281921649181920381819201359819184126819171851819167323819165285819164011819163681819149707819144124819117486819094054819092004819081673819064958819054899819031121819010562819008811818993048189889158189835368189675218189660681896171818959278189578378189574858189546458189387738189368508189295648189243381891367081890547281889217581883564081883104281882307818821304818812728187927568187654488187576598187564478187335858187236088186953038186801918186800088186535638186360298186246418186160828185976281859329818566986818556392818555957818552783818543146818538222818531482818520174818511293818506186818504857818504395818498578818496724818489981818472618818464075818454678183917498183909281837489081836860818367326818353218183387918183376448183325938183262008183233218183207018183134688183024428182918208182866598182609081823273181821790281821364181820634081819751881819036881817805181817293781816655581816094381813659981813066881812627481811928818113198180704878180601768180585398180484698180369458180320198180142188180066008179988478179938988179855828179801678179770718179750678179507638179297398179154381791359181791184181790496881790147981789310681788186981786338381786201081784631481781047081780202781780174281779792581779725481779151081777898381777651381775387581774866817747876817743303817739356817711757817703184817697238817697201817684398817667378176663068176625328176604958176568798176542728176517981761416881760194781759316381757443817570668175557308175449181753819081753542817529173817497444817491356817490742817471248174677388174667818174663018174614618174588108174555888174472238174346498174298174169981741608174125368173872168173844978173816238173761181736294281736183181735425781734198781733648817318888173185678173180748173126818173093848173066818172940698172682481726496281725548381725268681724981481722388281721688881719214817187784817184902817183865817165515817163794817163729817152042817148481714263181713446181713049681711513981710603081708967181708347817083069817081694817074921817043866817041080817016952817014339816998008169858788169804281697560281697412816959302816952108169467898169381788169297928169216198169193168169187408169147648169018228168865681688276481687919381687744281687573981685432581684847816822113816802211816794478167724578167667738167644788167621038167487178167458478167389178167356481672263816716382816706247816700518816696935816677244816676365816666178166492898166442888166404118166396728166047081659908816589912816568599816565874816548349816547986816545515816536961816536001816515981649550681647547981646926681645133281644925681641947381640990381640489081639552816392921816390048163893628163866278163502581634961481634671781633590781633335081632443781628901381628257281628047181627950081627188681626931881626766281623687981622985281621319281620445816202987816194343816193281619067381617803281614282981613903816129813816127878161269758161113458161089828160994618160866958160838678160575381604828381604340816034621816031470816030341815999318815996306815991763815984552815981110815965017815955698815953082815951180815934474815931537815926518159190108158817778158815378158678678158593368158428388158217738158204578158185898158110481580259581579955581579389481577999081577478981577410981575739681575075281571724181571608081570395781569917281568351681567551815674258156406028156346238156215488156137278156074278155961481559511381558941781558456181558073981555339081555118815546904815538918155352948155349508155214868154853918154820718154756788154570118154515988154512588154477781544405781544180281543200181542163981540518981540460081539827681539773081539443081536981581536877181536839281536785881536665081535799381535767581532957881532580181529866281528468815280542815268218815248083815214218815209551815209511815209188815208690815193966815183367815170713815149208815141058815131458815125561815105972815090612815078911815076997815066271815063032815057842815056148815051701815042278150419938149984798149786978149773288149698838149666814956711814952567814943435814942046814940336814933721814919088148970888148964658148769978148662858148654638148503728148397081483937081483625814829558148156208148043358148023318147834758147572281475411881473884881471896814687955814646404814632305814620636814619283814617256814610332814607927814600417814597642814573994814573028145673881453076681453040081452830581450878814499432814477918144596378144540081444819481444360781443710281442985481442415681441758281440976814398305814391444814370104814360362814350581814335828814334697814323084814322798143038528143008948142970148142951318142948438142783548142746278142725968142685858142646308142634048142614408142546088142371948142127748142074281419730081417207881416887814162236814150836814144039814119955814081914814081638814078458814068617814065995814050405814042368814040728140140318140075738139971481398930981397826281397326681395975081393933381393595381388967381388630081388293881387518138670268138589781384972813841010813837908138327168138286018138268348138227148138219948138128038138060038137929048137848918137801798137800128137645128137590281375417581375206381374958813730011813724769813722624813682613813677416813662009813659183813653568136533778136521718136410798136285538136233648136187078136135048135989068135763498135748881356636781354731381353897481352726481352362281352186081351459813512320813505774813442125813428668134256448134214098134179488134139648134114081339757081338767781338665581338510081338186981337955681337222681337123581336631581336345181336123281335703681335219981335072781333432081333372081330028581328590881326747581325738681323215781322678881321545081320794813204820813204270813200123813190582813164593813157847813130045813128733813128258813124545813108523813073945813035928130345968130335508130306328130288781302807981302751781302461981298944881298729781296856781296856781296510481291715181288150581286236081284987181282052812816286812810953812799399812798612812796435812791913812780976812772350812771707812768812812762293812754160812751479812749675812744517812743272812735250812732749812730667812716151812709532812706286812706098126981128126936718126828328126658078126498178126410881262642081262186581262170381261600381260884681260597981260414781258969681258389812562991812559793812551693812550761812540335812539981253910481252099881248748781248327181248149781246843481246389681246377181246084881244569181243391381242796181241310981241222681240820581240248481238972881238313681238243381235752381234534181234471281234389881233929781233430081233422481232581081232071581231547812308953812303178812296559812295529812294644812293467812291597812286756812277965812262775812252714812246226812220688812213360812208170812204758122037981219669981218353681218321781218311981217267381216821181215982781215636481214617681214220812134458121200581211790281208585881208515881208272281208037881203236981203035781200911981200309281200205181199815381199526811986736811974779811935731811915981191181481189854981189812811892718118782958118775188118534218118439768118424838118344758118332578118243078118137388117924288117775828117738018117591598117588218117578848117568398117566068117539248117462748117390698117354638117341398117293268117213818117125318116970081169133681167597881166229281166026681166002081165997081165557681165041481163780811632974811629798116293838116275968116252358116149828116107038116089888116021681158900381158503081158206581155578481155068981154262981153241381152902381152625481151384281148918981148409181147385881145507681144710381143587811420958114047808113885508113866478113843181138061781137470181137285481135991181134780981133923581133502811308465811303606811295996811281124811280548112671678112575908112512781124843981121915681121880381120003681119591081119350081113818181113414781112958581112696681111682981111622681111268281110552881109818881109494181108690981108186811066572811058091811055138811041733811032172811027317811026643811025888811024848811018302811000065810981304810977933810966036810963961810963018109587238109387368109181681091747181091423481091294981085936681085614581085514981084827581082906281081819981080816181078417181077651081076471881075979381075313810741314810738870810736428107341678107290088107188068107039828107035378107012678106939118106907558106838481068330381067532681066497381066019381065719881063241810631541810626933810626868106243088106230978106149128106111808106029481060125810601137810600307810573186810543578105394118105374448105348898105295528105227418105146608105087118105084078105048108104914810488751810488077810484099810465872810460220810436441810418817810414111810398902810377116810375862810357988810353834810348949810323767810311285810311021810288542810275539810274261810269357810260944810240928102383248102357081023237881021766681021372681021339681020808081020567381019933481019276810190413810187168101610508101580788101103718100877598100802098100768981007620381007373481005668100384581003631810032172810026046810025283810015193810014076810012252810009054810000782809985905809984138809977605809976556809971648099688158099685338099622178099551868099503918099456818099085908098869178098846788098392728098295980982498809817062809793966809789214809778716809754185809745058097014978096739488096707918096606308096586798096087788096048428095622248095557518095254328095058698094755398094722528094677280946188880945251080945029280943845280940701780940100080939901809394228809388615809383833809379294809370370809363727809326699809313728809299980927976809276444809262956809259449809246370809240185809219550809219114809218745809202318092000180919866809195032809186858091755508091566488091415080913576580912839880910196809071014809066463809015728090023458089983598089887480898781180898522480895885080895261808952526808943574808926741808916078808910028089094428089046028088914638088768078088671468088564878088478998088371618088362188088280378088210818088151908088146308088123408087811280875958087580378087508808740388087388880873093780871880580871615980870573880870536680870245808697987808683173808665113808657341808642008808638280808632080808631878086133680861026680860455808598023808595899808592920808579521808577118085762848085762208085716658085684358085608458085525968085483668085476728085462048085315880852915780852268080851577280850823280849469480848862480848636808484683808459674808425038808420910808418473808413258083980348083905088083848658083577080835763080835242180834897380834397580833872980833717180832585280831779180831299280831228280831067880830791580830561880828500980827493380827484780827141180826669480826460980825298780824005580822550780821764580821113180820721380820431580818097180816976808167075808145175808141039808138786808125932808123221808114778081032958080960708080904438080820028080731038080616998080610588080501918080391008080270438080225038080096468079979480796167380795616680795322280795135880794977080794636380791518079085578078971348078902558078869180788489780788379807877503807876478078676938078628928078548488078404758078390038078282888078260298078152807814368078138580779278807790889807776680776151580775984880775585380773750580773722807713787807713327807711325807686323807660200807658013807653788076472058076367928076311008076279480762270807614112807600196807593302807589091807586188075616098075580438075359898075248168075112228074707518074570978074558158074407780743235180739762380738606180737885780737472280736590980734247980731720380731570680730681980729729380726165807229709807227046807223744807213126807201277807193419807175355807154286807153678807153110807147763807106822807082537807069908807066358070588658070580280705505880705473807042589807039558807033658070138778070088268070033218070026088070019880698517480698273806948771806916516806908342806899266806890101806886155806885664806881780687598680687330680687015080686039806848935806845702806845525806837328068360188068208548068172598068144688068052028068042680680015680679489806773308067706948067646978067643228067514998067464228067437008067247078066963708066961488066862438066796780667646380665226580665009680663487180663267780663041580662523680661897180660719680660146680658380680656384980655708580655379880655034980651897580650910580650057280649553480649459806491905806489665806481603806480085806473609806471398064686618064655028064506638064442388064396078064266038064172108064151238064099628063998738063958668063673028063585638063499806338860806323578806322980806307582806295190806295108806253357806251945806247025806240788062406298062344788062323248062120178062069748062015718062006898061989128061937968061915988061811488061809780615933880613221180611729480610851680609637380608760880607907480607550806067490806065928060638980606357880604408280603444080602682880602505480601521806014918805999280595174980594788980593640380593619280591878980591415680588915780588030580586494280581353380578235780576998380576336805754298057373668057366808057313838057251998057087298057067688056920988056917248056908805687646805673217805671681805647732805639415805626040805613348056092080560549880559458580556836080555635805549852805546357805538318805532959805532751805524180805519238055133248055098748055050788055027408054975048054917888054863878054567758054566608054385078054324678054240438054200338054173080539546680539535780539084880539055880537339880536847080535316180532948805301526805301117805290278052897458052696708052669738052613248052258088052088158052039788051958838051765928051704080513243880512970480511826280511778980511743280510783680510351080509298380508902780508182805079229805078706805070907805069143805066986805065158050612928050273480501983980501713780499871480499167480498992880497687480497223804928824804924913804921767804919048804917199804912326804912270804903649804896605804891858804890091804841990804814974804813641804811189804809689804806836804800812804796906804788622804785821804771327804754365804738047043918046986728046940688046889080467948046766280465285980462405480460307780458591480457272804564574804560542804552539804546886804542478804512180804505501804462263804460787804445745804440616804436201804406991804401068043940708043777508043740068043714698043662968043565858043555658043529958043453488043425804330870804324880432245280432240680432187804313632804302030804293927804274535804273967804273120804271551804270836804270042804244361804208579804205968804191382804187474804183121804166029804165795804163816804132986804122718041141648041036738040963778040886038040754098040565798040560048040514804042467804036735804028115803966287803957911803953788039477188039447518039390908039370938039328938039288618039229078039194818039169298039121968039001768038897128038891380387928980387538038515738038390578038282408038186388038160688038056468037980808037559278037192698037161558037073180370529480368799380367762080361776380360588980360229880359557180359528580358393880357715480357597880356941280354893680353621280353388480353341803528132803527205803523365803514406803496698034826758034814708034515838034445980344445280343961880343859180343802080343623803433136803414768803409792803404690803400878033933388033905388033794228033750098033666348033647328033484138033356728033344798033338738033330338033158578032947838032938868032905580326978803267806803261455803255773803252874803244648032424128032339028032076728031763780317030580316592280316051680315558380312150780310168880308970280308752480307669580307263980304195680304110580303372580302948380301647880301644980301346980300788029991248029877008029812068029790080295147880294601480292931480292684802911716802908799802906288029044138028982808028914218028904068028864680287792880287153780286441080285307680280695802805921802802080802799395802795704802793242802792394802729566802729504802726378027235048027140728027094828026942228026648026521228026484068026481758026408338026344988026319578026276308026275258026240518026217298026177628026139738026083288025697228025683988025581928025497280252314780250798280250117180250116880249140180249066680248575680247068802470373802450992802442255802431018024148188023878280237448380236896180236116180235898280234732080234083480233906802308737802307277802296544802295817802295788022930808022660918022659638022528918022469148022406478022285388022089158022014680219321580218979480218220180217752480217114580216946780214329880213904580213280080212770180212329680212153880211408480211190980209837880209626980209255380208576680207706980207353580207214680206779780206543480204322480202395802012060802010437802003135801986288801974190801968930801963832801963212801960052801958426801951818801951116801899525801875140801861843801860367801856980185541080182699801822723801808233801806489801803119801802273801800030801799967801780478017673368017670108017465280174430380173183780172095780171525801691053801685772801683622801683328801665590801653815801651428016512678016417498016369458016366828016236708016184080161794080156875801568092801538007801530263801527221801515220801495367801493036801489272801485349801479028801459918014471948014323801412289801397218801396063801394773801377214801343946801340910801328047801299842801282719801282488012778838012557758012493268012420908012377658012364708012339108012298801228388012182328011940908011930238011723078011682738011660768011646008011621858011444880113993180113946380113512980111826801111502801105724801095275801070748010679138010313658010294198010056268009914458009751168009749358009728480096903280096395480096209180094087680091790480091626380090688780089515880089030800889813800884437800868841800857505800849961800849127800839941800835849800811307800810928008098688008090480080067800794897800788399800788246800785136800783427800779611800777742800769933800763780076092080075864580075816780075194780073151080072738680069693680068783800680677800675015800661338800657134800648718006316428006101618006009348006005808005944218005860398005758618005649880053505880052940680052041680050742180050084980048266800474060800462290800461680045454580042300680040467800403388800393794800385800380400800379410800368928800367970800356971800354795800354579800345936800341838800335588003297028003272418003268208003216680031952680030609380030580029901380027260800255264800240099800238695800221881800220489800216542800207648002030080020263680018876280018033880016474380015157580014032280012346800114125800093875800091342800068801800060117800039184800007057799995287999887079992157079992006579991742879991700979991447079990226779989086079988997379987132679986844879986672479986252379985785379983553579980246879980185879979288679976504079976494179976427079973191279972624179971720379971006779970900679966943799654466799654103799643521799640626799627814799623547996140667996118667996114147996098757996030457995988047995886457995702727995670397995546267995536287995472837995371647994995497994983179949032179948349779947900779947217579946708979946646279946134179945079979944597579940183879939149679938989799388246799384277993704027993598387993554479935358579935067179934130799340745799338026799331803799315072799310637799301492799294991799290006799263567992544517992509887992509147992379679923171079922730179921246379919011079917955979917588279917242799140293799119352799113587991108377991103047991083257991008457990994117990864287990792027990630537990386087990364977990159367990042097989932157989882817989700507989683497989599979895392979894469779893437989321577989248377989112179891048279890812798886787988648427988548557988429057988408717988397147988301427988261579881482379880787979880537379880177179879812079879258979878409979877692079877599279876965379875239979873987779872763179871197987094887987082627986987847986944347986907997986820937986584737986529497986512197986478397986446917986440979863945798628019798601816798598310798565983798565087985624107985477637985448967985422317985262917985221179850317279849894779849144279848992079848533379847543479847153979847047979846060779841634179839947679837593779836313379834640879834624879834489979833504798331914798331650798315787983149537983130187983067747983033717982988107982979779829108979828622979827074179825807798251036798244867982426787982383667982279879821802379820711679819097879817737879817375879816274979815917879815361879815357979814284079810863279810680779810494379809224879809077779808189579807746879806370379804116079803090579801508679797029779796303279796006879794338679792583797921567797921140797918703797906692797901167978972487978946997978933879788696797855997797837542797832387977862447977857587977845497977489279774551979774363797739318797735835797733985797731238797697493797672888797666233797664555797661467976578387976459697976322867976226457976190297976056527975815847975741337975727927975684737975628227975620579753548079752891079752092579750759179749963779749290797487964797476732797476139797471968797467192797453331797413351797410539797403380797396777973812817973680827973647179734338979733065779732934879729956079729242779727873679727830679726975479726411279725972379725292797245393797242102797241397972126979720322479719058479718544679718516979715895879715470079714768797144378797133979713128279712128779709229879707708379707690379707252579704680779704611079704357079703172079702531079701146797004805797000542796983025796964797969346579693207796920279689606879686431979686422879685895579685765796844477968415879683481779681324179679947796782233796765379676007379675868796737117796735353796731675796723165796718335796716348796715238796714071796697764796692865796689679796674315796667979665756179664533579662125796600137796583647796581530796574369796566350796558523796542425796541600796539253796536368796531982796526597965213057965190079651494579650726679650564079649383979647972179646712796463487964601197964455137964390087964096479640803779640510179640400579639618796393982796368830796367807963511877963385597963094467963049227962922907962906387962551979625404079624197779623051796227503796210845796210582796198297961837337961809657961646379616368579615970879615639279615259579615129879614434379613998479613498796125977961246837961199879611962279610591179610156679609939979609354879608401479608316279608031679607693579607566479607172779606706479606437179606291079605122679604946279604850796047479796028882796008322796007523795991243795986479795982255795969726795934524795932371795910489795903589795900038795858329795833769795832670795817957958106117958047097958010947957916667957889727957854517957753137957517437957459577957445537957439927957407067957339337957208467957137537957106737957056507956938317956748807956425467956408079563443179562515679562172795616947795612198795602475795580537955804567955775897955742767955690167955518967955447557955061097954757879547227679547218479547146479545826795453405795447739795442884795423017795416622795411636795411121795409213795388882795380427953739237953649279536269795361784795340535795338593795334756795333931795333152795327133795325003795309404795309192795297386795295093795293554795281907952631027952569057952541077952296847952182547952051887952012877951919397951798267951532567951360787951360279509487179508917950868547950726287950724137950544457950497487950384879503468479502837579502432795019012795013515795013235795004940794992965794970861794967064794960256794954587794930016794893916794883126794867577794843479483659979482910679482577794825118794815267948025547948022287947823794703339794681913794652310794635531794625935794600271794588888794572902794554458794552066794530583794527680794525884794500080794498078794496960794481573794479430794478139794476901794464984794464257944456827944251457944045979439085679439060379438478879437667679437507379437268279436524794364441794363300794359149794357241794347228794346059794327227794326849794322175794320279794308085794301517794299817942976327942867677942851979428397379428275879428081979422957379421157794208362794206860794203593794190197941818787941784679416914279416837679413892379413741279413237079412602579412456179410931979409794579409684794077347794031630794017768794009074794005072793997149793994754793983684793972388793971188793958605793956251793954804793952538793951947793943719793938732793933953793933658793927890793912640793899636793899459793898379387762079386806779386137793860707938599857938460467938395277938378577938323897938307737938207417938145857937753007937706487937687879375609779375320579371104479368189379367387279365942879363216479362914279362715679361348079360893479359977935889057935667747935585697935508707935475567935411137935325027935277387935209007935137667935053017934947937934904977934898507934783387934689127934424597934363267934271527934225079341578793410158793409453793395332793392066793391363793389657933791567933419587933279037933271347933084737932908347932893547932755179327429179326820479326762079326453793264494793261919793255249793251971793238249793233697793228930793227571793188877931858279317054679315372479314957279312859779311666079311204979309911979309249579308642879308490379307767079304680793038694793022902793013546793005027792970829792966931792966920792963204792933147792932615792925690792916964792913538792907149792882506792862304792860689792840937928370377928298357928271847928144879281319179279347479279227579279126679279079879276544579276079792751109792747936792722473792693440792661101792650188792647527792643439792641102792611331792609979792607737925998627925564379254286792537924792536547925324037925241597925017367924998327924775487924640737924623779245519879245054279243997579243969279243842679243073792402521792396218792351136792321555792314166792302771792293534792290337922843657922817087922775792272157792242799792190680792187327792183197792179529792159077792142306792127432792115250792098327920825717920817479206987879206616792062074792046715792042329792028104792016969792013170791993230791989027919800479196988579196256179195120879193136179191425979190108179188869779188470791856412791854222791852828791850388791848053791824446791761077917546277917494987917362779171407279170278979168913479168893379168511279167128779167104579166893791654379791639993791635282791629072791591507915827527915815479157965079153782179153591879153390379152217679151396779151130979150384279149923279149509579146772079146525791462526791451926791442463791442149791439835791437684791435657914211479141892579141880079141540279141441179138612979137975079137705679136901079136287913623637913549379135451579135168379133260791305770791246179124172779123552179123266579121877791216051791201615791195077911945627911881807911743227911633607911074877910992807910941679108329791079877791075645791068462791036220791036013791003507909970557909949767909935737909810177909522967909451707909296267909242357909182737909139117909051079090020179088402979087317479087007790866491790862007790861770790853802790846648790841433790838250790812837790808087908059557907992647907970027907928317907904707907752790767273790763532790761999790751657907395167907349407907334217907313347907301547907156379070197279067727379067318879066041779063293479060055279059751479059322790592867905862279057890079056838579055823679055014790548734790546322790534849790523737905221207905127979050883879050599179050001379049846790492909790488910790469629790469307904465257904370467904224647904140997904131237904127904058007904031647903892077903885187903869667903588657903324247903052157903020577902974197902917379028699579026552679024464779023543379022003279021910079020558679019731679017256790166987901484107901426879013737079012689579012675979010449579010240879009929579008581279006886879004577079004134479003393979003163278999798278997547078995718178993808078992633378990898178990459478990377378990122378989740178986161878985971478985682878981273178981231678979038789781031789724317789719226789718761789707777897019257896927578968907278966903278966878178966532978966358789660609789658606789657077789656939789653702789651082789634082789620587896135897896084937895993987895856607895708087895690607895494237895476867895355278953520789524836789523902789522559789517927895072037894680097894553917894549147894474437894447607894408197894345157894304137894302277894294778941547478940996578940862878940816789407110789403029789394917893933827893840678937304378936072178935652878932351478931823678931247478929361478929014978928861578928237789276952789256740789256037892518597892478078924169878922953678922942478921711278920438978916963789167501789161942789154227891469847891423057891217217891019957890908667890905277890768478907344789058540789048624789043064789041408789038853789038043789007035789000874788990699788981197889811407889745637889640437889565237889527617889469217889466787889445387889352978893414078893360788930981788923433788920667889026767888962367888806387888611978884102678883705778882995788828774788821466788816064788799350788793872788774933788771772788762891788762538788761870788736647887299287887288837887188017886900337886798237886746937886557097886488317886246737886220678861363178861081178860537078859974178859108678857756178856248078856145978855706778854275578852741578851785978850734278850616778849907788487518788481377884723067884721817884563937884529697884404397884306147884279397884258277884247378842037078840874278840025788393127788391967883883277883640537883558387883544347883405067883351457883306327883272157883062678830143178830038778829777078829048478828170878826985678826170578825868678824636578824327278823345078823081578822815788200404788184026788178657881776077881696047881463067881383607881276437881090557880998207880894267880746967880601337880170457880088597879999727879839637879779477879689317879385178793767878792195878791384678790637178790630078790225778790155178789718678789266787890557878725927878376817878291747878121178780627878045737877865387877721978776120978775865178774817178773672678773598378771883978771132378770731878770716787703437876997017876966177876409047876353067876258778762224278761945678761204178760828978760750278757707875645847875643997875621677875440787537290787519150787513726787478988787453418787451739787450460787447768787441678742192778741854478741152978740494578740133178739391778739189978738386787357925787336223787329827873285847873254487873178287873098178730763878730388578730073678729950678727163787261019787233554787221267872169397872130397871986878719797178719755178719683378718405478718116978718021078717671078715007978712710378711964778710916878709113578708746778708158787069746787062350787045647787039227869912587869912567869891997869789597869635778695622786944291786935019786903722786876178687467478686645786866309786865709786842256786838183786832658786827943786825831786810356786804086786797734786762073786762043786758915786753397867449317867338077867225978670850478670418786697580786687616786680469786677871786671669786669287866620497866534478665154278662075786612477865971217865955737865875617865546237865357778653276578652645478652025978651240278649802578648492578646100078646093178645857878644597378642477178641380678641222786409925786403708786396530786390242786325529786321693786298068786297959786284887862840197862782587862638127862484357862477347862273597862256257862180667862016957861990287861889387861736897861682037861560517861520397861458897861359647861244057861209037861043578609919178608439978606044278605817378605683978605534478601760978601399978598563378597623178597345178596751478595701878594456378592690878592411478592270578591715778590366478589967785868957858579947858462237858357467858256227858234777858216178581162578579654278577062785767443785763913785750497785742640785741865785738814785729495785728494785723155785707371785705406785692925785683429785675049785673695785670816785667747856645978565190678564523178563343378562671078558115278557482978557240478556615378555715978554590785540597785539841785497027785474327785473132785470246785462808785462301785459587785456482785456177854407197854308078542955178541584778541405578540498778540438378540385478539255378539170478538646578538123178537584878537247178536759478535493178535014378531999078531261878531062878530185378529690378529467678527000378525486478525130785249816785248246785245721785228779785202314785195986785179767851482827851480277851447057851255927851192707851084667851009277850887197850800967850726278504803178504799678503376278502430784997667784994858784989220784982487849707784964101784953097849259897849065937848997737848753977848705077848630797848454047848410817848375037848269217848168277848155878481140878479694878479661378478146978476479578476083578474412278474381778473342784725380784722421784717527847068717846767577846660997846647846400327846396237846360467846246877846220178458989078457486784560107845501027845497737845367607845203447845097757844878787844872607844769857844712977844654347844402497844094757844089897844042607843946847843722078436113784354110784352028784344983784332687784326891784325092784307997842960327842921337842871417842838187842599357842597707842583427842521067842453537842283037842072377841939177841924347841864267841783737841771757841689078416294784159032784158259784156797784152747784149987841470278414576078414329784141509784130620784122375784099752784087675784085654784077596784074981784073677840728547840712717840608497840321997840206878401800078401525478400889778400613878400308578399393378398364783971111783947470783931946783913344783904075783898922783894166783885517838804687838802857838674783859037783858739783854669783850227838405107838278478382035978381179783810922783806735783806725783798032783791215783776621783776597837744678377444978376000378375425878375175178374639478373674783734969783731207837283077837241047837097847837061867837048478369387378368877378368501478367667578366410278365307278361210078360175778359655178358718783585012783582495783577599783576549783574657783565704783563171783561993783537706783530474783526130783522870783510772783478318783476936783476824783463162783459291783441165783430784783427347834202557834173037834167197834125517834097387834045767834022007834000707833958297833883767833632077833458617832878278328199783269075783259535783255943783250169783248428783220790783218410783208647783205971783205292783204991783200653783197637783191265783189769783187665783178147783176605783158227783149128783148132783146499783125306783111845783083804783066400783055115783053597783051050783050496783026984783001847829952978298603778298167829621178295640782927403782921654782919389782890344782883392782877884782874197828704307828608607828533578285135578283889278283664978281526578280949778279037478278696878277095278276865678272712178272434778271855678271589378271576478271291078269070782687727826597147826573567826342978262639178261980278261677278261657826105687826041047825975187825876017825836678257032878256099278255969378254902178254844178254768478254311978252963278252446478250731778250140578249842778247931578247455878247352678244092878243566378242525878242380782413182782413060782404438782400157823989127823863577823850087823824497823823247823823017823801067823754477823600147823560537823351327823224257823004407822924697822903117822741078226410378226198878226051878224718678223514378223407478221247821994478218028078217629782160493782159087821521877821144197821038957820861417820841007820836817820663077820488047820420427820402887820348837820271907820257607820179578201645178200791378199805078199178781979193781977097781967049781966462781945585781926084781924864781921400781918137819157578189019578187979878187511278186394078185947978184940378184696778184462778183015781811844781802998781795615781783738781782432781778866781772807781753286781727025781713685781712650781711060781701404781700877781700148781697082781692462781670057816669937816359437816217737816214717816196317816120897816085757815988137815817027815745117815652887815555527815527507815514017815427577815318307815288747815184297815125787815061778150483678149767078148059778147718978146842378146013878144778178142503078142379978141274078141164678141027778139742178138702678138127078134874878134790778134382178134209378134129878133404178132681778132571781323457813231357813138467813114577813076507812949067812539967812486937812308567812239117812074097812028527811937478118864178118409978115964578111850378110749778109483778108866878108535878107373778104503078103590778103214781031272781031168781028847781024374781013778781007253780999212780989787780988457780984567780981745780934281780925964780921279780902148780878947780873679780868545780864815780862242780849986780843033780839791780819131780803381780798245780779808780763468780737249780736599780735190780732816780730713780723855780719116780696030780684742780684214780682578066131278065891678064752878064610478064275378064111078062283578062118978061746678061621078061250078060593378060215378056728178055028878053153780530045780504992780504057805009557805006337804769107804761477804525027804489147804471887804445477804414367804389457804349478043125978043013878041977804065797803953617803861367803811727803772407803529827803496507803371367803266937803074578026858780226980780202277780199812780188271780182880780180194780162033780156437780151155780146004780137387780137056780135475780127078011161780110640780061788780037850780035095780028434780022594779985553779972080779967720779963638779961207799585977799538647799532267799272707799238137799205397799202267799073577990475277989530377989318177987781677987660777987457977987211779863522779846866779845740779837732779819370779816602779814613779814401779807251779773714779744076779741636779729227797253497797233927797182257797084667797083047796877767796859277967635577966063077964598377964346877963575077963354877963093077962943577962140677961303377961198877958972877958409377958089277956967977956494077956161877955250377952075777951542779511298779494635779488899779480800779465804779451636779450669779439011779436307794176337794053477939998779396483779367831779347855779346201779342689779335938779325007779320945779316089779313300779294205779278434779271447792420137792381277792321397792077377919307277919135477918635277918621077917873677917659077916727677916725577916257377914933577914546377914484177914090777912943677912474677912307777911692779096057790744237790730657790590637790365617790362187790241677790134827789875787789871747789707377789691307789598567789587777895491577895449177894967277893315877893230377893220477891754477889319177887307277886885778864867788557587788429537788179207788086737788056607788046747788041737788025417788005957787969087787913867787866177877035577876977477875843077875249777875240177874313177874048778736200778668069778666317786621267786474057786472607786417797786344157786251607786122597786015357785825277785759507785572297785444777852238977852109277851730077851448677850340977848609277846432077844891977843751577842504677838302177838177177837434377835158777834794277834584277833367377832846777831383277829860777828662177828477877827382977827291977825329077825201477823747277821419177819825477818010377817252778167269778154296778154028778151799778149670778146372778135838778134311778130864778129958778119853778093650778068104778062595778050033778045727780355267780239977800475877799604777981617777970109777957514777951946777948665777943503777929995777927102777900461777846012777825949777822055777807868777783716777779644777770399777765294777756802777747689777732988777729569777728364777692178777657697777652294777641617777617492777579970777575720777555759777545355777537751777491853777490374777483514777478208777474651777473437777470487777462687774460227774228077774210407774207687774202447774134617774102627774001047773945377739307477738704277738683177738426777378418777377973777362300777339357773312297773276467773276457773223597773196657773106427773097377730279977728676477725941877725272477725104477723001477721609277721570777720774677720134577719170777190298777189225777188591777181757777180904777143289777120595777098909777095166777092083777085270777071864777067770326317770140807770093197770070977697257776970585776945842776945798776931901776929441776928391776919564776919347776888032776876157768581517768578027768570907768564487768333847768191567768146227768089337767965927767801117767762897767741277767695207767561957767523437767438127767331737767313267767265217767250537767154677671422677670955776698917766880587766847767766795477664741077664136377663341277662907277662015577657612877656801777656138776551346776521291776516165776512477649522776476344776467396776448213776425831776421298776418344776414583776411324776406277637668877634153877634110477630887077630051777629111477628605877627916677625951577625397977624783477624630877622831077621227177621069877620243776197767761607417761564107761410737761362787761022947760818707760658776057477604590677604413177603915977603132777601940776014267776010615776008557776002871776001962775966646775966600775953910775949868775947387759327727759273077759263197759255927759180227759174617759031087759030847758941037758934017758641437758312837758264647758251437758214877582087177578749775783690775775422775757975775739603775729927757150347756725427756697077756525897756439877563837775637052775618779775618257775600238775598881775598537755925197755805757755777877755767417755753857755692177555884777555040775546544775544026775525358775517391775499263775472373775452473775452356775439214775437209775431227754265287754250677542462177542211777541146577540708677539483775387754775386387775381717753769427753744307753650577753480687753040527753039167752817217752662377752659647752657377752573557752411707752281117752259267752199417752112647751989407751866457751856177751809357751770157751751547751660587751593807751470397751289477512470775069343775068696775057249775057226775056917750263647750142667750032167749818717749692587749600657749584477749571407749463107749435167749304067749299477492974177492178777490062877489777677489475577489464377488430777487918777484392677484357777483888077482698577481499377480443477479479877479061777478804877478764777476930777475048877473918977472576577472309774713566774711688774709702774703396774682545774676689774673106774670437746640867746538027746533147746520337746482867746301117746208217746102877745990787745904137745882447745829117745517437745499107745460774535919774509114774508329774492677744789657744762697744657957744600387744415677744407337744299517744180307744005417743918177438816177438669477436877477435927477434483077433508177432603477431611077429324677428488077428339277426950774247744774237831774233587741878557741816647741793597741138497741112837741105287741077137741059397741042707740903677408922777407016077405999477405613377405271177404452777404349777403531774010851774005693773985607739765087739701627739694847739638727739592077395849773945097739444977393252773930147739293827739280617739132727739082267739018247738731377385772077385544577385481277384712677384553577382811277382424977382013777380300377378314477377604773763884773754431773749142773741760773739662773733425773714081773708126773696053773691377736766027736611667736237227736228587736145867736105337736039237736003367735664947735640807735573977735341547735296487735288817735064017735024867735024297735007707734874037734769377347215777346242877346155377345987977343171773428660773428362773426379773410667773399232773349301773322412773321015773320354773319293773316769773296451773282457732644877326243277326115177325760277324965477324493577323716877323414077323325277321767677320706477319194577318857277318545277317010377315954377314347077313095377312997377312804177311957177311663177309228477308535277307564177307357577307090773057942773051611773032690773022069773013924772987361772941300772921331772911344772903806772896963772896020772880535772838635772838536772836230772831567728232427728220237728083187728074437728062787727829147727741677727550877275037077274586772743567772738647772735825772733702772730393772725329772716177271101877270778377270607377269322377268164477268146772670180772655118772654176772652117726506587726384277261527726129727725907497725755117725714777725710287725612377255781177255469677255064077254726177254549277253730377253101772525438772521263772514963772472567724633227724394047724387187723890517723685607723670877236614177231746777231675777230900277230518772303214772299146772292944772229493772223341772209994772203757772181027772174694772172206772171848772163180772146628772132670772130099772120107721115077210253477209686772071947772069197720681277206430977206167977205855977205545977204892677204030477201788577200757377197356177194925677193659771935205771927049771910189771884360771878610771869049771847066771836742771831318771829921771824458771809597718077417718066837718060967717852797717781327717722607717663617717587977717555517717508277172686577171026771697564771678321771676520771672117716573077165438077164957577162379877160164877159116077158635777158499077158479877153687577153536577152662077151332771511347771477293771468997771467949771466160771452528771447878771435738771431455771411544771408045771404558771394559771384220771368592771357310771341763771330267713283577132579577132461577132319377129535477128517771278710771276205771266280771264822771263835771261101771253895771250837771217087771202307771200576771192286771181289771174842771170217771163601771153730771144004771138924771138876771131897711241757711186317711179317711126117711106637710947237710868817710771417710742107710655497710606387710540337710298217710255607710188177710160547710056507709833017709790677709776667709731687709478067709435867709194577091545677090622770905301770884139770881520770862214770859317770854635770840349770840192770835838770824875770823995770820508770818617707678877707624577073685977073537877073257707266567707167577706980267706688517706677217706630207706518697706437767706427677064265770641132770617771770614388770601689770594890770583027770578097705745767705612457705586797705573377705555277054662877054611977054292377054056977052921277050338577050020077047226177045495677045002677044562077043838770436717704061097703978827703935497703847777037943577037384277036817977035767477035688477034220977032866077032677177032618377027845777024674977024508577023585477023321477023310677022811177021423677018812877018220377017304277016975770164582770162981770153467701360077013427877013259677012819677011450577010517577008391977007143770070870770061892770043255770030627770013191770011623769993305769985411769963237769958816769954790769942887699238717699088176990487276986227476984901769813183769804614769798208769789015769788013769785799769785717697839497697650717697622267697329197697206197697106076970815769706169769703683769689672769651267769638846769623150769620505769616577696039457696015507695932897695894217695655407695517587695510937695434876952978876952239876951292476950888176948512769452577769445151769431427769414611769397537693779576937316376937232776936734976936635976936343776934012276933042476932465876931331076931229876931197676931017476926119276925990576925628176924147376920203376920162676919249376918678776918334976917891076917848576917308676916328376916205769158363769157567769154213769120163769116294769110350769101672769099761769089807769084471769079182769078117690592427690483467690455237690232487690111507690037057689995576899417076897734876897548776896707176896499768964787689361827689280397689271857689175947689147276891060176890027476889751776889742776888954676888021768876627688627327688611107688609417688587476885270768850962768836793768835493768826269768823517768819127688023476879745976878729676877055576876437476876350976875440768745599768705055768700602768680810768679501768676027686756987686567327686482967686472037686436377686435768621559768616793768605885768590279768587220768583836768573276857212176855884276853118876852511768522482768505947684890547684884127684873607684862607684562697684395487684256917683966476837112476836316576835125776833431276833191376832892276832017576831900676831717683144187683140767682963337682920787682868276828276176827507676827434076827025276826885376826715876826031768256477682463507682452717682449007682267487682257597682227107682116757682046876819809776819747276819491876819049176818928768189057768187927681827137681728427681471597681452667681126337680988376809658176809287076808328676807340276805083768044958768035749768028967680247707680088697679893067679881857679845087679244257679044527679024467678956457678950647678918217678726576786197476785152767845454767832184767826193767813478767812707678077697677946167677812277677710197677707377677662447677652837677569676775356576774185576773322376772044576771908476770161176769761776769008976768252176768076776767429376767059176766572276766547276765973776765907676516707676385967676331697676300697676259747676231437676171327676026437675983487675913847675838877675768676755648576755332776754864776753943776753832767531528767530917767527290767526935767521483767520372767513587675032947674928037674693307674644537674622167674621787674548897674412976743822376743147767431184767429292767411048767395124767390192767374745767365167673544987673494007672973267672969567672785717672683627672655617672288376722581076722097976721801176721459076720925767206969767202168767192576719023176717762076714941076714554676713667876713570076711179767108293767097741767087143767084181767078645767073621767070015767046320767043499767037955767036995767036427670303577670252787670178776701479676701390076698098676697726076695910766953658766945327766914405766894632766885353766879130766876215766876027668456977668388477668375467668338047668310867668304257668240547668234176681652876681593676681543766802197766793650766791709766789597667717647667701476675368176674808976673612766731769766721192766718898766712475766712063766707970766707358766707288766705910766697405766679681766671115766629082766618261766601866766599569766598608766589886766579143766566683766556695766523110766520226766514807766480834766471669766466413766459863766457605766435365766419225766416681766405432766393367766391247663689476633990076633601376633442076632936766327041766315900766300562766298367766296607766245209766243595766242367662235757662223727661989827661969057661851207661828317661584497661406276612435776611342376611242876610347661012976609973276609669976609398276604362076603068676602707276601547676600538576600210876599265876598674176597485276597371976597336676596817676596792576594676765890468765883857658606577658430567658407057658376927658301076582125076579201765788811765786175765777982765775187657725727657702197657602576575302276572786676571772876571687476570972476570802276570288176569188676568134765668552765648688765648524765647716765636796765621947656211407656131937656101076558962276557924076557279876557223765572082765562107765556655765535250765531189765524761765523315765504704765503825765499751765473557765448161765446476544451876544216476543230176542398176540925776540775876540409376539038776538307276537950776537435276537156276537123276537103476535733176534582076533852765333846765332645765328883765312871765303761765296832765282860765276044765271661765266740765262607652623217652389987652283567652147157652099676519481676519328076518362076512841376512265976512049676511826976511351765109710765109056765106376765106256765104426765095701765089529765086007650670587650499647650408967650181377650163097650162277650162176499844776499682676498165176497957649771457649650027649598837649501777649436937649369727649369657649323707649289857649057407649020487648954737648930217648906527648779777648665017648658676485200976485137876484657876484146976484051376484050476482501076481504776481503476480787648030117647727747647711647647433357647277437647267187647249927647193297647122187647015977646966927646947787646916277646820577646723776464908976464862376464618176463109476462969376462707276461934776461120276460127876459331776458269276458025776457975476457107764570227764568384764550489764549717764546621764544842764535957764533419764508827764503167764485759764463290764450311764440312764402099764401667764391797764386880764380914764373035764365037764347574764347377764331874764331231764284959764281925764222449764220049764219033764214335764213567764209030764206693764197956764167898764161757764156989764151933764148297764141101764128782764127904764121012764104316764094857764091422764089253764086527640333447640308497639909277639774847639751107639701237639536287639423867639351007639299307639282847639116877639039487638942237638896047638819327638762157638686857638669647638644437638493507638466676381796476380890576377965776377901076377466276377209976376348763760886763758359763753418763752413763748876763738577637330807637293176372615476372266676370919676370072676367751763674450763672807763665192763660763763653552763651067636397797636350507636134076361012676360890076359720676359551176359080576358003576357414776356273076354426763544112763529081763507917763502097634959597634910837634685277634580597634520277634451677634371947634295076342616976340707676339500876339212176338336476334202763340886763335871763335804763327378763326219763308064763305437632908167632799427632756907632565057632558417632531867632003667631923747631771957631766507631639847631445967631002276309163276309145176308526676307672176306287476305454476302645176301460376301112376299465676299347076298686376298330076297738976296125976296000176295030476293784776292492076292413376292157629206577629115367628976647628904497628873476287186376286184476283668776283214076281986776281853576280769976279790676278773076278560976277661176277147176276590876276107476274549976272401976272160476271841576271577176270348762669437626681787626662257626639917626450717626343187626292707626291647626253707626141237625929762579626762573359762570689762569497762567413762563151762557904762555521762551695762550832762547797625473897625448647625332287625189047624906947624756827624666177624654476244705376244618576244098076243251876242176176241924762403740762381265762378673762375517623753727623634797623591087623554857623473376233946776232585476232557623146157623031047623010597623009377622966617622948697622798657622768437622745187622675827622625076226106762255411762240365762238577622325877622323947622184277622143137622102447622041677622027621949187621919317621906967621896527621866567621749177621671577621668977621657827621614376215679576213764676211910876210065276208905376208644676207479076206861776206621876205176876200628761999477619973417619957176198903761956597619500527619397217619349157619296307619213597619110687619063267618886897618775347618741867618732177618649217618582167618552677618549467618501247618122167618115447618075076180662576179566076179329761791599761765271761751641761736963761735450761734939761722999761721370761708011761702550761700132761694077616825447616791376166437676164212761623810761616593761615282761612851761610543761605796761605258761604575761583864761564317615586597615521876154377276152710076152445076152246576151935761516054761513444761494681761482257614768077614690437614684127614668367614657207614564467614476747614396117614383376141976576137644761375969761367987613512237613427587613399427613294176132102276131767076128349276128196476128059976127051876125680761256659761250701761240108761235215761218075761210418761198818761187947611873976118160576117839976117576761159437611579347611453317611444847611297177611241487611225676112054876111950761118642761112763761111941761109120761105453761101912761100098761095154761078323761060215761049234761032567610277007609617197609523727609445567609435457609381357609320567609258287609212187609136137609054957609045117609021976089302176085746476085521776084671976084625176084115276083444976078996876078489076078151476077044476076539760753291760741645760727109760726076072374776071947576071524976071069376071048976070060676069277676065085476064050476063168076063050476062434376059838076059315576057472776057155476056330276056315176055800760557867605570227605563277605524677605465897605446777605362567605358776053141776052933776052000976051898176051280976051128576049344476046654760461075760430896760427077604143347604119037604115876037207476036748676036693276035881760339036760335523760307045760290635760271176025959176025702976024240760238754760227569760213141760210270760206388760203477601761097601631637601483857601395027601110667600991527600978037600939507600908567600871157600818047600774897600769977600697476006368776005622676004862676004267600376617600234867600229176000964076000446675998838759977349759969157599622257599573797599395877599383667599357097599219077598899775987957875987427475986823759861327598404675983952075982855275981668759803486759769200759768072759764050759755751759739335759739268759728950759710147597098497597050197597002747596987717596920257596374647596362275963517875961786475960654575959934475958688775958494759580820759577295759571369759564630759561297595531047595490957595306687595182227594945775949324075949093275948566075948514375947612275945236075944678875944487275943207375942981175942023759419387594111237594059827593906117593806957593804897593784577593718077593682597593663527593551257593446759337697759324401759310362759304883759302864759301667759301188759300600759284008759277363759269037592667647592580827592430275923389275922587775922204759213367592110807592003437591937027591824017591777757591592775915772975914440375913683075910980775910142675909675975908390675908178759081287590777187590758077590736937590695457590639827590580857590488517590202827590118675900940275898971075898054675897249875896602758965544758961823758960866758940165758929875758920367589044127589029457588907367588902667588651987588483207588258875882146575880713875878618075878584875878211875874292675873700575873299475871822375871249275871124075871022875870627275866775275865303675864181275861548075860187775859741175857443175856266775855494075854571075854328758534744758529093758528725758523937758503661758487655758485421758484354758461096758443667584387875843361275841800075840314375839483475838150575837688775837077475835461375834445375833393475832867475830122758300477582889327582841677582835757582817375828090375827617775827311175827047975826824175826593758251929758240157582207107582160547581855275818279275817927975817890575817881175816949375816111475815943475815577581537077581531357581314257581138187580920277580872007580838375806774175806709975806466758059550758042730758041093758026417580092567580053457579632907579553957579390657579325037579225847579223175792036075791046075790983575790121275788870975786102975782663275782586475780679775780184975780120075777347875777263375774927475774753875774121757723758757719852757716977757701880757701817576923527576860417576596175765712675765562757630121757628719757626892757622387576169387576145537576112787575902257575801575757775875757758875756234375755180475755106875754762175754120575753512875753031975750745175745110757437279757432587757419107757405292757392197757384670757377321757349975734536875733783675731319275730426775728687572818075726591075726307575726058275725081975724942575724357075724245675722997572190275721400175721212275720505275719650775718859975716817775716609175714118757140347571287337571229687571164017571113577571095737571038707570883547570855757062089757046775703503375701699375700322675700005756992465756985832756984067569643375695993075695475756950137756939613756933334756912374756911410756910809756894011756876125756865626756852770756839062756823597756821148756781971756756173756754640756745226756741808756732286756716208756715732756705983756687973756676094756618024756611042756603475756582933756576236756546949756516678756514304756497667756495509756491147564878097564822207564799775647279675646697375645825575645509175644657564281607564254575642327375642054775641116375641105756404307756397283756388809756388502756320947563128377562978977562939027562877227562822777562686097562679977562490107562471275622298756203787562000867561922667561883075616750275616577675616022975615326275615273575614712575613973775610825975610428275610114756092488756085554756083547560740447560698537560656817560500917560424275603725675603110775601884756015596756013159756013157560039207559857755984255755977061755973478755964975593942075593274375592320175592113975591238755900290755896530755889062755879342755850026755847862755831758755819712755812833755799377755789518755754276755752542755741695755738150755736234755733372755732764755706414755700830755697185755693008755682243755681117755654202755654094755652597556348807556299267556237777556218667556163787556089175559354755588649755587551755566090755552567755550230755525802755517127555156827555004567554997737554739575545550675545354755433187554279077554278317554066717553718877553560747553481707553476467553178057553170475531119675530704475528596075528306075527950755269623755261482755254006755242627552372737552277275521065175516758375515635775515383075514306755140995755130725755124427551234837551214477551073887550878137550709157550645907550561527550553675505485375505394175503696475503643375503150975501443175500771175500707175499523475498890075498189975493457075492039975491803754917457754914547754902087548881727548867657548762775487230775486822175486759375486263075486207675485520975485044175484793875484677548436357548414147548312497548190117548165675481582975479943754791098754790493754780358754746881754736696754735047547254767547190987547181754668739754651646754647357754634274754633510754619628754612510754609487545999687545950327545882457545589347545587387545582877545392677545234847545233057545117717545084575449668175447552775447374075445990375443523075443173754429178754426857754426040754421219754419837754406511754391823754380127754366797543659847543513867543250297543171917543149017543100177543055175429438875428831675428400075428343775427392575425752175425674675424967275424611075424218275422742775422173175421974075417809975417337475416655275415890754157677541576137541568557541541537541492275414417975413992775412215575412190754119969754074590754064664754064557754048464754042879754041917540172337540117507540110257540095057540088817539830247539812475397683775396978375395097753946183753943651753939875390128075390090675385605675385463753853719753826468753813009753808802753804197753803291753800766753792047537894275378171753776379753765107537559897537494957537494057537473957537319007537283857537236117537187837537096987537074327537016697536993475369817536902607536882037536751207536613467536574917536504177536468617536262037536224187536217075361704575361562375360847535983577535967657535847875358106375355127753550656753521788753521047535150447535019167534959075349503775348166075346290075345672375344803675341558075341022375339696375339136753386077753382535753376961753368107533662087533346007533318575332770753314846753310587753309641753306559753304807753300234753299346753296942753287544753283604753272046753271797753254505753248897753237558753234007753193328753186975753168630753166262753151617531488667531423947531346037531126537531085957530901007530719937530637407530623227530503775304366575304288875301788753015247753008030753001920752999597752995217529949357529882657529789947529715287529694437529663047529618807529614475295053975294841275294783775294016575293125675292726175291903975291288752909209752890157752880517752876198752866716752850705752841475282952752818129752811736752803500752787722752784230752778862752766497752754247527525117527520217527435687527415447527344677527249637527129237527126787527109947527042677526909717526853207526840387526822997526595357526490307526463257526188327526120137526114747526095527526007675259702375257023975255520075255486175253205375253203975251166752499418752482443752472564752460994752456209752455869752450772752440188752439473752433515752427354752425142752417481752403102752401388752400050752391021752386704752379667523738287523674617523609775235692875234487752342336752338125752314467522994875229722975228092875227903752276464752275864752262109752211659752203295752183234752182947752174318752171732752159472752158458752144729752131575212972375212787521259017520807377520787397520731447520717287520574475205161175203580175201277752011461751978996751975618751962378751960061751954999751953694751951191751948013751908847519084027519017417518771875187078275182844775180682475179225375176084975174250975171971751719607751716077751714882751714108751713006751677881751675356751650895751630775751608041751584966751554107515513367515474975154733375153941175153507515196077514979597514919475148402875145710875144950751445127514250967514228337514072517514050297514038887514038497514030287514000297513999827513857377513847337513562877513352347513337497513295947513242697513100775130107075126220875125940975125663375123524875122702751226964751213025751208636751208410751205382751195689751176435751171994751169879751167162751157277751156859751154570751133567751121495751114553751107339751081521751070168751035880751033549751033106751016225751014294750999756750997606750990697509813475097180675097029475096343875096047675093870675093061275091472575090704975090321275089181675089156750890817508905737508858137508807417508583937508545357508433657508315947508162517508099847508054975080183275078773575078594375075294775073796750734656750732363750732003750730733750729532750725510750719873750713409750710882750710837507100367507097957506945797506788375066011075064520475064076975063851075062664775060089575059871175059461575058773575056609475056412275055154675054707575053642275053497575053268975053226475050747375050465075050349475049671975048800375047984275047754750433549750428195750420521750418780750417856750414303750377503756187503713747503547947503475497503342447503217875032162275032152475031680375030626675030368575029233575027276975027091475026621775024762875023123375020291875019853575019188475018429575018307075017648475017635875016559375012608375010353975010190750096187750090510750089067500816407500637567500475675003345475003139675001061974997441074996835174996249574994865274994120174993977074992509474991972374991483174990753874988575874987380274987376749864177498559527498547897498501157498438437498416837498399897498246177498143137498094087497997497991827497896077497838717497838217497635477497604227497500417497421617497413974973521474973001674972090574971312674970338574970164774969526974968642474968368874968114274967261749665583749657907496562987496324357496299617496274737496259017496140127496132847496127717496110227496018967495768627495691127495665877495617107495466437495408957495344857495139597495016267495009074949862874949185474949154474948267274947781374946526774946476774945127749445476749439020749433122749430057494232537494226477494185627494093197494041287494033107494004717493962057493824797493752807493720937493691717493632837493329487492805227492609397492426887492338347492139227492136837492020807491945087491941857491934527491853967491725074916559174914619274912651274912449974912373974911764774911590774911526749115167749114970749114645749113988749101217749092069749090704749083839749081642749072555749068231749050814749046371749038254749006306748983048748979417748960725748956100748953877489425417489372077489283607489145007489138197489006847488936337488901287488719407488421997488374217488202917487799874877523374876300974874455974874096774873636774873379274872823374871463674870846574870160874867930874866552674865832874865243748648827486384557486346367486223677486008627485978567485948217485896337485796017485699707485550527485436774853504274851752574850664274850182974849545774848865674847828174847367774845828474845772748451163748438528748431739748404284748397277748374821748367676748360859748356808748349197483491427483445657483391597483336317483313817483279477483205957483078574830645774830629674830129574829031374828462474827411748254710748243274824298174823934074823875274823843174823374822573274821265748159082748156997481533077481516307481306847481287887481126537481096887481071667481039287480645197480573174803785174803708274803128874802952974802555748005747480013787479947057479564377479535774795146747948919747941235747918400747846306747844709747833597747830166747819766747819761747818212747818186747816480747815937478158577478081507477999637477980987477943277477910977477825267477682037477609957477566674775267974771912674771793274768318374766187074766140474763844747621784747615017747611643747607302747560093747545802747542154747525086747519445747518549747516492747506273747505024747500676747496238747479007474731187474610027474571847474493674744144174743818474743574742735274741953774740709574739853574739311174738551747378127473702097473436557473353297473196177473161417472659117472625357472528867472473527472394187472391527472287607472265557472247187472159907472147197472107547472012267471869607471782137471699274716869747150214747148817747113476747105195747089481747089227470839217470607977470591674705902674704539674704220274701628074700331746993832746976881746959373746957903746955501746948175746944119746943257469342974693428974692172274691964074690844774684528746844669746839412746832497467993327467985537467879907467832777467816127467807017467780927467776067467669017467557007467410417467184407467060007466875967466822907466742907466698307466609527466540847466478057466385717466307997466213617466142717466119127466007027465619047465429057465097747464928207464883377464783507464700287464631307464630657464626267464498697464495837464444357464408307464356927464175987464136447464069077463896387463859497463835187463799467463777777463658877463510587463475757463235747463228217463152777462994677462921857462766037462730597462638127462279727462067267461913807461808027461787477461638567461460174613963974612132774610855774610278746092002746089180746078976746043358746038231746024655746023124746020646746019094746011409746010727746002947745987179745975073745969711745969412745951667459218147459159337458971474588683274588336674586544274586222374584959674584801074583517874582183074582161574581527874577387874576809574576067457554897457455927457406117457319167457086037457073447457022674569068974568270774567275745649101745641371745616618745614834745609697745606227456041407456018787456011587455978574558702674557621474557251474556914574555358874554433174552929874552713574550982674550806174550654774549393874548944374546983474545437374544194574543246174542651574540288745402511745397439745394116745382125745364252745356229745347767453426674533291674532337874531817374531065474526942474522456674521820745209898745191537745189665745158212745152784745131245745124427745104226745093178745089219745085044745072242745069964745065584745063450745057164745041583745021163745019007745018239745003177450004247449978957449961997449933547449688997449688237449575567449523697449447017449282147449106487448865977448797274486755744864602744862136744851444744850174744804481744798677744794565744781672744759086744755120744752498744730625744727050744722170744715190744708750744706053744705253744697571744695431744694542744688428744671575744670022744652766744641620744641592744639928744639444744624616744614279744607127446038987445958047445841174454601974454488674453604774453150744525932744517374450758174448561074447504474447434474446186074445331474442129774441482744412369744407392744401591744398820744385936744381727443809677443669307443571387443553574434122074433702074432816744321351744310331744299647744291527442856037442811874426298474424514174423339974422992744227130744224867442246744215057442010627442005337441966487441945307441810147441780717441719307441542474414968874413877774413654744130335744130025744127295744119002744116197441142174411421074409551744093202744091825744091209744090371744078662744056359744050497440502567440455627440435374404019074403957574403519874402267744014928744014575744013492744012116743999741743981755743980101743975926743972989743968166743952070743933260743919296743900903743894780743893074387901874385509874385123274385004174384844674383874374381810874381016274380753474380000674377909574377879474377286074376725743764966743756506743753820743751701743751637437506077437494457437457674374456774373388474372387274371936674371683574370932774370168174369852774369822674369593774368659074365769774363702074361803974361432974360860743570560743564216743558095743535279743534537743523959743505557435031277434977347434952647434919327434703147434619377434386877434353407434205857434131877434024007433855267433561757433518197433405237433384427433368207433365337433274977433271307433193457433026967432793037432756007432475627432217117432149797432106187432031327431964387431931927431881527431813617431695687431663627431624237431566877431375097431375007431357297431094874310829974310360574308362474308255074307651574305669174304861974300686743004897430012767429993637429956387429825567429772477429746627429741477429310507429218497429169007429107957429102057429092674288471674286507074286379274285959774283878274283475674281707474277936874277450074277138374276994374276183674275900742727677742722213742710980742706617427020987426989607426796674267541574266271742660645742655070742645406742635297426344327426244897426159527426049157425979717425612697425582837425526697425432847425356197425320487424756177424751877424733847424689074246731742451408742446126742437379742422445742414537423750517423734027423699787423682267423478617423378747423262777423251187422996817422989107422798027422775974227084074226740674226499574226226874224346774222785374222661742209565742205850742200874742195794742168597742156667742154776742152082742144306742141749742136974742121550742120977742117672742107474742106809742091555742079343742070242742068407420594397420387817420360607420298174202498074201984742005217420039477419797317419661797419623257419477577419332887419311487419249337419241797419001857418875974187504574186497174186496374186490174185909974184300274183461741803244741798870741789622741786471741784093741779401741774746741772667417680347417647217417616687417443897417182647416942297416815417416725187416597727416561687416459237416102177415888687415693357415492274154220074153640774153429174152866374152620741524443741524267741522530741519849741480987741478986741477783741468663741458545741446173741420790741411137741407957413980947413760867413602217413563267413553727413550974133384474133250174132660974132550774132549774131895374131522374130136774129348574129011674128724374128127774127913674127475574126157374125594374123182374122060741218864741216712741216132741209344741207929741200707741183278741179366741171785741167096741160783741159989741152306741148034741134966741132588741127519741118332741117105741099807741099112741084958741080377410770857410721557410586637410559574100490474099697374098601374098019374097929974095558674094125974094070674093907974093339740932717409279827409257557409196517408916787408626767408577167408509237408478217408211547407929537407901837407893877407859987407755777407740727407721797407642517407526867407473740732173740728238740720486740702104740698929740689557406748387406572937406551617406519097406411727406289617406272017406195074061269740612570740611815740608739740605651740597338740589501740588172740583000740580154740579494740553848740551176740549919740549637405410967405397537405396237405307657405302657405278107404997874049976174049733274048325374047461874046897674045917774045907874045194174044414374042984974042757374042217074042137074040680574040597174040575074040525474038771274038302674036837374036578740359679740356922740347977403337797403154387403152357403021147402656657402527727402390657402108740191947740188159740178218740174330740168778740167347401640787401526387401455417401423874013426974012803274012485874011916074011412174010346474009619874009453174009054674008983474008589740078208740077377740066381740065306740052887400479837400452667400342607400306707400007907399930727399725827399620557399253567399190627399171687399153367399099473990886373990739373990693373989187373988035739880080739878756739873950739870527739865107739864947398566917398448287398092347398052167397978047397705267397533427397486187397483947397444057397089667397012327396927737396910017396887957396814707396797437396492637396287587396169807396087287395756077395598017395344907395287573952816739467927739452159739436637739433403739431686739426980739413571739395717739394518739383958739379730739376057393678397393667607393450937393185457393138673931245173931033773930658739300474739297640739280714739279829739275396739270504739269094739260547739259497739252201739248237392405417392374897392290047392222897392160937392136657392115927392092427392055347391941047391895373918724673917790873910987073910527073910411373909958973909813573906249073904574739044031739038464739028600739026667739020982739016314739015017390115387390110227390063437389917887389682847389674367389530957389430517389410373891428373891243873890998473889836773889754573889043973888496073888054073887410973886682473886467573884631673884417973882247773881348473880338873880038373879181373878814173876252573875222973873031473870815873870713073870418373870308373870151738700324738700047738684244738676924738646937386465407386310397386289087386279717386259717386248373861981773861381738612406738608199738594914738585417385714767385704457385686727385659387385479637385443957385370597385282337385169167385087457384985767384970047384791347384748117384717373845720773844729273844481973843564673843417873840503373839806373839803973839038373837786573837544673835841773835490673833645738328210738311617738306869738301303738281250738276323738261895738255910738247698738247593738246757382450977382365787382159367382152837382000473819177381744797381729817381684407381591797381535727381442047381131347381127127381118917381066073810429773809873808439773807980173805933873805544738050425738034583738025035738019338738013830738012837380088273800841473800320873799906673799617873799473873799213673798830773798234737976360737950910737935099737916445737913717737905058737900763737885800737848444737835773737825592737824747737805991737802847377931077377909573778060673777713373776889737752569737747530737737379737737057737735282737729130737728956737726341737723730737714973771165673771042973768807737686717737681087737679301737663972737656085737633175737624638737614661737612634737607408737599439737587674737568577737562649737552072737551246737550287737546787737542077737529622737524221737519534737516122737510456737494177374917973748037273747906573746507073745095273744492673743996773740043073736652473736411173734572273734538373733467373253947373064737373055873729437737270741737256286737245764737240978737237457737234906737211974737198750737190447737185766737176576737162737161320737153163737152449737148760737148286737139518737138311737131976737128187737122834737087941737079773737052454737049742737040931737035447370213957370188797370120537370072867370009127369656747369470397369445773694298173694140773693116573692332973689517273687482573686644736864610736854002736840296736837528736819562736814936736810664736797108736775555736770169736761595736760291736751146736745347736716291736706193736690065736682395736676139736672857736666369736660747366401867366312857366263757366253347366238797366114907365942077365889357365801567365772287365701517365637547365590837365416567365324727365228267365165817365155987365014073650063736484681736468957364649037364547807364382907364182307364078807364068997364065477364025267363765647363633973634282373633773073632295273630867173629892273627492673626800973626469773626132873624628773624619873624589273624216736225687361960987361943917361941017361934573619203673617138573616788373616456773616068773615711573615198073614130373613768736131031736123382736112777736101837360712527360576537360574273605543473604718373604110473602962173602740373601120673599280273596726073596302573594315773593039973592683273592645673592608773592010573591771973591333735913191735893526735886027358640977358610477358601437358470447358440073584264573584026673583282973582090773582043773579884573579646973577850735755647357540667357462737357456877357373637357299887357219097357213857357202573571709873570551473568841573568239273567609273566755773565750735657455735648730735643338735632987356299573562242735610990735608228735603157735600127355845417355840657355837673557843573556646073555822073555700773554420973553248735528302735525323735520480735514369735498515735491476735489038735484335735480460735447590735420754735405929735388291735376137735358488735354785735346287353354277353093173530654673530537373529954735298517352902747352569137352554273525077073523856735228308735225786735215149735208158735202577735195088735174438735172039735166819735122607735108797735095598735091430735071935735069963735064966735063241735062957350597573505442673505381573504878873504877350353527350135873500293073500051173499651373499588273498086373497135173496309373495450973494935173494696073494167973491518734910984734907937734898111734877996734873965734866662734853497734846400734843441734841773734837005734835581734831370734826738734819659734818667348029267347936397347836157347636347347571057347547327347522597347421037347420187347414857347169057347157167347079467347040057346951587346836734676322734662470734651604734648975734640668734628957734623609734591877345865327345778687345772107345752697345717877345584273454583073452314173451771673450298573449230973446393673445929734422402734421960734415687734412229734408268734363962734362553734347025734341806734336144734334995734327452734316756734301520734283140734278997342531187342379507342362577342305873420275973415668673415173773414571073414551173413848973413275573413269073412962373411863973411599973411595173410041773408775173408080973407707773407179734068340734065918734056370734048973404044734023752734011197340094273399973573399792473399454673398548573398185473394488273393020673392688073392660173392382733908589733896034733890803733871216733856639733848512733839253733836627338281487338279557338270607338217547338206047338199907338104807338084917338043047337958337337815177337544607337518527337450767337310787337018987336905907336851847336762267336760227336697417336385007336373057336301457336295367336245057335962067335700967335615837335572957335508667335458627335455647335454087335309797335248847335113807334699967334454177334451887334324077334260597333884387333873073337036733361760733356708733336605733326489733311828733307104733296356733283338733276517733273523733236639733236594733202567331848587331582467331568887331428807331232173312084873311811773311676973309846273308676973307864073307260733059679733059074733057818733044387330349073303328873302329473301508573300925773300830873299045732986800732982541732966789732965519732952044732935606732905828732899450732893095732877219732866359732841337732833912732822003732817206732815486732813598732801224732794386732778598732761134732753256732752991732750377327499597327455237327431597327382347327258037327249587327227797326647817326645867326555157326526677326430973264132573263802732631570732620818732610377325869907325844573258116773257640073257488073256074273255924173254966173253990732538047325140437325085097324964847324958637324930677324841937324785273247627473247472773244629573243214973238812273237920173237514173236027473234950673234906873234829073234804732344987732330575732329909732329259732326817323265317323250407322906673228931673228662732286462732259857322353847322348657322256967321976767321889977321842057321839197321831827321735732172883732163117321630357321532557321523957321474397321424157321340987321182437321136537321120732111876732110025732108327732079327320639137320628773205293173204072273203946873203713732030472732016247320160907320120732010766732002424732001334732000497319901227319814197319673717319659017319543731952362731918537731905600731898687318922797318888717318825973187556373185360673184144473183683373183469173181903873180619873178888173178686731781940731779107317788847317586047317451677317345673173452973172142773171720273171449073171334273171034373170064773169906873168901731678916731678029731640508731633568731618986731610774731602989731602405731588643731587822731587441731582126731580705731580351731548153731544727315379973153415373153194731521275731486949731446239731437619731424529731413793731409287731399786731397649731387814731387577731385385731382569731369307313647527313601137313594797313405427313384473133610873133234573130941373128744873124540073123261973122741731225145731212109731193041731184187731161976731155871731148749731142297731128767731123504731122546731106647311065767311004027310582787310510617310479973103128731029357310184207310093730998995730995800730984007309632687309451507309317473092984173092910730923536730910696730908987730907512730905078730901442730897013730886573730883851730877728730873140730871517730860163730853352730849864730838057308366947308317173082636573081929073080557673079660073078959173078374073077876730771156730765450730759847730747977730738208730737626730700162730697117306966757306913397306874167306834577306831937306770997306685497306667307306649207306583797306341677306276773061519873059872730593133730592257305910167305864117305750157305700217305586737305521177305475507305468817305453197305225317305091827305063873048212173047527573046973730465067730463107304530627304452337304432737304427517304304877304069527304066617303994587303981757303879137303286477303238137303122407303100377302929717302914057302857827302813873027239973026615273025714373025386573023611173022650673022313373020216473017131473016239073016146173015335730140139730139246730131139730127175730109314730107162730103467300843637300381337300293147300246887300199807300152173001493173000477872999522972999232172999191672998976872998875372998572872998017772997379172996486672995741472995322172993846872992881972992153372989567972987686472986474729860567729847782729844264729837073729830909729824421729819659729813662729801390729796997297895372978162872978024729769180729750488729737587297317327297031729681157729676907729668706729656700729645378729645135729640437296331507296272837296197907296144857295939772959117729570321729529623729518452729511155729504763729504278729497046729492411729491678729490314729489048729469757294626757294598797294435907294414907294381147293843137293791617293769167293685727293612667293483487293423167293419372933975872933277672929674772927163572927089872926636472924103729228141729227502729210072729203404729185273729174827729152232729135834729132679729132329729130409729118365729112768729109082729099596729089575729088127290840697290701617290685917290649497290612772905991872904297372902990728985683728979487728961927289542817289520467289487077289479172892013372891313572889754072889117672887778272887155972886101372885878272884011672883298372882948972882916872881908272881459272881413572879913872879637287902827287846972876622672876091572874677672874165472873970472871720872869072372868088672867906072865641672865277728635290728635117728632794728622188728621357286186297286160772860967728608904728605857285947637285766767285590247285484597285483457285436537285394927285232017284757872847219728463448728455884728452840728432277284266997284186207284098907284078037283996937283954472839169372839009472838848672838346572837626272836899728354111728341466728330526728328150728316550728316517728303466728301705728295240728282863728281770728280217282699772825829072825085728240955728221733728174548728164789728159654728158150728156725728151104728148702728120291728098447728097642728089906728063176728047165728037481728035319728013667728010150728001384727979783727977986727977757279751457279684727952673727951580727948103727940055727939987279384857279349467279099427279015372789144572788884572788593772787669072787566972787392572787216272782185872781857472781462772781206472780750272780600727783154727778397277438237277411287277376527277196967276973287276968327276851827276819067276810272766697872766480472766216072766099372765498172761567072761193272760156072757137572753337727529518727524811727524072752015672751434372750590727498280727494707274939187274938972746918272746913672746838672745770672744266972743258727424382727424237274173437274144572741215772740925872740151727401014727387665727376460727372309727354497727349749727338295727320893727309220727309186727304893727295634727287395727275929727275512727254111727244960727235427272266987272222467272101397271925207271923817271923087271546477271529407271515347271269667271241607271216937271149617271112707271046057270935572709274772709158472708680072708227072708208672705398672704427272703579872702190772700689672699885726973295726966381726944381726941658726936764726933387269308857269116637268999477268997772689903772689666572689472472688059472686823172686374072684153772684088726833117726829454726828095726803342726799864726771198726742468726711658726702354726700986726695656726685106726677446726668756726665672726662375726650889726648134726635127266244667266020787265964487265888337265871837265758372657427072657209772656276172655986772654761772653245772653146272652406572652187472651161872650328772650067872649869172648984072648637072648613172648589672648032972646851726457256726443427726400793726398531726383117726364897726361190726358257263521397263518677263513417263292317263203077263157726306825726303433726298689726296169726286060726283274726283130726276951726263597726259171726240845726238572621636572621120372621105572620858472620370726199607261955507261872057261823777261716557261661577261642297261548557261495872614222726124647726116554726114223726090215726082395726066439726063704726050694726048272604680726039887260386987260343997259833277259772372597449072596652672593417972593110772592977725924952725920283725916521725912437725911072591092772590968572589981672589851725847496725827617258269587258182847258039572579469972578988272577685872575488272574727725746893725739857257233137257215617257193357257152587257142772571379472570168172568073072567584772567009472566119772565922672565251372565174872564753725646724725640537256073372558956072558421972558213725581864725561032725549013725536056725535945725527094725512187725512090725506280725500281725500078725495967725478713725427167254136327254130725402288725399368725395346725384520725379109725378739725342256725340378725338185725334676725310917252839017252765117252718147252336317252325237252287047252221617252209287252146777252139017251870725175200725152702725150338725142738725137982725137426725137085725135491725117029725115308725090417250877157250787577250714577250710707250693772506256725055212725053005725052209725047112725046331725044162725038709725033918725032956725014358724996316724994410724991832724984597249791667249633157249620617249548997249360572493096772492654672492159572491547472490030772488432772487249072485689472485621372484994072484577772483970872483955472483386724817107724814255724801530724794593724789270724778395724772002724764038724745225724732935724720370724712657247060427246774107246542057246535307246379307246348547246257807246257757246237807246217197245963487245861027245848737245762772457069872455970772455787072454788472453461724515490724512672446904572446163072445521572445273672444921372444828772444025372442890772442468172441652372441385072438642072437032772436363272434386072433924972432382772431419072431313572430924772430508272430450872429696172428953572428877672428672272428420172425261172420178724189973724165795724139832724138267724137673724134813724129594724129257241154772410591572409494472408853772407682072405822172405525972405464072404483072404156272403834272403240672403126724021162724018360724014252724010517724009567723999509723998424723974827723970071723944730723935037723927754723923975723885875723880326723863842723862212723862112723827491723821966723815517723809876723806834723792050723779418723775445723774741723767859723766174723764717723749329723748866723735989723703150723699377236880507236859127236734767236584572365740772365501272364212872362922972362581072362170723616315723609643723605037723603917723602199723598903723598447723597934723562605723536277235332572352539723524593723514234723512900723507637723485167723483462723469283723459461723454757234422447234240157234238072340799672340600572340156723392670723362717723358841723354857233546737233357747233286767232936007232899757232888847232859237232551217232454372324078372323668072320594723185194723177058723170575723167147231606677231499907231438157231426867231265927231219087231181747231077627230900117230818897230597137230578107230530597230467307230370807230360617230318247230290317230085317229980657229956187229942587229940997229874607229679347229569667229430117229355847229298837229225447229208937229190827229083757229052857228951517228911807228843087228653657228523567228445247228136677228035707227973557227911257227861057227839477227653817227464067227337467227051572269280672269276472268879372267268372265694272265515372265344572264822572264681722635439722635378722623439722622970722613357226052472257985972257833272257258172257020472256100172255984372255629722545706722536734722531900722522473722517188722508454722460459722455877722444470722429307722426753722401069722400974722372336722370156722364307722346792722346266722318273722307755722304694722302339722285811722258177222533472223129872221624072221266472220842672219435072219236722184646722173286722164366722143675722142757221414657221327037221293572212547172212308722113813722109697722098717220559457220499697220471877220315887220251617220148307219964557219764057219757772197156721970129721962983721950950721935837219223517219094217219003877218904377218778717218760777218719237218510077218465472184407672183504072182444172182253072180551072179964772177016472176407072175921272175337672175173872174161572173725172170619872167545572166163672165690972164910872164503572164010972163907472163551572163286721615138721595541721585300721563369721562537215594367215590447215408567215368057215240297215235017215218017214939247214883197214578457214532227214213972141924721417227214132887213978907213958947213946947213946157213757072137103572137011972136300972136042672135653672135482272134876572134585472132052272127487672126940572126351572122099872121836872121656272119872872119617372119272772116992721166561721160390721158573721148187211438472114258272112314721086541721082867721077636721056681721056573721055678721050167210484947210421607210314987210304697210281327210257147210097037210076237209904072098128572097896572096618872096447672096348972096099572095818272094431872094418572093595172092870172091431672091308672091026972090828772090719072089669672088011720872538720831026720824919720824637720806580720805359720802166720792623720791870720786610720776703720774820720757457720730267720722177720714071720712118720706925720695681720695179720693236720690789720689724720688266720687373720686981720672467720668784720632011720627284720615757206144547205928477205791677205649117205280127205209887205139367204986527204909397204907587204773472047415720470963720462657720460855720454636720451955720451132720449708720447450720444098720443084720439771720429451720428402720426331720418131720408636720402345720401299720398217720396837203914347203829977203610772035864772035530172035116472034223472033691172031265072030705172030605472030391372030020972029634272028805872028357572028168572027534072027485672026422672024892472024336572021117572021066472020285472019987072018230720173298720171297720161470720153801720133835720132592720083123720078063720076860720069158720067634720061280720038181720031727200263697200167667200122371999122071998908371998655719978479719977801719966201719901467199010997198956927198701827198583677198443327198269187198262217198224747198172147198081817198080587197949737197949047197942267197876107197733267197709517197529947197515071975039719747339719745617197427187197114677197034617196870937196724171966624071966415371966169171965077571964887871964316719629824719623875719622127196133167196080077196063447195916719589357719589321719583617719576888719575539719569247719567208719565532719565300719562227719539762719527017719518803719503470719487617194508977194461447194429107194400557194056071940278719387365719382349719374845719334177193321517193002497192960427192959997192856517192808827192724077192704917192672007192656997192619271925688371924963719231368719226507719226073719216344719209030719203480719180472719175297719169657719169148719142947191353327191337677191320997191312207191269657191232567191153647191058487191049177191029171910093671909537671908047271907619471907523719067043719057961719055570719050138719048956719045272719031394719025071719017801719009131718963062718950511718946611718945553718913306718907723718869747718855817188538677188441077188366677188191357188015697187815977187725357187453277187438077187410257187410067187387437187195871869805671869161771869151471868822971868485471867210171866821671866000971864214071863214871862659271862449871856952471856299718555618718554611718552137185440737185438197185438171853772371853603771852826471852604571852226971849456718485448718479731718464319718464092718458254718457922718448256718443858718434197184275047184104767184030577184025871840169871839247183883071838709671838508071838312471838076771837911171835987671834262771831191871830270071826816371826482771826440718252610718229654718229121718223392718217107718204550718203769718199880718197353718193273718188769718173227181728347181597317181406037181128767181106987180982771809826371809717171806720771804187071803791771803085071802286671801968171800392771797471571796330871796117717954239717954166717947066717943453717927025717908507717880842717878647178757467178720967178641147178480387178424867178297307178276397178162377178152857178112767177728367177628937177572787177551107177484797177411997177387127177214067176986747176810571767909371767111871764992871764060471761399671758980717574561717567237717565327175551367175469637175201871751884671750950171746841071746641771745710471744744171743936771742300717422090717405425717405377173962237173837107173768767173711537173632677173629017173567471735614171735504771734216771733256171729941871729847172961271727851071726302717255407717251268717250878717216618717208678717203679717201459717195028717187526717180877171791287171766717171701147171491097171448371713205371712462717124130717123937171149967171015507170983527170958357170859097170846171707627170735517170715677170671537170596237170496807170462317170415667170377097170268587170101717009451716975165716961107169475907169446697169341697169305497169249877169198687169131487168988227168981887168913957168857967168768787168572197168543187168470787168469147168152567167854547167812347167517537167489971674890571674102171673537716734607167344177167337147167229867167092547167062797167032827167016471670013971669002371667227971666941716666732716665401716657280716656511716646057716639456716635764716631149716627686716607035716602441716599571657856871656388716533727165220637165011287164660887164659567164650317164648671645624871643584716417180716416091716388346716360838716350217163476497163339071633373371629939571629040671628403071627507671627364271627193471626347271626316871625863771625736171625732271625140716245837162427137162183247162070717162046827162034297162004907161916497161855907161655007161560887161538607161476971614466271613537161349747161200607161169271611215271608022871607998171607072716067125716055978716041446716040545716038687716010180716005923716000423715979965715979763715974987159694047159558607159438177159348617159296567159159257159124887159082767158993167158743027158694827158684017158354547158335471582930771582186715815150715797398715764107715763435715760245715752807157412257157376657157284817157269407157267337157227071571171771570504471567621071566787715665507156483827156395387156227357156197347156152387156066927156000257155966597155880477155681287155644267155606457155523171554850715530679715528823715523600715519880715509706715500795715500754715500184715494597154859167154822367154804577154801571546575271546104371546071771545794771544733671543685715434054715418435715416660715405331715398400715368501715358260715356551715352837153403497153279271532492715306123715302547715289087152801647152718697152589417152515627152506547152494857152459517152411987152231537152099271520096171518268471516223871515785071515047715147537715130405715130172715130165715124254715116682715111622715109555715105620715103917151034971509554715092927150858047150765847150674467150528287150528007150419467150201887150165937150156747150118647150078907149953297149931167149917671497129671495980471494378671493992371493845871493820771493615871493408571492522571488096771486767771486358471485136671484497571484439071483339871483333471481755271479850714790657714785069714756387147376307147246417147208387147010714700886714691554714690206714681587146575107146538327146478217146177271459404571458258771458017671457071571456768171456335714552261714545720714538953714503400714469107144653647144608837144549717144289217144255857144253371441614271437846671436441714363215714362039714356782714351424714336277714329967143119267143036167142913807142905277142887087142676057142614827142465387142328117142299817142274707142252571422311971421117471421040071420653714198686714188340714187304714182192714156733714154127141429937141328957141312697141113187141079077140992471409470771409416971409038071406463171405903771405287671397543713973713971098713961106713959787713959174713938020713925580713918660713918154713898402713887726713885200713885137138842471388090271384863171384342571384245671382864971380509771379917771378815071378147137759357137704167137618027137612447137480617137388257137244387137233717137125787136932727136918017136908277136888947136842127136823967136755271366943713661555713659751713653297136470671362590171362578471361850471361474771360578371357555171356546271356129971352928771350393671348471971348448671348437671346197671345344713452009713441412713433165713422488713383863713378136713367873713367179713359567133521027133468297133374627133284837132989637132803537132722077132484607132434167132335617132325537132222277131825777131805057131676167131625577131589557131550287131526087131402487131347417131227847131124187130894387130893371308799171308271271305894371302612271302284171300657471300128871297164712962696712948459712947221712944442712940327129160727129128117128734871286998371286687571284194471283830371280301712790629712779041712778667127767067127733637127685267127627171275727712756857712755061712731575712730410712723173712709904712697106712644239712634168712560619712558806712558583712548389712540437125318847125236171250816971248282371246949971246356571244506071242731471240486471240254071240074271240028071239796071238367712378758712375288712373926712367171236526571234329712333827123329097123116437122835967122822837122747537122731387122602171225683271224404071223657371221847271219567771219540571219224471218213712179120712171160712165330712150678712149897712149345712140277121109257121065097120996837120912771206116971205070471204708871203783871202889071202257771201777071201625971200226271200123871198973971198538271197424071196635971196276571194171771192620471192201711896375711892428711889776711880447118772967118703677118634527118422677118186617117881871178106871177878771177807971177600771177290171173515271171531671171412711707060711703300711691022711690220711684471168369971168052771167115571166913071166707711653667116503071165004271162387571161681671161083071160821871160402571159316871157352171156197471155436571154696371154410071154010571152459971151830271148891071147221871143877871143455671140578271140051071139062371138026371137159871135253271134333711329412711329086711320882711296336711277845711275727112664757112579917112532387112485317111812357111800627111784677111746771117258671116778471114803571114233171112466071111226371110512671110496271110057571109575371108061471106423711055898711055802711052019711042225711022707110216287110154727110098557110024197110020487109929037109918817109889477109863157109819067109804827109732537109715477109700997109682377109670197109590071094963071094889071094645771094105671093500771092654871091296571089147571087936271083594710827377108208471081973471081548671081281971075198671074968771074385671074238271072666571071597471071462371070409471069664710689332710683401710660606710653262710649501710646957710645604710643916710627601710608458710606761710540315710523389710522437105211137105167907105078971050733871049887071047103571045621771044953471044529171043899971041326571041103571040637671039649671039413171038632710379147710361035710358153710345677710344003710343797103374917103235117103210971032009971031841271031594371030836371030287102800271027494071026708671024109710237194710235162710231871023165471022552571021971971020154371017131271016884710168512710165093710162015710157025710152510710131579710119895710117798710115189710107880710104214710099035710093684710093537710090087710069708710061429710060552710046967100282867100181237100133171000623170999430570999052709987274709983989709973909709961201709949576709941487099138637098992887098989570987625270987141070984178670983718670983091570982713370982420370981404070978380070977564170974705870973821370973627170973446770972202270971524570969687670969425709679507096778627096769477096753387096713067096655497096622687096352667096210467096127737096041527096012970958365270957688070956114870953962670953961970951558970951062270949254470949091270947279470947021970946520870946274070946191670944304070941337670940853470939119270938685070938328670936796370936598870936350170936081970934912170934870470934544170934061170931969670929486070929455709268170926294470925055270923832470923626570923220170923092670922922270922470970920592170919892470915929709147267709131360709129722709126095709117647091050487091047447090855897090684097090585807090518267090316027090129257090122597090060337090029167089992087089954747089894957089846407089801267089764707089679747089618527089589137089538227089294677089221457089192907089179777089049357089009617088996357088931927088858670888421370885459570884899270884751970882534470881907708818401708815987708802827708797035708793600708790957708789640708785727708772566708760903708751802708733117087309127087085077087077227087029708702672708699924708695520708679733708660527708629033708627162708622678708618570860527708596439708592301708592017085919817085811077085745708567473708566070855142070854387708542939708537246708533141708531197085243737085127870850362770850032470849877670848855708485087084848227084790087084742077084711570844031870843996870843675670843140970842104670841379708411977083853397083801670837310470837004270836747870836420570836124570834660670833043570832065770829956708284885708276420708272817708257812708256847082521467082475787082245917081979747081950707081893917081888937081826947081676170816445870814820670814056708138640708130271708120931708120842708113639708103854708103143708098604708090134708057637708049997080491137080297887080266970800244370800189670800107270799437270798827770797579707954701707951877079507037079446817079427567079309370792889970792756470791460270788559170787196070787192870785798170784929670784014770783922470782656270780878870780568870779820070777995707772589707753774707752340707736913707727457707727404707715762707710050707706500707705623707697975707690887707672746707671183707670074707657166707626594707626270761861707615268707605764707536107075263137075123307075091870750724470750434570750142170749384370748813070748427370747539670747463270746492670744665370744500070741583070737087570737073170736416570736181770735645970735161070734668170733118070731493470731380270730823770730767370730607370728220170726617170725808707241681707239423707236867072331407072229957072226747072215887072133397071964567071952547071893897071595207071572670715544170714256570713785670711444570711311870710916670710814670709960270709255570708739570707646570705559570704897270703169670702596570701350270698517970697579170697238470696522170695898870695212270692882570692001270686608870686275770685366570684608870684515570682588706825483706820275706818601706807248706805661706794567706791398706784599706780528706778118706770251706758818706752250706734970673407170672848670672399270670048706657747706655094706652038706644292706629639706622765706621334706618016706617647706614090706613846706612034706608840706596041706582260706572077706562927706562840706558503706555287065507327065504607065476717065351387065340870652401570651763770651540270648111670646118870645524770645222370645189370643269670642434470641900870640475270638677570638584770638145570637701170637110270637106270634809170634538870633537670633301870630092670629301170627886970626433770625305370624698870624060070624030970623620770622309670620230670620102870619602470617716470617681970616802470616750070616090770615096570612374970611937170611915070611080270607479770607295706072567706068490706062095706054550706047243706034930706034215706010547059976507059775007059685927059677447059554070595320670594937670594439070593914570591772470591268770591078770590522170589998705899179705888571705881463705879834705869159705860820705860278705848295705844459705839392705833257705826697058228687058175167058172847058132027058074987058050977057817057057746407057743637057673257057433267057171770570432570570100470568761370566991370566454705650308705630257056191397055870827055832137055287237055119617055022570549728970548561170547960270547851670547227054602767054538867054491070544672070543681705417091705416205705415287705393219705388646705388397705386780705375686705355910705346938705344434705336697053290570532477070529660470529616470528932170527864270527609370527511970526602570526094870525526270525413370525074270524186370524100170524018770523495870521305770520123370520016705200159705180893705180229705165022705161381705141806705135138705130504705126597051116847051005947050932370508271705079739705076804705062582705043090705023218705021705705006440704950597049332127049251837049177970491655770491590470490937670489434470489084270487054704857828704856566704856537048564270485259370484706270482158870481468770480988470480336370478147770477552170474856770473196870472120370470968970470153704692306704691547704690568704674897046481757046473970464548704630328704624062704619817046091917046031017045813517045810707045788057045784007045771370456925470452785970452779270451764770450070570448613570448283070447414170446426870445210270442379570442005370440958704392946704374572704365608704358257704347316704323217043115337043006070429981170429837670428747370427491670427396870426401770425420170424823270423912770423608670423552770422368570420817370420394070417867270415859670415554670415440704149586704142567704120293704107317704104047041013127040998767040966970409301870409270770408184270407926570407666070406939170406357040477670404618570404056170401147270400660870400384670400034970397918170396951970395744070395719370395560570395286703944457039311627039269227039229977039066117039012717038965697038932170389264070388710070388453270388335670388012370386820570384879670382731670382081170381098170380025370379423470379341770375159270374246970373497037278247037155877037110717037059147036953270369371770368703370367997670367665570367644070366642970364308170364227470364060703640506703629242703625731703625035703606269703606131703599818703595467703591516703569741703566324703541435703530786703523717035153170350784770349778070348298370347873770347720270347565770347509570345277703427403703423276703401945703397157033959537033897197033884997033781547033430897033354807033327337033233137033193277033078607032902427032749070327452070327281670326373670324653270322819070322356370321464070320892770320484770318447270317777370317687670317118570316798570316149170314332670312229470311999470309999770309921703086730703080974703075549703071387030680017030672507030660307030605703057216703050973703049846703046746703044589703040273703031758703024026703013641703006142702996707029886527029880877029845387029720747029602027029546547029496187029473857029349470292374970292319170291376770290225070289529870287437970285767570285759470285287570284356702839069702811190702794887702780973702780800702778570277476270276909370275465770273477770273102270272643870272389470271879470271794570270836770269535870268825470267682270267392970267080470266702702655255702645434702641138702636952702621605702604003702602827702596300702580355702571127025519887025450927025181947025039607024966037024928447024902257024706467024459467024355607024276697024248270241410870239518070239410270238028470237309702366384702360220702359242702349587023253127022841670228405570228125370227706870227595370225388970225057170224125770224035270223955870221999370221087470219470970219217702189862702188057702187464702162507702137837021311797021272107021122457021040877020972357020680937020642527020632857020516547020514457020311367020298807020237737020129967020037347019899747019854477019808927019779637019746787019460387019312297019163370191326701891828701886892701856514701842274701837905701819017018095797017996887017956637017625737017513927017454587017372057017278267017219427017140817017102947017089270170535970169481670169164270167384370167261770166738170165028701638294701631502701621458701619357701616317701613837015998007015924787015904027015799507015428670154059070153671970153669701535348701522840701521555701515098701497250701494699701467732701466360701459070145777870145200701445676701434949701433470143119670140921470140872970138572970137252670136546770135116870134743170134574970134342170133041770131625570129714570129505070128314670128057870127668370127631070127150770123365270122713701222070121769670121243670118279770116426970114569470113659570112725870111036070108137010643470105974470104128470103352570103117170099589870098166870097304370095710700957004700952676700948008700936755700936127009120637009116887009116407009062397009024077008866407008820847008729107008614617008588777008585287008541587008473477008307947008285417008098097008081797008016577007939770078666370078425370078340700780477700778508700744605700739271700729661700727982700714221700692395700684274700680705700676824700675577006753697006728667006691407006624917006611437006511287006505670064954570064928170064621470064303670064018170062986700623247006153977006113947006012777005805147005789877005707247005701497005571527005532377005438070053047570052752970052526700521647005176727004927617004916870047490670046208770045878700438116700433652700400268700364780700322446700289117700286597700278967700277809700272674700244664700243712700221385700196287700177556700171139700169102700156576700146184700141730700138757001014747000975247000948177000870700085473700080167000730027000640470005850270005745470004963570002925670000624069999949069998419769998252769996771169992755669991352569990488699885195699884560699877688699857333699854991699845550699826953699825738699813482699804798699786278699785004699741844699736047699735837699735207699716765699709696699694511699681895699652557699644858699617294699604684699603996995821376995796696995558786995527936995409469953087269952175869950889269949550569949107699489008699487708699482517699477058699473920699447335699440804699438017699425096994221796994200226994140736994088006994064456993891906993831966993714416993664069935896769935720869933077769929852699294008699291475699283379699273028699248317699233001699231661699209711699195292699192858699191135699189835699187094699161091699152397699138783699138689699136759699129646991245306991244269911926569911744969910923269910327769910048169909246990841716990649496990578256990492536990477806990463146990456966990339216990333586990303136990111376990087866989963146989811846989409496989401846989329966989277396989194206989127476988961176988815196988784446988720326988625926988373806988285876988182256987891746987816069876988069876494169875544269874457769874457669873367969872907069871879698705536986888106986867536986728326986696706986656256986493169863422698630034698623974698599070698598454698590386985876856985765906985726869856756669855472469855135769855103169854809569852982869851764669850356569849147569846767698460234698456743698449661698443914698433796984133546984084496983995406983917046983882006983806586983791896983686056983578476983399826983195916983083836983044486982936069828982469828399769827335469827216169824298769823079069822834769820907698203684698195369698189114698178304698165001698155369698147026981263816981156826981084156980908606980870506980765586980742669806306469805209469805018469800625969800595469799510269798904669798594869798231469797456369797021697946565697932682697930229697926068697914701697911882697905870697905435697900796697892462697882369697878772697877550697877027697873237697860261697850541697825241697824287697824214697812669697810701697791609697774016977368276977291056977284686977242006977106006976916816976849369768248569767372569767190869766933369766916669766235469763966697617066976159586976088369760787769760171269757996869757669369756016469755054769754587769754430269752444769750099469749158769749029369747623369747333969747088669747080569746298769744526069744388069742866469742703269741681269740789697403831697402692697397334697343787697332749697318156697311548697307464697305024697304581697299916972967176972962236972889066972798576972792676972790546972782716972749156972731036972707946972410416972116869720069569719927769719912169719898469719423169718455269715140869711153669710288669710103669708695069707590697042925697028713697016373697015803697015450697002662696996944696985564696978096969614866969561336969472946969447796969413946969334996969232566969224769691799269688552969687763769687414369686400469686221669686084369684141696839244696828956968266936968261696825156968227896968087186968049636968034769675236469673835269672873569672325869672264869672204969671940869671748869670361669667236696668366966644746966522196966477516966263069662036469661865169659795669658378069655794669654142969651824969649769649103696481944696477046964740856964728676964613306964552469645405469643015769642742069641574469640861469640560569639742869637976696379389696378906696350426963472406963336369632515369630892269629193569628616769627944369626943369625525769624489669621533969618123869616138469616041969615885669613774169613301869612794669611489969610823569608696696072316960566956960556116960411086960388946960050246959922606959881016959839269597624569597511969594801369594552269593000069592881369591019869590536569590265169590217269590173369589568069589486569588121769587774569587378969586348569586228869585287469584827469584647069583344169582077269581229569580312669579892695798336957892506957809826957730369576883969575980769575109269573536969572671695714087695702965695700057695695613695662377695659715695635128695629243695617691695613295695602882695601873695595120695587557695576886695563516955586966955505126955376896955347936955338236955238406955205926955044026954930126954915386954651606954578966954309286954141196954073626954067069538789869538783969538774469538549769535902269535666953534206953494256953475596953378269531292969531249695302559695301373695298823695282986695279083695269647695244542695229126952282216952030636952013466951948116951908806951815016951803926951654126951574896951573406950986856950963176950708816950680436950614026950540836950487526950467326950462169504245969504182869502917869502431669501357669500511369499410769497678069497461469495525969492480969491736969490852969490806694904166694897757694894028694887994694883989694879687694859393694849849694844053694831947694823142694820137694803690694802277694777961694769174694764671694760694694759606947443169473745269472068969471772694695486694689188694685380694674457694665824694656385694648040694645266694644857694642900694631366946307369462677694626387694624849694619914694618044694612484694606804694605310694604478694597198694591370694579573694561236945513526945487706945467766945296136945113416945076496945046386944891596944830716944567386944540596944507136944430146944394816944343686944031026943962526943824156943735266943647869436093569436050069435644069434995694346286943441856943365606943343956943192526943120446943116694308606694298217694267381694256025694248569694240356942385296942178526942098806941941946941860416941726276941684106941585526941390316941254406941115396940905746940888656940742416940687916940597166940524466940395976940254706940249216940225716940107106940049066940038336939744406939732126939473069394010369393491569392679693916668693914393693912878693895946938845976938844186938842336938757636938583976938554693850576938395693824649693819214693816608693812246937867996937857416937763269377432693773881693769336937516776937508716937487069374744969374329769374076693738754693729276693721346693720743693702402693700938693697321693693920693688476936592696936333066936254876936110776935904369358657069358531569358501669358005669357138169356165869352937869352080469350101769348721693473424693456519693450669344966469344671869343857169341980869341279869341256569340955369340051669339102169338937469338154769337280669336021369334539769333655569333045669333008869331873569331296969330798569330097369330025769329511569326436932585946932547736932537156932490956932049616932032626931934986931906693172624693170972693145477693114136693090734693053416693051826693024250693013242693007500693003528693000158692997090692992686929883846929750036929739326929729096929725626929665986929643166929566746929520536929207306929153466929116866929093406928940469289133569288678069288661569287460869287222692868581692828983692821883692802247692794326692791118692777323692753312692744390692741648692739383692732390692731442692729826927223996926991226926790496926674356926621416926564046926469706926456616926372969261705669260856692603534692597197692596561692594656925827456925827306925707236925597276925545356925528816925480326925427236925397956925223106924992656924991836924734506924689369244559369243666969242985269242891369242842069242729869242005369241784269241677469240016169239695769239280569238919469238269269236952069235022569234553969234055769233712692336306692334343692332530692315620692314478692304805692292581692289508692267294692263946692239143692238843692220780692217847692214877692209640692201826921759146921751726921720516921702856921541069214310269213003669211403469210203069208890569208704369206128569204306169203794769202518069201931691990309691983946919836506919624516919619546919100946919049046919020426919016566918987636918951669188687169187556918733036918683476918644069184152269182786369182513691809655691798490691798448691786865691786652691785436917802166917733036917713866917642666917606866917462146917446776917424706917376469173009469172053691718861691709290691679865691665618691633557691627715691612451691584921691579478691568890691560687691541431691540069152451469151823369150603969149859069149700069147047969147037969146539869143990969142903691408946914043676914038486913955469139296769139077669138946469138351569138207691381430691380480691375560691372755691371383691368269136234469133273169132199969131685869130706669129922469129185669128451569127856569126144769126136369125998769125671969123661269123375369122685769122496269122335769121948691200528691191367691191056691184834691159346691126614691122959691100691094894691093658691083355691080843691063842691060731691051221691047304691025342691024394691021834691014694691006550691000804690988961690984771690976141690973193690972272690950033690943190690942173690938780690929576909284886909248569089677969088794869087654269086851769084724969084152569083391969083130969082739069081721769081031690809166908080126908073266908048396907939186907877056907875866907781226907736396907652516907619236907492076907412756907295266907191936907178066907139856906964696906914206906891426906577769065059969063713269063376169062753869062564569061145869060500969059362169057442469057360369056527569055800069055448569055297369054417269051314669051167269050266269049333769048267669048025369044898869043502369042835669042690690422540690420768690419386904182026903957496903903096903894166903862556903777786903777526903777136903771066903557666903547956903446769033436869033034369031978769030398969029129069028516569028384469028300369028183569027825069026706169026296869025341669024946169024666569024191690224079690211306901888696901771076901764146901696246901337386901119756901118469011064569010663769010172069008632169006750469005173069005108690019590690016146900074546899624668995522968995203768994493868992373689917155689896860689890552689887861689885689689880996689878355689874716898690766898606666898553756898530246898440056898437316898370706898287516898083776898050556898000396897467496897390426897363968973134268973116568972806068972495468972073689716652689698355689684299689676437689672219689660556896601336896324976896116086896027068958671268958151068954124568953875689507251689478511689467816894615068944733689441226894351168943315768942089689417593689412973689398356689398026689395703689395337689391007689381563689378897689368693689356576893367076893336926893261986893145506893039906892947286892937856892602536892518216892371976892190916892027066891894456891870156891864236891864116891788486891778776891707956891685536891517006891405956891378136891327616891167356891107976891081536891064168908867768908482568907910368907647689009789689005407688999115688998546688998257688992119688986840688982311688973818688934684688919347688916768688915794688905510688903023688894402688882145688873447688865418688862068885265668884937968884561168883565868881405968880832268879308968878331368877823568877316768876968876673768876655688763046887564468875248168874475768873330768872426887221426887200506887121956887048066886992268868108368867920668867835668867558868867340468867128668866411168863417668861687168860007468859808568859336688587848688582033688573046688568240688566124688551275688530575688510668688492946884918546884835436884783906884753268847403168847305468845445968845292768845220168845142168844874468842737468842022568841719668841464768841461468839166883773576883727416883594346883284156883270836883246868831116768831044568830972688287809688287484688278576882780946882749866882699376882659676882647556882622926882566968825483068825226368824939368820037868819499668819178168817029568815635668814974868814920968813626068812972568811807468810438968809179768807755368807252068807215368806135688054855688037102688028036688009551688007552688003023687985171687982207687971936879574176879566168794746168793860068792703968791812668791677368791087687900108687870967687865190687864502687862777687861506878506776878361116878290196878288306878159736878146016878083116878021116877855516877837968777128568775796687743528687742566877418566877408006877341966877323468772806876943516876829687678220687662374687656970687644685687633429687623230687597172687594865687592719687588808687584895687575196875662686875534586875509868753597368752883368752668168752248368751753668751218168750343268750152687500624687499882687493413687491169687485036874719216874658426874435476874423616874392236874278106874209286874187876874145868741103687389254687385921687382837687381648687354298687340974687340116873290876873190868731798368731746668731023068730151968730061168728058868726771687252695687232867687232498687229957687227618687207879687198916687191262687188096687180746687178226871587056871566996871388546870695526870687468705937468705277368705220168703497687033539687029134687019519687016656687010600687002053686997069686994804686992970686990833686981311686979506686968433686968391686967036869666066869632866869632068696136368695556068695168694834686947266869334276869164446869051956869049506869044706868676968686598068683613068683570368682814168682811668679149168677091168676496868676312868674951568674880268673436867342946866873756866789506866736556866690068665953368665827868665795568665006768664233268663946768662741168662617268661151668661025268659734368657320268656912686567983686564903686560816865497496865227286865217966865110176865088668645920968645286686444613686440146864314696864205106864095786864068046864062546864040616864001416863928606863903776863701826863671168636513868634598686340884686311072686307496863031306862961446862870468628062686272567686262329686260456862499356862080168619935168619609268618195668617886268616891868614852468613561168613385568612890168612014686110377686106514686096650686084320686076475686075967686069729686069116686054563686040366860321446860307606860200856860131086860115486860094636860042306860027156860007868597918468596410468596338168596330268591880368591662168589892468587785868586851568585000168584962685816652685811510685792526857916168578773685784626857751368577313368577026868576659685744627685740266857392496857342396857199146856958968566474568565959268565368768565324368564969685639299685622471685590849685588895685584090685567901685556974685550544685535836855324436855241106854974668548648768548214268546777468546559768545974768541353268541079768539594168539568168538732068537444568537343685351440685343275685339068685327194685325886853228486853167236853149468531342968531066868528973868526511268525762268524632868524361868524051768523092668522359068522097968521953868521838368520640568519899468518959168516671068514276368514252068513625668513059368511821685112099685107534685098476850980366850897868508897685074268507031168505201968505182168504880768504702468504553768502519468502509684996873684969048684963153684959026849589568495149368494993684945874684940142684932096849126226849088236848920886848857216848852926848847506848833326848811168487173568484502684841055684838926684829216848256786848095656848091336848066626848039768479306868477144268476681768476509368476430168475416368475332468474335068473389168471606684715818684711367684710556847082876847070684688642684687944684682823684668393684665345684658414684655626846465366846436296846402146846377406846319746846234626846216568462067268461563668460582684603016684596836845738706845725986845608446845499646845468506845461586845426306845364676845335106845243684522751684521968451132668450709068449542568449374684491436684491434684484202684481566684467949684457503684451454684449396844289336844269206843907716843888226843732768436248868436139268435691668435195668435051468432530684315122684311961684309835684300906684297714684274216842703236842685186842553046842134968420629268420471868420462468417516841383916841343136841260926841253866841135766841119136841075596840933616840693676840638226840435068403536840312366840004586839957926839891736839832136839781456839730683930694683930277683919069683902536838870446838730436838644776838631683856868384041168382174868381180268380685068380498468380089768377785268377289568376821968376766068376059268375695683751055683750456683736326837327026837309256837195446837148168370561568369749768369055468368283568366440168364616668364084368362675868361936168361898668361327268360939468360839368358208683575924683559197683531306835312616835259168350980768350929168350758683495196834882386834835916834805468346952468346844268346235683453036683442908683432646683427287683425026834199006834194296834193506834042056833968566833848206833628286833619768335098768334154568333815968333730668333292683327159683319406833189656832986868329517368329082683285911683282766683278071683274484683263675683232104683221059683219816832167086832145026831962126831878886831809686831723336831667056831449156831349668312353768311866468311278868310866683103337683100049683092866830756826830721786830412656830344386830334466830272216830003466829930976829878996829650568292357668292092068291257268291194868290836568289449682884551682875529682870806828346086827885768276986368276945468275395368274165682739903682734289682721886682718256827118616827046766826838876826752856826507268263744468263724068263527668263155068262826768261174568260559168259563682594136682587020682584316825835046825791396825737356825698816825691682562722682562007682560620682553426825513596825266426825170368250505368248542468248259168247533368246605868246076568245531682450685682444383682443801682443268242954268242672768241878968240521168240387068239889682396620682387432682385931682385877682371111682360326823145886822998196822931546822757568227567668227381168225429868222787668220649068219959868219624568213731568213471068213186268212518968212107468210607768209880468208421568208355568206936368206781368206111968205463682052531682033409682026136820228516820188626820175176820064816820041606820027486819968266819896606819880476819702206819537436819481506819410136819348236819248768192389681913337681912754681903698681900316681879125681857255681855070681846772681845436818446836818306556818057668179809368178505268178439068176307968175988681754233681745060681731688681727272681723113681720308681716270681694121681685927681676151681667326816632736816631886816513796816421546816361166816337576816305326816286946816105036816100136815939386815927646815853526815838856815553766815499216815316936815274368152638968152605968151708968148662268146201168145988068145273468144841868144523568142617268140610568137536668137104468136797468136537668136479268135417868135200681350825681341301681317010681316023681314800681308089681288183681277487681264876812188686812002186811930136811738416811724246811690806811608368116021068113615768113124068112656811256526811250486811242456811238006811226536811016486810987726810950446810901116810882536810872666810776726810768996810691716810551646810418076810380456810351176810318568101616368099618468099551368097094168096518168095776680944365680943676809187446809061986808881266808856686808814168085240368084913768084775368084594968083912068080683680805086808040576807759668076551768075320168074640568074455168073481668073420680730279680715723680714494680699672680697333680658207680655718680654696806421836806127176805851516805769868056828468055507168055258768053026680523301680509547680505068050387468047190968047138868046867268045358768044899968044500568043945868043914680428871680400308680395513680374375680369106803570656803337826803197636803063696803003836802916756802906706802705096802697046802662436802532716802469966802429866802354968023100568021723968021210668020900768020477268019915680194034680188330680183356680177886680168079680166713680155297680144444680118045680117444680114220680100443680089716800788446800768746800752168007462168005628868005580668004306568004281668002873367999636967999095067997695067995716267994795467992891167990754067989523367989461267988326567987334567987249867982721267981833567981436067980731867976298567975815567974867467974510267974334067973847267973832867971945667971863767969310867968397267968358267966869667965014067964228567963965867963384567963344679629000679628301679626915679614223679610307679609709679597331679561044679542984679540972679529969679507691679500749679500335679494249679469666679466314679463142679451440679443776679436256794350167943462367942230767941479767940974679401444679361230679357667935231679339097679319120679315076793112706793051526792799066792668126792545306792399267923196767922660667920520467920121567916656767914253167913899267911050567910221167909857067909576967908774267907225767906380867904250167901450067900558867900339267899408767899278678978863678972760678971208678919626678914951678908267678896376788894967888544267888349867887353567887318678873101678836715678823612678813274678810868678797127678797110678793358678791374678785076787476326787421396787238536787228546787192056787053306787038556786954026786953956786945066786921836786849436786709726786618606786602686786578436786500486786414126786406376786200376785940266785837636785757346785655016785534136785335816785326116785031926784970136784924346784864636784863746784832767848136767847090678469585678467273678464298678449744678440556784314496783943086783870006783842096783818016783326746783313067831895678301175678290154678255779678238318678216256782123356781943816781943456781868136781864356781612816781450666781331186781292976781230906781222656781198766781188956781186116781147106781093916781064656781045136781031776780572306780569526780547466780492896780478467804752867804119367803630467802911267802223367802160367801307067800623367800510167800340567800198567798236267797261677971029677965828677952069677939014677919089677916790677883593677874405677872148677871973677868231677847194677837334677830336778298806778248276778188396778141956778120576778001456777959867779597867779170167779106677790374677759462677755716677754741677752254677745625677739766777268766777254016777206276777169836777165867770116967768818767766714667766204767763769167763531467762600167761720767761547567761456467760346167759797367756534677545671677544106775404467752609967752502567752196467750505367750016167749131967748959767742798767742644467742195067741941677417584677416783677406988677406029677404884677399329677387647677370501677361423677359086677342064677335687677311833677294216677293937677292404677290364677271742677271393677242603677242418677239226677238418677218856772118596772107276772032677190648677171284677158948677152428677150796677148964677145606771412606771315006771082576771033806770969626770968286770878436770843606770793546770721716770673236770590856770558846770555696770489116770456546770201806770058926769972236769907926769546706769521646769467626769385276769265976769206946769039576769032476768960656768854466768825567687830867685667685390867684274267684271676833128676822722676819141676815872676792730676787025676780927676769286767651846767630166767618767675546867674124267673997167673625867672985067672658367672206676719001676704790676702776676702218676676721676673345676672025676671019676661485676655228676646766766455096766421506766399376766280076766174786765757716765754136765635496765458786765400896765300736765156186764986456764823266764785166764759856764679366764678486764512256764508316764499467640242967640101767637301767635352867633083367632415067632313676320930676311723676289899676283023676281544676273122676262908676259850676258946676252032676246574676240660676226191676219451676214981676214831676208766761852986761328756761229706760995016760969336760885536760868566760799686760786916760633676054227676042334676040326676036462676015690676003841675995528675990066675957280675956567675946248675934906675920116759191476759021216758995786758820067587695667586547967584549967582298967580513675800196675798437675780136675772031675751873675736538675705080675693826756923436756887086756841356756788167567860167566966267565595675651595675650337675640367562745367561872867561808067560945167559998667557138675526266675523049675495196754921736754852446754716116754708636754697136754619536754591146754482536754450846754447766754399976754362336754284706754176466754164816754131476754105767539905067538770067536290567535431467534386867534183167531517367531397675311254675308857675307348675305993675300046752911006752804626752759156752718686752700446752642026752488966752364756752363296752334056751979276751923696751847667518002167516995675168136751617675153546751297646751293016751223256751198867511786467510996867509540167508722167508222567507767567507635267507580567502506367501228367500880675007428674992606749842256749666667496488674952129674922873674914596748891216748854666748771676748642546748400596748144386748063746748022566747783326747577756747562956747527446747511667474599367473896767473744674734149674723906747185976747164676747135366746991566746865646746700166746584786746575536746564986746560326746455867463236267463124167463038674627630674626897674623760674623331674620356746067067460053967459872667459569367458844467458434467457229267457030767454994567454424967450121867449897674498499674497766744937076744779086744752786744510506744419896744374476744280606744113856744073326743906236743854336743490556743253674322582674299501674277599674276746674273396674241468674240969674232466742243856742202676742156056742082726741944167418570267417919567417824367416080667415852674136556741285066741194966741101867410460967410249767409790767409372267408560467407418567403271167402933367401839367401224167400420467399835867399585267398889967397335967396714167396496673948850673947369673942151673935645673935456739237306739179896739106436739061206738879026738856866738687046738673006738632346738595616738297486738168056738153276738091606737876876737765167376617673761576673755183673746545673745513673700544673686996736785956736779326736571566736463586736352076736344536736340496736193696736192706736114156736059786735979876735917446735792367357783467357574467357197067357180767355922673555121673551566735348806735204926735096466734999896734986266734962376734918726734740936734707496734523506734377856734313386734203566734198067340651267340628673392892673388728673385991673382503673382237673375956733649267335987167334039967333575673332587673315569673304836733041996732966496732837586732697467324877673234891673222025673208282673204399673203686673197507673188386731794346731768526731750236731641846731635936731361666731336726731309296731173996731011666730968676730838246730709576730577366730488967304411067303734267300940067300422767300091672998336729890826729872956729767246729745506729687506729578566729532867294638367294353667293978867292318067289262767288747267286720167285797672853748672853203672831313672823076728134696728041886727960056727913226727850067278336067277496467277306567274047667273942367269685567267456967264209067263635367263426767262763667262518267259837867259720167258933367258219767257440867257286267256489867256035367253922867252573067252261967251847967251769667250682367250369267250358267250152967249900767249631267247743267247663967246713567246499767243690267243668167242924672415116672391094672388256672380541672374015672364792672358853672343968672341571672334783672330491672320929672317332672296299672287476672283716722659616722637836722517386722318316722136126722109976722035036722031067219762167219730967218789267218686667218326767217946467217570067217254467215380867215336967215002967214455167212606767210787672099173672091318672072773672058683672046763672045226672019902672010966719969167199677967198790267198520367198375267196248067192908167192111867191829067190072367189632671875924671847365671829667182265667182106671820873671795747671795612671789171671786792671774688671772816717724926717698376717685436717641086717610026717535386717483176717273546717211016717187896717024706716966306716689671667711671661766716590366716572356716551206716508376716486856716470726716284106716171367161213267159286267158519767158065067156946567156799967156150367153070671517326715172776715107406715096167149408867145643167145365167142575671425246714134567140008767138693671384205671374618671368645671364975671364042671347326671345745671332811671328284671309734671292681671290633671288943671288003671285512671279253671270585671260472671257720671254626712542736712420756712368216712253376712213446712066726711996476711875576711863896711758526711747866711709767116779467114463467113789867113654067113170867111105067108774767108579267105214367104728467104270867102377167101246167100541267100468867100327567099056670975102670974722670964242670963788670958920670932467670923409670910491670908836709044276708966216708847696708816467086456567084846067083536867083235670822133670809895670809577670754272670754059670747176670738579670735287670734196670720448670718311670715733670714403670705773670701566706974926706825916706823426706731867067267367066967467065106867063687967062956567062117367061735967061174967060846967060618167057015670568566705671446705620706705613946705460766705369396705347326705328746705097226704999976704999326704795056704770286704744767041722567041644967040179167038959867038384267037293367035027067032174467031523367029060467028124767027647867027533667027302767026266167026007967026006967025886702395956702380906702165436702113667019029167018008767017266167016333567014844567014797167013406267011178467010959670103169670090106700873466700849136700836776700672746700468696700442596700423686700188976699996366699663986699550476699434836699378566699159266698857256698716446698513136698487266984086666983322166979089066978356697760306697620246697547746697495476697445806697283836697253516697147806697014406696977466968219669672376696632166966062366962415966961396466960428866960313666960069366960015066958638166958256166958196866957616669567343669567166669558143669548494669545824669542887669521266669518309669510284669507825669498858669495336694892436694873126694791396694779966947119669464347669444681669443200669420466941922466940445669404353669378735669370056693658516693459516693396386693183866693169426693051386692944966692826096692805466927257766926866666924255066923512166923417666923196669222676669199669174000669165280669163879669159360669151529669145874669137725669127869669126994669105496691014176690876016690868536690831626690788716690642376690501136690494936690380066690332416690241676690233586689991276689918426689890816689850866897724266897004866895422366895276166894429668935625668932117668930508668912786688786286688773836688451446688270916688246966882281566882237966881199668810155668808669668806128668801645668759618668737575668715076668683323668678006668661148668653523668635639668634026668633452668632268668628854668619657668613058668607364668581048668558596668534467668519247668510926685034506684948406684537466844800866844702166843568166842999766842345666841957266841677466841388766841336966839582266838406668381220668371506668367764668365763668359065668339217668316167668315417668305748668243210668236264668234812668224060668209809668206902668198880668197016668195184668183014668175816668175588668168092668155431668154464668154125668151075668149935668147450668125217668117576668114791668098016668092813668090527668086445668077543668073117668072381668059015668054776668046932668042886680411966803956566803249266800610866800359266799635466798562366797688166796682566795721266793840366793557166791927466791509966791456667909620667900686679000766678875956678862046678752426678718446678642866785168766785079667847980667843998667836510667824364667811581667795716667778262667771566667762614667754534667749279667739196667735376677302206677229076677096756677052306676910926676768096676749546676623196676582426676577716676327816676264836676249667624445667601762667600602667598274667592833667586028667568828667554489667553964667543899667532521667507954667506746675007416674937066749295366749020566748693766747867066747438766747116166741507466741489466740727066740430667361257667358805667357818667354260667345086667344151667325836667319875667287988667286947667286816667274890667251736672402346672351216672281026672178667191850667189996667186598667167113667153419667126563667111266709733666707016066705407766704343466704283066703402666703072766702266266701222866699527866697189066696693366695722766694990566694516266693296666690858566689220766688001366686949666686857666866345666860814666857256666812186667721046667694976667570666667522596667462466667266556666962246666722966666509026666508566666433866666357666666298676666238786666234206666212716666086996666020666588419666584554666579162666567020666561664666551828666546295666535914666517648666514937666509506665032796664987766664972226664960366664889546664824046664811166664787176664741806664675276664622396664591296664580586664424076664350476664115596664032876663949726663833106663803466635911566634337666342148666339492666334053666323014666288739666283102666275575666274813666263630666253409666238956662358936662353466623121066622697366620603766619788566619125066619113166618785066618112466616074066613754666137406661094506661079516661076666610590066609993366608930566607181066606732666604644966603293766601101466599594966599560366599335966598008566596477466596344266596076966595345466594767066594758665933917665911095665909748665908307665897896665892659665890703665854759665835325665824320665823874665817363665791842665771546665764176657634266576161466576057566572022766571501866571116665696439665654458665646813665637236665622185665615114665609511665601490665598228665576763665553025665549545665546285665536657665528022665505048665493349665489150665480323665472430665465691665462526654565336654549106654514466654414216654335806654323266654206656654175666654150196654044296653980496653970866653953656653816676653716666537151266536300366536166066535523766534159666532931266530989665302928665248458665243959665225516652231566521642966520954166520592566519045766518896766518207566518100766517656066517043766516819366515850366514483866512691665100534665097752665069557665062208665054250665044826650255696650171356650150386650123816649901664970285664968532664957309664955956649393606649340436649328366493140266492275566490232466489394566488932966488889566488011866487912866487658466487437966484782166484779066484088266483340766483249466481537466480384066478256664758657664751482664735216647149456647049736646994436646937146646910296646903076646860206646662826646580766646485966463711666462327166462246966461373366460904664596184664590066645868716645856806645822306645642486645593256645554296645491446645481606645414266453442066453428166453174766452588166452488466452021466451059266449103664481850664481076644784046644733706644696126644554556644549116644544466644530126644477856644448836644349596644228596644170466644143026643716896643677296643651296643630926643585526643501336643405106643354196643259366432270366430909166429465266429441664253441664221822664214181664206637664179288664166608664158431664151068664140536641362116641334066641291856641113756641081436641078126641042826641004376640928726640790566640774966407460666404867766404174366403348966401250466400932966399416639934266639897786639892816639634486639500636639330986639269026639196663893356663890603663886686663873707663861756638318896638264296638241126638208786638076796638019616637916286637852606637806276637778236637749536637724246637601366637582486637537426637419246637323746637205456637126916637035576636997526636982556636902806636883166368778663687602663677838663675682663668342663661776636569636636504566636454606636436746636422886636266116636061746635520816635382686635356266635323276635187826635058166635015906634837366634775356634738306634603106634559936634384666342188066341882663414063663401659663375266663365716633590436633588706633582546633509556633481156633469936633347126633342616633314266633305416633265236633059326632967436632902866632821266327997266326945266326408366325276866325166166323612766322672663202387663191486631908386631888006631855766631745986631702726631547426631515166313494766311422766310733966308913266308415166307917166306754166306430766305464366304841666304439866303613766303021866302986966302468566302003366300246966300236366299561766299241966298566666297794166297396466292874666292726629237136629158436628856356628835406628796946628775236628744416628727736628699776628652826628614456628499076628456396628130926628122696628115666628115066280942966280606366280146466279346766277268466276886662766524662728411662719278662713039662703160662696236626642576626517366263989766262045662619936662599002662594712662592958662577804662553342662549070662536056662531246625266026625203766625201566250775666249736366248144166247410766244940266244399166244251266242377966241934662401836662398375662377936662369130662366974662364191662345922662345733662339443662313082662287396622780616622706276622608706622497266224923662244896662239087662234597662233596622320606622287716622274836622215636622146256622064606622055906621963846621795136621689046621589486621411946621378236621297346621244516621202156621141436620972696620953536620932756620889506620761826620752816620674776620662066620493576620453366620355186620311916620136486620095856620073296619916136619750286619696626619629916619552766193525661925164661912458661908459661907666618770426618665666186345766185592866185246661849408661844518661840736618238386618138066180896166179077266179027066178331661735907661732757661727284661723792661711546617036266169655166169306616892166616865116616776946616388616616349486616304286616256556616233896616007006615946276615828176615787476615782476615664426615610346615442806615388436615287036615260556614645066614630426614371046614306236614210656613923166137571866136851166135563366135023066133438066133158966132610966131882366131240661296629661280413661271010661269666612664296612508916612436666123566466121662066120905066120836766120419566119257666118221466118187466115873366114479866113562166112853266112128966112021661120199661118201661105151661104578661089172661075510661055690661038716610374336610232066101958566100812666100731966100154466097332466095734066095334660938346609211576608582866085419766085337566082678666082589566082380166081798566081213266079777366079462660757746660752769660749938660739002660725826607174946607165166606974466068932766067353766067305666065745066065484566064520666062419966059646266059534466055175766054418066053643866050802366049245066048783666048307166047936166047582866044104666042289766041144766040471660401630660395522660385366660383521660379681660366679660366464660364624660355228660351749660300706660290384660287444660286765660281891660273462660261966024407866024276602423166024128066023757466023741366023651066020712666020458566019919660174036660173053660167026660162432660162195660160107660157761660143581660137333660120940660114533660108467660107498660102816660097766660084368660082053660081325660071281660065470660062771660047436600468676600431556600423106600306416600255166600243696600189536600186276600153946600122676600085986599945076599939526599899986599809906599734726599553036599443606599397696599264526599166965991653965991286165990395665990350165990086659900740659891747659877404659875421659866086598650446598634136598421486598328165982707565982557365981066765978204659779970659757065974835965973861865971588165971433965971294765969630565969265865969161465966553965966354765965769865965438565964463165964461465961864659611911659609993659602338659602282659596916595865346595707126595561396595419196595305356595027086594580865945461965943742865941998965940591165940184765939883065939372465937508565937409165937256265936524565933729665931390465928015765926599265924276465924077265923414665922513965920685065920662665920181265919085659187730659185837659184430659167694659137884659128675659109266659109060659085281659062223659044766590236165899296965899114765897700658975051658963980658956806589530496589481226589278265892731365892024965891067265889520865888606365886523565882206365879243265878474365876281465875361065874057265873823765873475365873452765873340165872973265872724658718206658716987658710660658701808658696691658684636586811265868072765867075065865866165865193265864473165863810965862685365862635365861598865861164465861143765859987065858231565857305365856753565855584165855221865855146565854453165854129658517208658517179658501066658491834658484450658480512658461816658454171658452189658430387658422885658398146583699865836654565836577965835666665835614465834631365834246265833029365832990265831373865831246365831128658302154658301534658277392658253546582529316582459236582369265823676965823561965823024165822416965819064065818198365818039265817931665814755765814357865812106658114151658099186658081125658078693658068748658048689658043916580393906580353686580266026580238226580133736580080736580058876579872736579852736579781165795856065795288965795010765792946965792135265790793465790211365789907465787066657869469657863313657841705657817146577983716577950116577924026577857396577853486577817165777297865775318065775013465774277465773919165773602565773458565772797465772007665770172657698290657676112657673376576726465767020265766336576627165765273965764897065763294965763191565762878965761674657600846575977706575887016575810066575791796575785446575641876575508486575489096575398776575246206575206386575189986574943916574912786574758465747503657461566657461328657446886574257846574233416574098556574089076573898086573681396573350676573235866573118206573096965730748565729897565727548865726626572562206572561526572436586572282306572174746572096366572054566571941826571931576571877265718153865717905365715963657151336571361436571320736571139866571065865710205865709253565708975465708464865706620065705566657053881657003989656992864656984984656965698656961959656958819656950833656939933656937582656918616656917909656911826656910866569093046569079806568761616568736336568709036568616946568503136568485806568259336568243136568211756568145066567930366567813965677697565674839665674812656743236566979965667159765664130656636861656635506566291236566145656597259656592222656578234656552035656528346565281096565188846565104196564968626564945806564810046564780966564773866564736556564723556564573826564467926564387765643796465642772465641922465641879656391734656379776656359774656340916563331766563166556563055265630082065629316765629012265628810065628454665627563665626449165623854265623459465622658965621966165621304265618137656169576561638206561419646561085796561085286561057516561010616560850965607509656062556560542956560386136560329066560320965602890265601506765599454565597904665597382765597113865592446565592180265591903865590877965590584265590289655900249655897227655896874655896261655895424655893060655888241655887506558858706558800006558795926558585596558570565585570065585275665585171965583867265582680665582484655819398655818928655817389655814829655812503655790754655780655655767860655762132655755322655750174655736698655730903655729896557050056557014056556969326556939486556771396556768326556744756556717206556530165565255965565155365564011565563964265562792165561729965561538465559903655596736655589395655582834655565020655549956655546513655537565655529159655527430655524520655510065549497265549136065546461465545236465543068665542260065542178865541609365541527465540407065536974965534505565534343865532962865532135465530404465528316565528151865526314765525499565522799165522795965521215065519613465519290665518458655166248655162504655150814655137210655136852655134766551320916551187146550869756550712026550692146550678546550561646550519716550304866550164026550163056550017665496390865494032465493196465492503565492327565491036265490577865489962765489764765487667365487383654859094654857033654841068654824524654820266547987926547847326547701765474318965472894654718562654714028654709544654709045654697547654694952654694319654677927654675270654674814654673219654670968654665477654660311654641259654631370654624147654613566654604025654600089654598162654595622654593751654577398654567199654558077654548142654541054654538299654536686545301786545299736544839606544777496544586426544541676544475565444377654438523654438143654436190654419790654403277654403276654399658654399285654397550654392591654369381654364545654329456654329382654320806543133265431188965430568265430332665429546365427461265426740165425385654241646654238962654231167654225786654225401654220663654209507654198576654197466541957106541872965417961965417768165416661365416001865415983654158036654151948654146457654098058654089049654088661654081194654080817654079536654075128654062665654061908654049459654046166654036746540292666540215846540174566540167696540088296539937366539788206539662176539645965395435365395096539497466539454586539446976539240976539167756539086046539003076538952966538934065388700465388671065385182653847317653843370653827575653814487653812915653800463653786427653760983653758988653748699653718346537178536537167266537133426537062856536966926536861165367965653663516536608196536433006536284466536060176535830186535738866535695976535487486535253226535129376534987616534752716534710136534705046534573486534541646534374276534331526534275653420553653416169653415809653403675653395510653391655653375908653348259653328736533242646533145665328329865327897765327769365327166665327047165326618165325222265325216653250704653248705653222490653217926653213636532034036531974865319356065318217165316870765316666965315549665315528465309788653090927653082086530815886530766526530713296530674366530650696530236336530234606530007296529885116529741086529664565294787565294659765294182765293583765293032965292573765290057265285606665284729565284722165284488865283872065283078652824526652811111652793829652793336527683366527632796527530666527068946526918316526912246526882586526752686526388496526240786526235616526142766526122046525974976525917565256441865256371865254926265251638865250896565249106265248960565248574665247591165246792365246638865243383652423800652421682652397512652396176523733816523714936523637776523591326523566666523331436523215876523096956523040166522926936522796626522256966522099165219648565218813165218595065218323465216152165215621465214908165213994265213657865213319565211952665211351465210375465209902065209742165209376465208575265208363765203315865203196652029288652024997651984134651966086519496265194817651943741651940365192368065191598865190527765190272865188726865188162365188006965187803865187699565187453165187444465187056265184562165182795265182431765182040665181161465181072651810050651793865651793535651784901651784275651772901651771919651761443651758065175320465175041765174626665172785065172707165171683765171580465168027865167396365166980365164154665163616165161746965160710965159688665159280265158686565156555765155958165155858965155626651546609651545333651531974651500856651488563651473584651469847651440966651435952651429834651423968651414508651394192651393382651393368651383542651367145651366098651357235651340829651329057651322607651319488651306030651303801651287840651259939651237786651224956512147465120122965119006565118902965118874465116292165115362165113499965113434651117255651116537651103196651102636651098058651080218651077594651075750651064406651047377651046376510386676510378726510138076510035086509751696509671856509653086509590486509427266509280386508923365088300365087888165086863650847610650844065084101965081709965080552665078283665078067665077059765076626865075708365075661165074837665073666065073396365073139865070352365064096965063749650632627650627586650620128650609152650600467650577165650573944650573833650561376650554025650548276650546496650527492650512806504906666504900306504824636504781576504770866504770566504668176504447836504129336504118336504098636503993946503916836503881446503849826503795826503741736503525006503388356503361856503309436503283536502547556502461916502349276502326866502322726502010816501792666501719965017098365016309765014707650143163650142344650136336650126983650125706650120757650115484650103346500951265007781765006306565006005365005689650052628650025274650024755650018477649985797649964119649964065649944792649938551649932455649924433649904046649878965649855876498556864984118264983840364983201564982824264980237964980006164978748649778431649767086497509826497320564972702064972607364972275164972128564972092464971682064970951364970858164970775649707021649697018649680254649660682649640134649634842649616454649613300649600022649592126649590557649584817649582653649569280649560875649552793649503336495022564949977364949974164947549864947033464946011564944834364944065164942741464940673164940560064940165564939621164939574064939185964938444264936713964936668364936091764935069964935052964934731264934306264932695664932247964931613264931521864930386492980116492935196492852526492571306492558486492540796492349816492126464920441464920012964919926464919070364918801464918798649184460649182317649177508649177138649171505649152912649143998649143455649123114649122605649120448649119640649116535649113049649060988649048824649048021649045912649045649036926490281446490192426490186206490151456489864276489790346489655426489613866489568256489491376489312636489279636489141626489082556488799376488786126488716216488594164884968164881541464879907464878967364878711664878280664877715964877170648760956648749694648726915648724356648705641648697041648690525648682556486591556486536766486403966486278826486045316485892264856491648554748648553583648550859648550596485465276485436096485417476485411176485225136485189996485189156485093246485053326485030656485009596484992116484586836484425396484405176484352746483898006483850736483745216483309664832318064831078564829966464829548264828716648282819648271759648254037648250255648244456648212242648166676481642996481545026481375446481349266481334676481308816481304256481195826481090066481023686480926476480621046480361956480336376480133216480109926480072816480025166479994036479766647964235647933786479302264792602647917368647894812647891886647890676478887276478784346478752726478548476478544936478419536478324726478215436478196306478162906478119656478063276477922846477864906477847996477828196477678716477531246477447086477406126477375264772430964772316664770126864768488664768356564768259764768224164764181764763746464761975864761730864761727264761490664761413364759333764759306564759191464758479647582431647581935647575277647556517647553543647537960647530272647527464752410264751487864750105364749160964748765564748172464747378964747190647466096474654796474593676474538076474483686474440956474387246474359436474228696474226806474070686474035956473906916473805166473733316473708886473631766473611016473443556473418066473258796473245664732152647318207647309438647306082647300443647294557647291946472702786472582146472474164724667364723731464723187164723020647229176472226066472148864720290064718072964717059647170148647165092647158557647153551647153416647146439647132496647125219647112832647110648647107105647099529647099151647098855647078268647064136647055765647047795647043226647026226647021604647012948647004884646992986469615236469416236469338926469141846468909076468480464684644646840770646836440646804506467872296467791936467707736467702836467624216467527836467431466467332806467238564671630264671566564669385364669050864668333164668104064666736364665614164664860264664100564663251646628177646622749646622454646588306646581125646577889646568126465421546465346936465327876465268026465255906465238064652006646519945646501664646497733646493936464915646491535646476041646452824646435147646408663646406385646398853646390736463876136463850966463739056463629396463607926463518706463473296463461476463265836463211764629309364626071864625704646251796646250408646241166462217206461962046461826176461796256461547764614597064614413664612437964612214264609691264608373064607719164606472364605838646036658646036416460193076460140706460014666459892956459814966459804296459733776459573316459422516459405586459310536459089586459041466458950376458945976458878966458835096458692906458602986458577256458528164584495645832826645819551645778876457276136457271006457196926457092616457068996457025136456967616456934056456798316456761486456736564566126964565994864565710564565683064564636164563939564562504645598359645578894645567089645566526455655406455633864556209564555621964555089364554793364552883364552367764549862264548866364547178645465302645441596454293636454236386454144936454132316453986756453785476453765436453648645353179645349018645348704645334769645327324645321333645317286453106996453101566452982576452887176452791964527876064527411664525530964525062964523985164522085264521047364520243964518676364517421564517123064515407364513767164513452664512924664511923664511541645109033645107288645102036450837764507310864503847464503382645029182645028251645027467645003571644997207644953786644911107644902084644890162644859413644854292644849734644829095644812911644811920644803950644803248644801569644792145644758290644753464474268064474064664473554864471956564470791864470385164470149564468863364468859164468556864467001364466542764466441264464698364464487364461735864461474564461044164460855564460204064459714464459596064459331364457703164457318644559478644549099644548739644534803644521436445114536445015836444916346444911856444905496444710046444698286444508896444461206444258076444245196444116856444082696443943464439380064439073964438949664436925644339636443149996443132176443097866443086906442957346442901236442576964425236464421698264421302664419930644196685644172135644167516644167212644163968644162967644158352644156144644144262644136234644127948644125413644115883644106442644094921644091199644087882644079027644070713644050875644028746440227026440125264400856664400492643995826643994548643973376439725576439707616439645066439622564394685764393787564392999264392889064392210564391865964390132643898738643886088643882787643881792643877885643861949643852342643837764383775564381882364380711264379250164379109164376702364376409764375823864372395643714613643713136436937926436749696436624356436545416436544736436539064364490364363455643612095643602226435932376435927766435913146435775564356929464356426435565766435558116435535046435091086435024736434950556434806016434801156434745696434586766434351306434331206434188686434136266434112026434027756433771106433770306433713126433518566433460916433331786433322536433227366433185646433111506433063166432941806432734196432716916432638886432601126432500546432418416432306376431903386431866526431746336431707676431477064314109664313140264312401464311545964311392464310678164306092764306075464304007643030804643019279643018049643017335643014180643002446429930642980276429393836429379642928805642920317642907842642905734642897464642891773642881854642874490642874011642848416428442666428186226428040306427964826427744466427654066427646886427622564275692964275279464274431264273630564273285364272834564271831764271014564270951064270020364269831064269771964268812664265597064265230864264255764263256364262924964262194764262168864260862464260603064259262964259132642579351642578436425754026425551056425476425453546425324826425311864250378664249067164247468964246697664246552964243939164242743864241676164241446424048186423952264239423764239411264238535164236060164235764464235613764235559164235179564231085664230985664229278864226955764226929964226642064226194864224850464223687064223467264223251564222741664222730564222582642216896422050206421859964218176642177956642174979642167933642165805642161076421343164211065164208619864207780864207669164206534664205863642047150641991611641986539641983682641978999641959068641951285641935162641929935641921271641915650641914809641912570641912125641910244641899528641883701641873199641856907641852722641852280641850220641841076641832716418301506418277796418164386418097126418094446418028656418019786418016026417723636417675816417636686417609946417571146417468116417391786417379166417335006417330366417250536417249641710046417069646417006964167973764167112964166524664163538564163006641609060641596137641588684641584673641579799641578418641567525641562862641559276641556629641546019641542483641537400641533906415310066415090946415010856414999564145146164144787264143029641422404641408415641406764140313564137486464134807164133695364133301864132178564131599564131257564130272964130225964128996864128276264127844164127502641268018641266572641263041641246906641245540641221086411985086411978476411973536411960416411942796411786706411612016411523276411490346411485646411439476411245006411182336411095764110946364110384264110243364110191864107946164107665064107111664106343364105865641047962641041326410267206409952664097065364097008664096521464096034964095840264095744964095660264095019164094970964094273064093482364093125264091408664088550964088235764088036964085691464085398864084437764084120264083863264082486564082420664081782264081112964080262264080199264079897864079129064075557864074981640742170640718642640715296407076264069833640687328640679105640676052640659899640645246406422056406257640624996406157926405998846405971746405901406405872636405740096405675346405602496405548326405337776405278676405179436405098364047782264047618640473535640469015640463996640450204640435286640430431640421818640403790640396028640395756403838856403750656403548726403541464034975264034710264034588764034060864033162964032721364032219364032048864032041264029586064028054464026215664025588764025205164018944364018889464014638264014094864013174164012631564010724464010625264009321364009040164008793064006846764006443064006397864006087640060843640054932640051366640041760640021229640005282639983192639981329639976693639975258639966676639956152639954878639941863639931322639926051639916614639916175639898505639883280639880760639879616398718776398431846398144706398000506397980096397974376397837563974117663972813639720622639714806639705282639701886396992263969581963969543163968019639658686396585796396339976396190726396148196396041063958851863958336963958101463957355463955542563954446639543362639543261639533831639527938639523591639523461639499217639471013639465123639456453639452430639445312639441379639426087639403149639396295639394565639380516639359776639357959639351642639337886393168476393017066392897296392628746392616736392591716392470766392431986392222276391872296391846126391727466391723136391704116391696386391547156391508906391454786391446886391440363914248639140576639120233639109298639108276639106706639098826639071466639066364639064542639059081639048734639032915639025425639024290639003385638991697638985572638981965638974572638973956389729106389652963895716163895432663894993563894741563893527638919878638918517638904847638891001638874873638874538638867448638840223638822718638819675638813294638808339638800312638797806387648706387589346387549096387544196387506976387329966387255426387226626387157726387125386387026686386954296386939936386917326386892346386823866386618506386505496386431796386275826386137996386089826385972036385902946385888266385795086385691846385651896385638476385620246385523063855076763852622363852430163852016663850082663849583163848744363847020463846627863844232163844027638433150638428955638424394638424096384193766384063086383954066383937596383885276383819576383599506383536106383535406383503063834635563834504963833766638329240638322424638313155638308397638306835638304074638272210638249674638227921638225032638216054638213282638204236381997366381918896381667936381645716381485263814758863814427863809991563808564638050066380420396380390116380388936380320716380308696380284166380248863802192863801692163800946463799092637988016637957266637955049637946484637944752637925580637915309637884294637883585637883556378835456378813436378766636378717336378570206378514376378507646378268576378247363782345163782225463780328163779617963779549663779066663778151663776846637719769637710590637698624637693759637692937637672601637670636376564536376206316376110656376083637608047637602375637588294637586198637584608637558276375530706375479276375430186375384926375270806375261346375227896374967063749368963748910363747772963747283063746433463745897463745230963744867463744664163744646663743929763743651563740856863740699163740596463740451363739705663738850637374240637368779637364934637349795637348693637326164637324356373073346372990086372983066372980616372948426372865363727701063727479963726240363726104663723570763723392863719733963716093363715086763714756463714644763714570163710733463709639263708955063707785637073537637064296370409163702363663702084063701086463699563863698075563697552636960616369586406369565126369482846369336063693234463692762063692020563691466163690608636902856368953363687716368764186368686386368653236368511236368372326368365516368328906368327846367968996367966716367953526367460616367454366367352526367351696367319536367236426366954486366860363668044636674835636672796636666633636652838636652232636640073636625084636596057636591986365587626365585546365548396365300246365293306365267206365194463649688063649511163648456863648120463647607563645679663644925663644300863644098963641750963641355363640006363970776363968363637569463636977636354337636349834636342227636337176636313577636310272636291176362785263626714463624756636246409636237355636220472636219726636210172636188283636161988636150329636149943636132546361210463611554363609708063609245563607361636064256360581456360381636360337526360278586360257156360145766360024316359938356359730136359716486359635116359505356359497663594741263593565263592683363592550863591736163591184635896211635873042635867835635843411635841623635828970635826250635823066635822563635809281635806798635796978635778113635777607635770211635756204635751392635748835635718802635714879635713155635699310635686556635682814635672230635668783635665846635655748635650625635650363564641663563667463561915363561009163560770063559567163559416063559243263556391763555567963555229363555111963555056263554160063554002463553147263552744635524204635516501635495175635475823635463271635459560635454433635452918635424510635421760635420269635419497635411702635410716635404656354031363538959635369869635347650635298847635280093635280026635271906635267858635267010635262511635255495635251880635249883635245392635219709635212406635211783635205135635197351635191747635186862635178652635177197635171428635168002635167046635166023635165958635164806635154756635154463514155563511967263511091063510270663509869635098201635093753635089056635085409635072439635064156350502516350497496350382576350092516350092026350082186349972556349965426349823063498132463498045663497907163497142463496413763496372763493773363492112263491397634907675634902487634898810634886265634883133634874991634868396348606196348601836348473846348014576347999036347789336347755636347509326347408346347147746347088766347056863468093634667785634664218634659579634655999634647294634638212634638047634620087634586020634585919634549234634525458634492854634476623634474617634469506634462947634447033634439906344371436344303526344203646344200706344183256344180856344141556344113316344107406344107246343890563438750163438619763437656363437211663436818563436488663436104263435924863435196263435144563434144563433879663432538963431303263431245463430945634299466634290735634273714634272458634247406342460516342430796342329056342241246342222226342089616342032763419835663419562363419085763418409163418052663417811263416771463416663963415835663415674863412227063412157634100392634089862634078140634063198634048076340443916340334276339875156339875156339767336339561546339552326339549006339501426339452996339217636339119263391078063391058163391002363390980863390422863390045633898425633895991633894218633892947633882064633870476338537276338515676338489776338474256338293866337868696337823363378147463377349063377345863376553663376025633747148633742888633741248633736907633704355633700006633697766336949726336885446336808346336780366336700763366685633659093633648872633633563363240463359173563358040363357413863357314163356097633543817633538197633535320633533378633526365633504021633500363633488031633485253633458026334535616334234046334040286333942996333905786333903746333773306333738596333649846333368086333350406333339206333271776333124956333124806333063306332877816332867666332821866332807286332790036332621686332604686332515086332395263323150063322493963321877363319354963318685263318175063317912463316449563314838263313125763312900363312050463308321263305885363305862563305383663305190163305056563304008563303455463303410163303030963302952563302339063302245963301481263300912963300244632990655632985434632977563296515963296119632957826632955702632945269632932438632898076328839876328785236328632456328454663284204163283968963283210663281610863278953632788063632787420632783591632780631632777519632776261632774422632771236327679063276602563272983863272631963266613163266328363265882632613436632610539632609320632602651632595760632585693632581976632580885632565381632547586325435436325434066325344963253449363251772763251484963251177663251155563249349663249199163248620263247387163246045463245280363245199463244977632436348632424595632418050632411599632408883632396256323906766323885646323880276323783163237210363236675163236337463235740463234691263234622063234580763234546323426376323409463232646863232576363232056663231956963231702863231300363230789463230547363229212163229200632285185632279087632269219632254334632248281632232093632212440632210336322084546321769246321758963217302963217053163215537763212427463211432363210554863209439263208271463204717363203773632028966632027330632026300632025870632020276320056566320039116320034086319850846319699266319643576319464506319325646319223886319072046318750316318743936318499626318314963182978663182525363182273863182209563180629163178804763175975163172883863172812763171618263170992163170983763170926063170863763170152263169351363167375363166607963165679563165406631649146316315446316219266316161536316006036315702246315633063155517863153918663153718463153598763153338663152438063152144063151516631514102631510688631507502631501716314992876314923656314865006314808906314662686314554886314494863143988463141846313865176313836916313794863136411963136073963135900631339998631318482631316414631306684631301686313012516312922886312776816312679063125738563125692163124655563123838463123014763120672663120191363118569263117255963116360763115450963115386763115374363114221263114047963112918463111977963111905163111446663110049063109681863108530563106888631063410631050123631009809631005456310039416309918646309816096309708356309693366309650263095104663094459463091154763091132063090424363089770063088840363087680763087625763087552363086150763085638363085154763084766663084150463083826063082952363082286863081555463078808163075409963074953663074910630740708630733006630727099630723342630704419630691368630691152630690455630688271630685906306827746306798306306737816306736196306440363062489363061907863061624630615294630610400630602933630586737630576401630573059630572558630571102630567478630566442630553681630545417630540046630521020630512846305095806305065906305058526304856536304572346304537986304361806304321356304017063038827063037954063037706463037622263036312063036117630357458630357066630352870630349940630336339630322164630310392630304952630296292630296117630292802630290571630281240630280813630280337630267726630267045630258213630235052630233494630217388630217286630208019630199063630189823630187276301871436301615016301607326301604136301596176301308086301296286301286866301216086301157546300984736300912016300818006300769916300765096300757086300745616300613686300187046300130076299997696299915596299867716299773956299764946299739166299668262996195162996016562995556762994908262993831062993759062993449262989068862987667662987496862986659562985168662982412962982343962981690662981470629809512629809156298057806298034162979699629794670629794621629768130629766439629749893629733119629732631629731277629710377629696187629686816296785296296574096296385226296207406296124266295768446295729096295697066295681886295599462955565562951773262951400162951099562950614262949367662948826629457364629456989629435626294352662943049362941117362940633962940171262938697662937877062936188762935000062934793562933862262933549262933503462933058362932351862931355962930996292956926292947496292942626292831756292810486292745116292660162922797962921982629209987629205418629187544629187304629176867629165355629162675629160537629156497629137405629135866291358406291090126291014406290990366290669566290539006290478362904053362900960462900599629002775629002540629001935629000706628987862898403662895328262895101462892566962892129062892050762891625362889976062889562862889506362888893562888791628887837628876656628853961628841871628839407628836834628823766287864136287853926287673706287572586287549336287365736287239276287189156287079496287015746287011176286974962869667062869649628674045628673868628662025628657881628641646286388756286216156286151386286145736286138576285969076285951356285944076285891366285887586285805066285801162855786462854317762854191262853041628528975628528427628526888628522707628506236628504802628493052628489645628489210628485017628476973628470819628431228628428412628426734628411798628409858628409234628378795628375314628372916283656686283415796283244716283231346283212106283206256283166606282861156282779626282734496282687062826371762825974362825898362825834462823473628225456282131376282082926282009206281907786281662386281515956281504216281476766281464696281432956281399026281245566281184886281183616281162866281000006280960362807820162805355262804250628040468628031765628031169628022921628003899628002387628001062796840962794762262794259462792783962791063562789411162789173562788011062787753362786901062786154362786072762785747062782576562781569862777550627771612627766551627757439627751243627737506627731208627727270627714655627698396276895196276596796276473546276408262763232262760427362757947162756359262756337562755987662753558562753340962752767062752161362751445162751190262749153162748273262747794662746284162746114562744809627447835627444366274399326274396362743348627426152627425774627417812627413436274104956273903226273873906273844896273714962737139562736941562734700627337669627332377627327716627322312627312853627305901627305528627263806627255969627253557627247723627245541627235450627215406272079166271945996271932866271812627146812627141486627125122627116279627116020627087684627083466270801906270700676270638862701486270130962700653862699579162699331562699078262696882062696630662696424962695269762694507962693934262692836262692649462691218962690657626903403626886949626873595626866195626865047626839545626834569626827750626814903626804772626801889626789162626779816267679456267658496267408106267393206267370606267317796267304436267142036267085236267017356266941496266745786266713496266703826266595916266556446266453906266445906266435516266301076266299096266294962662340362660905362660497062660314562659080362658581962658269362658249362658052626579597626571490626562658626558186265573256265510462653456265093556265071276264761646264414762643795626427205626424169626412546264087466263975662639509662639445662638221162637733062636739962636607062634949162634007962633929626338056263122736263117996263030686262892696262427276262312676262205336262001216261843786261601516261558266261380946261311666261298276261285926261218106261179762611622462611024162610741262610104362609619362608367762608354062607496262606470962605849626057692626049858626047437626038154626029083625989859625987309625983721625977748625956530625952581625940334625938760625919069625911277625900619625892696258662662586485962586235062586190762585443962584922962584819625827384625824736258180436258102796257953466257878336257789756257726246257643596257534606257426866257407996257202926257129596257095346256676936256587396256463746256434166256390336256342962561669362560351162559954562559343062556573962556044562555572625553454625546512625537629625527037625513776255100136255077136255071316254994186254913886254869976254688526254543056254450446254427696254278236254235136254125346253961916253905762538214625351390625336093625327075625319596253079546253070936252948456252746762526314062524200562522815462522417362521863462521485462519826262518286962518260762517783162516097562515882862514314962513158162513041562512055962510876062509882562508431862507169625059582625057013625022770625017293625016678624988586249872462497474962496808624958296624948941624940860624921622624915667624909332624899284624893483624876830624852924624852678624848862484343862482793562482141962481902362481260362480140462479968662479226624780496624772564624768120624750475624746254624739367624731003624706966624689245624688776624656799624652159624645052624633786245916136245800586245741526245710796245579146245463762453611624533107624531553624529264624523551624518796245185362451622962451296245059826245056936245006066244886316244882476244788216244718962446906062446676862444655862444503562443522624417277624409447624393102624391933624378259624369396624362206243494162434129662434024562433531762433395262433282162431801162430977262430675062430170062430123762429210662427619362427188762426418624264101624228440624227355624226510624220764624219611624219450624216483624208286624207625624204099624196963624191794624187352624187328624178308624176834624175762624158934624153761624152959624145080624113697624109569624107076624105998624093763624089520624089011624056816240518776240464616240454366240417356240319716240088936240032996240028516239892756239803162395072623946675623936752623925606239216962392016162391520362390939623905636238870886238775262386414262385570462384897623838193623813722623808561623794688623790522623786067623781166237462776237092766237091606237078046236707962366228362365405262365121462364623662364223862362422362362309862360940362359237962358296462357203962357091623567063623549297623548277623538545623536690623505335623495870623483508623479913623462909623454396234212936234070996233854796233837506233775966233753916233673526233468456233216076233149036232931126232848966232709616232531656232449096232269136232231196232212946232024862319802623190299623181016231564362312122662310741962310382162309416962309167562308851762308752862308077262305030623050096623042531623040404623037656230043262300160062297827462296726262296138962295297562295200762293474962292975622911586229103766229081526229057486228933056228753226228555736228499836228283856228219606228101946228006066227950086227917976227803796227708646227683016227649906227617436227353226227249016227226386226923986226804296226777436226631226226629266226465196226413986226327586226273262261646062260139462258962662258913962258336262257861962257842622512465622505225622505034622493670622471638622467041622454251622435958622431021622425380622419662622419081622400571622394226223725316223552946223523406223474346223443896223356406223182316222910562229034462228707862227943762226912862225078362224146062223485962221823462219606462219463462219152262217409862216928622134395622130798622129965622126100622124993622105806622095067622093799622077369622075266622068967622058402622052318622044532622042326220375856220151296220137756219949146219883616219839026219740436219630166219547206219544496219505546219354996219071476219024466219003462189128762189022621878826621874291621858288621845941621844472621823150621797829621785222621771468621762286621759055621735915621730685621720654621711813621701344621692424621684160621680637621680123621673976216727876216703136216555562165337762161244562160045162159642462158284262157886862156203621560786215488186215315206215265466214612466214399806214372416214333796214189236213978956213953986213878876213723166213531346213423496213396566213331962131034962129793762128323362128154162127387862125317462125153962124242962122771262121557562121306162118550462118309562116467362113619762109314062108760362107705662107082362106400262106125762105992662105652262104749662103702162102686162102271462102268662098936862097379862097279962096755162096084662094827062094688262094509162094359062093981262093114362092305062092214620915358620913583620910449620896108620893368620892966208916762089066062088568462088348762087467362087308620866336208661116208543626208521362083364620824268620823156208137886208060336207961286207922456207673846207638186207625596207610166207517056207446766207285062072782762071946162071608462071015262070664620701666206990896206882276206859156206839956206791366206742626206732806206710620668726620658904620643704620642146206397126206346162060579862059966162057323762056887062056390862056111362056028962055746762055345620544268620540979620536808620532179620496620468323620458775620455093620445528620444199620435559620435305620431809620421247620403859620403092620383355620375147620369533620360767620360102620357313620351818620347970620347661620343153620326962032046862031151762030737962030034462029537762028947662028848620265721620244822620230991620199703620198123620195493620189627620188485620183286620178653620156322620149571620146446620146109620141442620132665620132438620125536201105746200943162009262262008920862008638562007930562007837162006959862006890462006577620047576620010172619998896199896206199833696199790896199775676199664266199406619924261992356661992287261991139661991100761988603861988294619876623619867575619851035619841516619834526619832206619830008619816693619816301619795956619789552619764105619761575619738550619735701619728100619712996196842586196637486196631516196490566196325936196247106196212946196200161960425461958290261957093161955456461953467061952504761950581361949407761947980561947448861947040261947005761946761661946511619464141619439225619437584619437107619413095619403843619394306619393146619387040619372705619364361935092461932274661932222619317761619304236192743926192578936192437786192364561922378761921518961920570761920548961919015061918650661918516661917221861915481561915028761914624619143033619136323619130122619114460619101845619096164619081836190696626190686326190674876190481866190457816190226696190187766190138636190100206190079006190003261897042361896290618955352618942970618936895618935465618932004618921765618920476189196061891452961889056618885901618880341618878795618860082618841136188396826188360616188359161883552618815486188024346187976336187924036187880796187856956187846506187706926187633661874847061874128061873684661873624961872986661872861661872693561872590618711830618699703618694436618684660618684403618676667618673945618652084618647230618647146186449846186435876186374346186266156186264346186080396185938046185906596185891906185824946185765676185721361856990461856728261856230161854593561852792261852631618521532618507196184922656184782206184676106184621086184553466184428696184412996184401006184250986184216526184100426184024826183902496183638236183632961836093061835973161835906183450126183449486183436916183427796183426416183381561832307261830842561830028561829559861827961161825174761825023261824091461823337361822685618202852618198992618180928618172614618168433618166848618157491618153176618140347618112897618112504618110393618103056181012896180916261808466761808308561805673461805055761804677961804440261804157261803086180286346180235161801216661799938061799142261798243617979627617974554617973065617972797617968186179509617948646617940031617900625617883128617852366178437336178340646178262236178164336178080786178023061779908561779696361777685561774722161772607161771733161771055761770075061769599661769581861766660561765644961761818561761215961760475617602671617600920617597426175798306175745736175479961753702861753323561751578561751191061748487861746831617463414617443469617436668617434654617409823617408066174066426174024946173833846173798416173761776173713046173497446173404726173393946173375666173248036172952766172782676172779506172778476172661361726593461726497461726075461725782861725393617244944617244707617225903617204284617200245617196610617188065617183554617183309617139537617129660617109964617105472617098355617097761709605161708367261707372961706557561706429461705134461703966861701262061700408161697312961695727616950484616946615616934552616931688616926755616924850616914487616912136168956806168869976168773161687389061686143361685510361685340361685293061685196261684640461682696061681819161680604261680225261679211961678153461677045961675167616740511616739240616722996616709734616708605616707041616690616683325616677545616670161666637361664652061662967861662321661660083616588554616534246165318436165287396165208966165208546165167306165160156164954896164917266164906966164876861648559461648432161648425616480647616480149616464032616463096164611956164589861645225961644261641188561640865661639733861637250561637240361636214616358622616358223616355851616346163455446163349936163332576163152061630775616303156616285147616266089616262110616237897616237555616231415616219704616205166616202857616192991616149024616145691616140856616130212616121966161171976161116786160871726160761461607372616071902616065293616061072616060506160589646160581456160540461602711661602431361602247261601710861600478861600134461599425261597805615948245615938552615925486615922575615920182615893208615872852615839023615838004615836928615835899615823807615821021615794066615789042615776228615746325615731649615730962615728126157163176157141316157089696156956846156902436156864615684976615684700615683562615661780615651606615639427615637853615609754615600476615593806155704446155655006155604976155433206155349136155296676155244946155071196155046066154995756154995161547654861547588861546997761546827615435561542126261534951161534765461533913561532971661532093661531943761531265761530743261529282861527713961527372661526262061526025061525802661524338561524320361523928561523914961523390261523271461523239615225754615210904615206296152061286151821161517637761516855461515994661515575161515249061513294615117499615110214615102239615099759615077509615073552615069436615063863615037278615036146615034497615030944615030350615000996150004616149995316149801936149589706149526006149511826149501186149458086149318146149025466148894876148884286148861806148853736148834996148819976148689606148642906148572266148488361483008461482334461480405961477769461477474361476949061475832961475183661471884614714897614696776614691315614688253614685346614680175614680108614666655614660702614658376146366166146335606146305666146259066146238526146137186145808461457528961457366261457056145067466145054496145040496145003236144948816144659661446288261445957961444420061443704461442737461442596461442174961441327461441251761441178614410525614404918614392106143859461438088614379352614377199614373978614366665614358228614348738614342761614336761614303776143007666142911026142847396142837136142825561427105561424716561424712661423969961423368861422601361421971614203624614190742614167692614163908614151238614140245614136067614134388614133270614116028614106872614086949614081318614075073614066236140451586140411656140380961403064961401729661401466461400923561400302661399020961398888061397458061396171613956572613955323613943517613942909613927844613924726613921633613914107613911748613907707613898263613869531613869212613869016138645076138507626138504986138451686138377626138326836138318906138232026138003626137991486137981876137922613789861378941461376872613765149613758993613755812613747726137358376137341846137285986137256206137251496136863416136802236136709856136699166136660056136641666136388861363739661361666613610781613609564613602470613596125613593245613592298613579666613578422613571219613567286613555785613555296613547298613539267613518816613508086135041116134838561347197961346161261345469061343784461339667961339241861338605361335679761333703261333441261332597061332118861330371861330087361328878861327670613272276132625361321869161321149613208080613199002613192732613190855613182456131751406131519306131508006131459076131379966131060896131054226131052656130999666130841776130824026130675676130604986130223613013357613010069613008748612996547612977086612958104612944395612942224612936276129356686129320986129028226128836386128801566128684366128622461283954561282093261280800261279697961279453612789746612775663612774236127690016127643456127248936127177326127090076127066166127050706126988356126972961269647861269308961269216561267612612669435612655406612648566126392926126206506126203761261724461260349561259688761259511561258770761257735061256268661255910861254800061254313861253869661252283161251856612516306612508556125080806125058186124799716124789616124689306124631466124478756124475566124352436124314361241843761240145361238746361237314661234689161232850361232237461230036661229482612269416122693206122232461220814461219727361219267161219249861218370761217556561217421961217114161213882612126201612107732612104710612098723612083156120670361206482061206291561205993361204701612015436120108176120018516119961936119925626119861156119794396119746766119709056119676286119550866119501896119427146119129496118966546118911626118908976118874206118868576118850786118787961185778761185175161183538961182799461180490161180482061179204161179008361178741961177882861177009861176520611761196611750955611748508611742447611739104611717805611703374611702150611699824611697473611685103611680863611678719611644285611619480611616536116055446116016296115913166115849876115619476115611461154533961154113861153419161152894261152600461152169761152101661151864961151803611516726611514560611509913611496886114909746114706106114547706114440086114179346114142166113974706113787561137034861134797561134187861133953261133629611305676113048336113036576112954216112939661124889861121795661116958461115762361115732461115265761114533561112301561111986761111558561110358611103014611088806110845761108262611042497611029005611017266110171706109930666109853956109838656109439066109385396109359186109343926109336516109302486109242656109238766109183936108855046108755176108715261085029610846416108397396108328761082509361081613461079451161079450161077233461076539610763473610742616107363936107337610733511610729524610719117610716716107114896106995346106936606106894261068404861068296961068218761067622661066830861066736761065457061061691161060226861059479561059119961058902861058022161057450861054056161053690610533198610523181610514362610509357610495026104908086104883756104880656104857706104804816104789696104757846104690856104176456104129756104116646104036556103956061036061961034412561033511861032203861031525061030354261029931861028646661028060661027965961026383161025708961025481961024445610243686610238248610231561610217759610210146610206676101896656101834096101771166101700566101560956101556976101541826101402346101357616101089526101025156100955061009446061008936761008570061008407610072076100710186100682926100607461005182261005062061004637161003625461002314610022406100170406100075006099888276099714876099457106099351126099288096098954396098914096098879456098591326098591186098234596098090026097997816097961416097766860977609860976102960975490660973808960973337960973334160972178660970737460968283160967250060966363960965275760965197860965048060964602960964410760964250760962629460961672360961054560959468960958459160957850460956275260956059160955822260955758609547443609530686609529469609527756095214236095164276095134146095126966095098546094818926094629796094599006094562806094512086094252260941217460938609160937504660936435660936076360935389260934636160934314860933679660933362960932746260932362160930429360924899660924317060924096060923332609217290609216816609201424609200548609200489609196077609181723609164048609148820609148660913338060912191609110676090743486090736726090610336090572516090403876090392546090264936090201266090194896090120686090096116090075656090053806090034616090008646089772676089608216089517056089098426088997660886660260885693360885670060885413760884860560882293060882122660881009608804631608789896087840506087798466087658636087622456087566886087395656087342276087282766087245846087240666087239126087190076087010816086991216086990496086982396086899026086889046086647006086282736086244496086240926086122196085964216085938066085894856085845396085709086085599246085368096085015386085004976084943056084941196084860496084811176084746176084659066084500436084167506084154166083896060837153060836892760836484960835033608330587608328106608326884608321036608319640608298070608285787608281550608277891608239527608238457608230466608226607608226526082203466082199366081950266081920366081887706081821496081750676081648286081590516081492306081402916081198756081141506080748816080631096080421936080321276080314336080293276080249516080206886080095596080094846079950186079858696079784646079498676079476326079460926079405460793516607932003607914153607912656607909105607900171607893501607852697607852445607850659607849896607849132607840646078123846077901756077887696077823960775686560775092060771844960771201607710162607703226077012136076936660765675860764226360763406260761753860761286260760727560760131060758160360758091060757975860757851160757196075441076075314986075279946075273266075270146075149316075124607509452607490326607488227607476211607468750607447973607439439607434766074041516073975096073939356073630046073617260732874460732696860732244160729276360728529607283503607245229607241562607233864607210209607204566071945296071827326071611260715177360714834560714819360714193660714006860713213460712490360710936260709474960709153960707963160707101860706711460705601960704151160703237760703224560701916560700872606989823606983015606955309606920190606919863606908076068816376068799676068790116068623446068619276068573360685561560683487260680102960679713660679129360678693860678003660677513460677193060676866960674032660673595160672346160671325560668484960667678606671609606667613606659748606658782606654498606635297606633842606615908606614864606613297606606574606582552606580390606567615606548770606545225606544633606536300606534234606534150606533541606528859606510593606508670606508341606506963606504331606496175606490814606483140606479290606477007606457124606450896606432285606427115606421714606398460637783460636710660636685606356392606345235606338093606334213606325557606304666062819806062732256062267466062186660621512606214645606197985606197788606197576061953666061685236061666926061579056061468986061386396061336126061265526061200206061184916061155826061139736061119856061077476061021836060965086060806636060713260605993060604265960603265606021204606005360599766760599553605987926059860696059844236059834060596229060595529460595363605928066059077060590502460590166060589320260589262860587970460586017160585139605849516605849092605831127605812196605810581605792808605791174605785692605771577605770318605769144605762748605734513605732027605713992605708893605691134605689916056867046056854260568188060565856605657100605632898605624831605610536605609326056090986056014460560126055957426055903186055843366055794206055711696055603346055508006055498956055356626055202926055195926055137460551200560550201560549006160548101360547983360547432360543433605431965605427156054150056054077686054040816053907946053773036053765605358685605352916053442086053256426053243460528336260526967260525816360525679160520278860520012960515498560515058605147142605138854605105564605098469605076845605040946605008934604999900604975760497547660497223604970274604957923604938650604932156049306736049148316049096546048891776048845936048640106048569960484923060482341960481327760479277560479028604774231604749646604748354604747333604731017604729792604725511604717673604714015604708034604705018604671664604665931604653908604615397604601112604600449604597606604578833604575165604564972604563902604546900604530574604526074604523441604494115604487316044690996044569216044515946044419626044392826044279206044129416044069586043991916043984860439712460439495560438173260437001860436395960436331660435631604343512604338326043086866043070376042974226042857556042779316042743976042690136042622616042610826042588336042571906042568526042542886042509166042389616042302604225896604223532604206139604205221604202009604192757604186705604185291604183746041832196041824816041799406041773106041726226041675306041647476041620696041617536041601326041461106041421306041363996041302296041234866041208066041191946041189226041041160410388060410187260408481360408470960406070860404989160404608960404554260404212160404169460400876060400500603972870603948889603919353603911783603910240603893209603865645603861387603856837603850460383998160383878860382777160380991660379445960378137160375885760375484360375319660374830960374495260374089260372415160372087360371744660369874660369003960367550460365683860364849460363532560362146060361901560360257960359306860359040260358507960358196603568792603567439603560254603541321603536699603525371603522734603513857603507850603504960603470760345402660344962960344712560344374460343796560343382560343351603419466034092396034023646033854566033666860336560460335391603321383603316828603313732603272257603260262603254555603252059603196912603176386031684146031643260316426760316301660316017260315994160314523960314344760313125460312899360312698660311633603111731603105496030965603090223603087751603082749603082708603073250603064831603059763603059354603047477603043544603037640603032983603029206603025880603018471603014486603003796603000302602988688602987189602981475602981131602973259602954176029491556029415466029353602897981602897896028791460287851060287717560287249160286734960286267360286148602848810602841919602827176028032960278230760276734060276670160276579860274409360273928960272483960271675560269234960268405160268025560267880760267636026678466026672460266637860265560360261600602609621602607575602592778602585671602581476025681960255862560253925860251864160250788160250616560248873602479573602465078602454964602451383602432686024213746023956360239276760235560260235061160234840360234664660233102660233018760232741260232216960232002860231794260230664560230055360229884360229647360228909560225999860218476021837256021825866021762876021685926021616566021592760214336260213187860213028660212111760212031360211425960209933660209401160208420260207010560206412460205544160205110760204827960204471602039395602002205601966698601957474601947209601939362601920232601904824601883480601877782601868264601866589601851784601839956018391836018343026018323336018224626018136356017804156017784546017625136017522660175046017466516017402160173060601728918601721558601716602601712619601710177601708603601703496601693039601672007601664901601653583601650120601646591601644049601633078601620348601619264601612888601603477601588676601573096601570260156152560155586601550262601544763601540480601539646601523194601499328601477994601470986601468328601450946601450606014485626014449926014379276014371196014367866014348426014281686014245860139906160139602660139548460138298560137984760137825560136591760135471460134830960134751960134589460134414660131839060130267560129198601277660127726012719396012629060125955260125320760124597601239549601233560601228816601227586601226074601197726601189310601173440601171852601158524601149036011360646011303026011297896011241216011213476011196360110772060110368260109988560109917601095708601094719601090255601075998601074023601059043601058971601056874601043996601018953601014362601001357600990643600986507600986396009847826009658796009639726009610336009504076009359286009138956008991516008969506008758256008588626008527996008397960081336600807735600798662600793890600792791600790006600788218600784697600781635600781631600753358600744639600743196007369906007320260072720760072297860069279560068215600674383600672515600664347600654139600644297600629880600612756600607670600600112600591856005911816005826166005795616005738246005658226005580116005543526005528946005527660053063160050160760047172660044941260044777600447270600439895600435718600433426600431136004279576004208756004198796004153086004136600410416600403453600397984600392648600370976600344786003440046003395960031691060031603060031155560031134600280632600269978600247964600245060023776860023130600227455600216609600197102600190956001821360018040260016986160016787060015876960014490960014137460013625360013218600127086001224956001090156001006146000837146000741996000555786000527706000518546000423596000353026000242356000157566000137736000115566000079745999920935999880845999837905999708145999653525999607905999523575999521385999471805999468599939866599938202599937105599936503599921868599915736599905257599834445998177865998041445997835685997815959976325959975844659973408159971618159969962659968502959968155159965995459965790959964752059964508859963341359959033599585031599571076599565493599563340599532224599528752599513428599482547599475978599470911599468594599464584599424538599423156599414961599403129599400705993984015993918545993490395993452705993395165993187305993181975993124005993024285992670635992622245992511735992433755992394225992385995992383845992336765992304459922713059919883959919616659919497059919421159917124559916038659913212759913020859911845599094240599075404599061523599058685599057470599036785990287545990285785990276485989839745989809145989739565989730045989651825989482055989473085989472375989391985989382495989362175989260425989171225988957455988929445988918595988881559887996959886827459885929859882404598818181598809749598801398598778552598775917598758239598744245598743766598734578598728255987042625987001535986881955986878359865528059865303598638777598629895598619522598616407598612335986095025986011355985948725985822125985731865985628615985571575985560615985457405985456985985425359854064598527923598523287598499751598470860598445688598431513598425242598415929598402255598377706598376573598345772598336252598317433598316128598312722598312420598299710598279227598275925598255650598249072598239153598237736598234822598230257598228243598190368598175085598172526598164075598163413598138245981341345981169459811350059811032059810382559810287559808589759808370959806864559804711659803807159803433959803150359803140859802894859802874759801170559799483059798585859798282459797701459797029059796976859796373059796010659795705659795179159791527259790569959790178759789493259789020959788932159788411597875414597873193597850452597835767597834796597811363597799412597796363597789745977812675977763675977664259776166659772432059771512659770464597697156597695047597685155976841565976712625976567475976558225976547485976536355976457015976325597625291597604390597594081597587826597586523597566222597565081597558973597553844597539851597534447597522038597517187597458550597446200597446075597440834597435777597424488597421791597417356597407915974008445973885765973774325973740065973607285973565059734787159734735459734325359733019597317010597300837597290244597284640597283645597272661597265992597242217597204538597203899597194170597180974597180841597170882597163574597148732597135659713238359710778759710229959708152859707495859707268959704705659704435659704381659702810159702666597024505596995414596991140596974698596971390596970766596969795969679255969650855969641315969412415969280425969190215969173275969159659689135596879289596868029596862847596859525596850105968493315968454285968402885968341915968292025968146025968021155968003165967973875967961585967841859677862596771851596769352596768190596754445967505725967431005967427665967373395967314565967159535966914785966878959668101359665464659663867596630915966252655966252415966024325965982435965843285965659759656297159654944759653529359653401959652904559652555159652036259649948559646678359646382559645187596449970596442700596440532596434912596422369596417396596411198596410244596401782596395096596388921596379873596359683596357467596347393596325600596317601596316060596306325962932855962753955962515655962503465962412595962411815962369835962316265962286665962230375962161505962026605961968465961935865961907805961784945961777015961593305961532495961529125961358295961343105961330859612502359609878359608592759608446659608048959605321596048275960402959603576959600374595985362595956805959554905959497735959300015959206425959204885959171859588173659585566659585075159582660659581488559580621595802846595782107595754121595754031595732014595731895957280115957266859572325259571531759569642459569472859569107559567597459567392595669179595664228595660007595653385956487825956342485956330165956112235956040059560395259560339759559437595591946595578886595572553595570910595555033595541707595538253595508833595500656595499391595488975595480024595464272595463325595456649595456230595447410595434156595432055595406129595405840595404167595397498595382360595367687595352232595337525953364359533282759531329659531187659530032959530010459529657595281420595279007595269753595263793595263625595259038595239743595231259521620859521274359520151559518281959518054759515473459515169659513625159513016595125585951189045951186835951023259510158859510074959508310259508027459507876759507319559505411359504868595026240595022115595012596595007664595005964595003054595001542594992985594991285949825859497470659496853559493730559491170594900166594890380594890120594887945948853125948610405948604645948536305948532565948478975948315185948153435948146965948090659478767859478726159477402959474625859471849559471335594708920594707125947042575947039255947016765946977835946859525946838575946774005946770065946712355946709695946652895946379225946232895946205975946044459453795959453756559453040559452838259452757859452214459451992959451882159450567059449254459448526959447828359447299594472229594426560594422019594416613594405612594405218594400555594388276594379573594373541594368070594359333594358575943575695943560855943524285943413135943259045943230115943221845943078635942990945942945525942813815942790255942745325942724965942566895942562055942500165942397215942389995942362355942239165942146505941836175941768565941758355941646445941334355941331855941269375940932845940846259405986159405400259402418859401600259400386159400052159399161759397863359396744159395914859395599159394243459394239593939839593929279593914855939063685939030725939029865938973645938953945938898095938849759387810959387027759386849059386620359384321059384224659383495938217785938051075938024845937990105937928265937926495937691315937643455937640935937331685937295435937128759370159559370035593693955593681086593643397593636035593625537593624969593624884593620371593611300593598002593591025935818085935790905935758695935697145935166459351545359351076959350570593503468593486398593484302593465794593463561593463435593445485934382805934300545933934715933835375933736305933724365933695525933603355933537965933403395933339505933171355932834359328129359327576959327528459325765059323691159322826659321805932149135931946859319103159318664159315943659315641593146235931411565931269965931256425931186459310272359309130959308188659307690559307168593039867593018197592989964592974427592973746592973607592960061592959466592953405592952971592947295592941220592933100592922091592913043592912179592902597592890587592885522592884357592866371592858464592857557592857298592855722592845751592837326592829798592826467592821655928189865927959085927913425927858225927715015927547305927515015927212575927168755927058485927038592685685926778059267430159267005459266705259266702159266416659265427659265014759264241459263452759262541859262063759258376959257752359256300359256076259255467259254367459254162059253445659251893059251356159250831759247592759245157592444502592440675924387985924383625924295515924204505923779485923770665923755375923722375923706625923623335923587395923476165923456385923452145923362015923197175923042545922964745922868345922742859227289959226966059226810959225769592252041592231373592216764592210915922031605921898455921874525921850255921660245921649055921564815921558085921468575921310115921181495921127085921112335921035795920973459208304559207934359207258159204928659204273459203696059203482359202878959201986559201486859199567591989533591953661591915802591915075591907688591883165918828445918587925918520335918001375917999459176413759176256159174770259173966159173441659172814359172685159172049959168778859168573591678353591677471591667153591665709591656811591637680591625379591622405916052055916029659159797959158874059158302859158125559156933359154957059154658459153372659152847259152674159152402159151739859151576059151533659151267659149699591478567591477857591468577591464265914614575914466095914445115914402295914174165914088945913999559139119259137778459137635659137317259136849759134160759132856259132262759132221759132174359131868859131314859130997359129934759128771591258629591233986591232408591226473591225719591223987591222978591193815911914225911780025911465535911333859112898159110521591091335910839485910667085910648425910542265910532959103843859103460559102924959101393159100369459100343159100041859099037590976912590971973590969909590965078590964749590945633590942425590937198590907717590899363590869156590810015908068855908059225908008265907913155907784425907568965907568225907511465907489235907456175907205359071082459067386659067210859067003159066114059066074590651421590649700590639185906382855906369025906181375906135935906091975905887495905788315905637015905606845905561575905548255905277985905078995905012105904741115904657759045008159044896559044885590444995590390979590390575903616359034944590347147590340977590340017590329512590296289590293395902899425902891295902882535902455295902393945902304875902289665902021445901941105901718795901600035901575925901512865901359055901332045901288715901271885901261065901150765901119635901100825901005095900879445900703035900442445900205365900125375900120345900002605899923858999128158998961558998772858998652589983975589971916589960985589960454589950939589946346589943455899392895899366795899153475899090985899069335898987705898763645898431915898414125898339595898253915898188745898129045897986158979262658976957558976778958974481658973748158973719958973486358973021589722090589720365589718230589717029589714329589708769589705448589681877589675415589661189589659377589645895896429295896415225896378575896299715896265495896252285896245405896223458961576258961124589599858959163258957672358956596858954699358954316589539884589536084589515785589515326589505170589497159589492406589487659589465613589450305589445794589443058943208558942901558941649758938339158937781258937423658936069858935906658935858058934240258933295589330915893225893197475893111295892945935892913885892849665892808345892802575892780575892737615892681575892552555892543815892533365892520358924915558923899058923732358923637658922402358922271458921465358921204589208465891911355891910885891897495891767758917633858916981258916939058916688858916044158915033858914883158914631758914395158913840658913318358911837058911549589113651589105745589091544589086993589071527589038960589031591589011532588994200588988679588986193588982261588981678588979578588976648588969456588958704588953351588938344588917250588917058588910676588896465888824065888615735888345865888234158881881588788994588772145887614705887530235887419858873425458872637558871727458871551158869351458869228558868655458866942358865376358864796588645511588631245886236035886187975886153858860985885893258858709158857596958853369458852358758852073058850470858850137758849758158848883658846990658846130958845382758844932588437626588418554588417404588415280588412932588391875883899085883831785883799005883794265883709155883701485883529595883428558834174588341519588331895883275585883185495883064165882867455882781865882596845882522158823839958822650588204368588192830588190125881895595881825345881657125881638315881609105881473458814395758814278958814063258813967958813863858813491258812337588122577588104010588100549588097558588087949588085795588072414588057082588054238588051803588018534588015778588015475880066065879862935879754605879657785879624955879591558795726458795695058794134558793299758791917258790459858789044158786307458785998587857043587846187587845372587843971587832669587827331587813731587809847587808458780220758779525587794575877931565877924815877871358778116587781071587772463587765392587763901587761520587756737587729445877289205877003645877001865876924035876666615876391658763886658763319958763202558760901258760868658759643758758090587560338587559875875531095875444035875343955874885758748769458748649158747906658745604758744762587425882587412696587402187587396186587389910587376925873730025873716425873685985873683058736313158735599558734333658734104758733874858730762958729884158729591958729196458728859587284906587281975872635885872570558722897358722882458722793958722753058722377458720866858720821558720708458716527458714652858714003358713859658712060958711705587109903587109549587101930587095004587065781587062515587058085870563525870536435870530425870397035870288595870199058701355658700227358695815758694781458694169758693883586932601586929651586876911586848408586838245586833591586825415586823450586819115867880258678502258678487858678376258678328158675649858675509458673690358670055866667758666188258666085658665827858664065558661962458659794586593175586592534586590740586588910586582472586574162586566654586557635586550421586500573586499604586497321586488925586486516586475488586457315864515385864422395864379458643078658642355858641510458640693586394029586388065863662958636309558636221458636028558634105658631781058631326458631250458630901658630564458629034258628658258627796558626701358625710586255595586245758586238245862344175862226865862204955861953558618318058617760458617750558615875058615585358614555258614223158613186158613086758613042558612968586126914586115915586113007586111050586107568586102526586095303586086460586079565860658145860414175860340195860211695860050258599683585994974585994415585985140585982893585979062585977184585971415585970026585969327585947950585934500585884681585878108585868217585866472585832701585820694585813676585801621585770753585761571585731355857289958569807758568768058568392258567912585678293585662588585653195856209545856109045856107905856026365856017655855783945855588725855512525855285858551173358551028658550969758550685458550620658550293258548806258548662458547732358546078585459595585454932585443056585422275854158375853857925853804275853765635853759265853723525853663125853447325853405265853211895853189558530352458529132558526872158526463585263830585261371585243199585242637585228351585223404585212332585211299585211115585204605852041795852037965852000575851907345851900995851869255851824875851822425851803955851797795851700158516559585160264585144984585144272585141789585139579585127949585109665850863715850822855850820675850773725850547235850542615850427105850413975850413625850374375850341585023287585015108584999906584994701584994258584968544584950840584944590584940963584921895584915305849037175848994895848928858489021358488681658487982358483691858482826758482672858482562858481359458480387458480333258480259458480123858479040258478332158477889358477303258476789584767675847628865847607125847478458473965658472822158472706658469938458468978658468907958467873584675419584662644584650059584643577584637371584623437584621872584617425846082525846042335846008475845721755845333715845277555845257575845235605845086015844993475844987445844917025844890795844790835844737815844635275844600205844567958445672458442009158441343358440645844018275843986515843842755843810675843767835843674965843368805843295365843211395843204775843183558431620658431247458431139058431043858430820758430680358429547658428122058427331558426192958425537458424515858424031858423520458421200358420965358420810958420735958420714958420052758417530258416965758416754958416505258414592584135793584125545584120886584115979584112045841107525841063765841057055841031775840885535840855785840814785840796858407279858405956358404933258403272458402123584003469584002210583993415583963141583953999583946557583939405839392975839066285839034158389602958389219358388226958387658583874637583871625583869585838646285838620705838606915838434565838372855838300558383005458382696058381898258379711583796176583776384583771436583768751583764945837637755837592058375463758375357258374589658374350583735115583731295837266615837246005836750635836730825836689185836422435836413635836311658363033583619760583616330583560193583541956583538316583531743583530735583513415583503955583500707583499996583484245834787385834756715834656675834427658342981258341958058340448758340229858338792758337585258335858058335755833524405833412045833377625833358758332374258331527958329926583294669583292751583287996583275572583272495832531245832507535832293785832232765832136058319737858319170958318222958317013583159721583141787583140038583133255583103809583083688583077699583060503583052646583037835583031355582972145829684835829624815829568515829132958290867358286903058286703058286417158286214358286194258286000958285470658285016858283794658283554258283380058282397582811808582809675828027805827939135827703345827680065827645705827604215827415225827366335827166535827159505826879485826849195826758175826307255826106615826040255826029358258286458256882058256715582559835582549393582546215825224755825135685824838358247162858243468458242647258242436658242092658241583858240127558240091582392677582380236582378006582370040582355246582348550582344045582333354582327131582322300582320303582315561582303504582290843582289895582279707582239374582238827582225301582218993582215085582214005582205089582193635582181923582177573582169484582149011582148015821441615821414465821358755821348205821332215821245825821123245821103425820994055820795465820749695820715685820538582044805820313485820266585820135265819599345819585745819536258195362581928721581919605581874887581845741581830281581788752581785659581784073581781674581780020581764816581758744581757928581739306581738303581728870581727361581725255817106745817023415817018135816905715816899575816847458168207581679545581666204581653373581641865816343505816322485816309715816182135816057045815700835815697555815639765815318758152548958151655258151040458150762858150463458149898658149659458149612258149496058149011858148930058148562958148385358148004581474466581473758581473506581459378581457372581448458143959858141721558140786581405140581400160581389393581352376581329733581304827581303947581294848581284632581270648581244027581228487581221246581212629581212265581204995812029758120277158120053358119517758118727658118646158118107658117109558117091058114227758112830558110001658109830158109243758108775058108610258107977458107928581068797581039506581034558581026214581018683581001527581000765809911545809877445809661685809640215809626075809468075809335415809326705809315158092581958092334758091879758091272580909331580906487580894135808875705808873085808782335808704658086957358086316858083543358083271858082236358081862258081272358080158858077834580774792580773796580765045807444565807388055807262085806644965806554525806524855806517355806504755806241845806239935806225275806060905805931858059285558056642958056259958055341458055278158054838058054595158053376558053227358053082058051209658050896058050334358048960158048931558048760580483197580481515580478820580470295804512258044601358044577858043230058043044558042254258042053458041338358041158758039607258039110858038177658037969258034686358033796758032610158032051558031834358031103580299715802864115802800558027726758026553358024590458023504958020598358020091458018178158017757158016129558015806580151508580138115801357325801346675801255755801060415800923735800913985800893075800792995800773545800764745800753985800735645800492755800420595800408185800382075800350755800242285800187085800163375800013845799483357994188157994171557993912357993569457993543057993038657992903357992646357991205957990961657990774579900657579892085798908535798790257987721557987018357985771357985705257984089957984031557982500857982178757982140957981026657980541957979601957979306957979089157978366579782111579781173579775356579769420579768357976133957976101557976002579753985797538957975024857974672457974284857974018657972695057971522257968881157968510579632608579632273579608098579605008579590181579589385795870195795853215795851185795843765795805165795674305795630855795467675795451725795439885795438457954096957953777957953737157953525857953492157952042857950997579497632579489215794887785794742275794738845794714485794678195794646195794640457945925257945287157944333857942706757942437257940804857940492857939234657939182657938795857937791257937418579361140579350465793371525793126875793108515793084615793068945792840375792834175792799415792773157924407257924251157924024157923951757922469357922430757922057357919987957919843757919263157918924579188767579177110579156449579152584579147435579135324579130645791281385791244335791029745790884605790761515790759865790755455790732455790702245790676185790463105790019155789954615789897055789825685789825557897212057896623557894007257893070657891365557891023057889610657888281757887812057887786257887096257886092557886012657885497757885007557884859357884827857883262857882575578821965578803955787863335787658665787550595787523825787442785787415195787379765787358315787137415787122215787038225786992357869813457869771057868862257867703357867445357866421757865413857865168557863367457862813157857627578560238578557751578557643578538197578529698578526385785227425785150055785148805785147965784906435784484257844827157844630157843816557843544457842866578423775784184175784054625784026155783894675783863735783858185783657215783615915783570415783548335783538335783473405783348485783312375783124935783090457828858578274782578274275578273871578272051578266872578266251578233903578221814578217215781899265781505435781375925781356785781352715781320215781236157812247257812149957810994257809880957809712957808808357807532257807514857807246857806078857805368578053030578051974578048079578047809578009299578000735779970495779941125779842457796004257794420577942527577938204577933399577923507577916700577902124577898208577894522577885746577881845778732665778641415778602455778343657778300557777926657777665777673715777614215777442705777423805777363335777349085777219577719843577710763577710071577706765776880185776793185776560455776536405776389315776382165776275285776167075776036665775639025775634975775440015775438835775291745775191755775129075775126685775094255775062857748634457748312257747427757746216357744410757742985774267225774210985774143215774051625774046515774028985773934055773810545773736325773693005773641485773624855773509695773490505773449295773337885773296965773270715773269875773049155772998215772828745772471215772410235772174035772040745772026495771959105771840905771835145771816265771720245771676157715483257714201457713350577133081577127919577127813577127664577121935771133577111451577097900577095435770938445770398325770340395770313115770274757698304957697729657695434457694095757693561857692991757692452057691774057691728457691385357690412957690036957688698157688638857688273657687915157686679957686243957685748657683749757682587557681179657679715057679056576787387576782644576779049576770475767506445767387015767337895767316495767310865767230557671407576712534576711544576692067576668364576667195576664096576640645576637179576623043576616357661111657660001957659446957657484657656027257655274357654694057653511657652832157652522657652178576521425576503666576500725764929725764912445764890675764869025764826765764613635764530545764512635764483035764066085764042915764040475763993395763978095763955275763939865763910445763793285763634665763606255763591785763572325763411757633938576336037576333299576330679576327063576322565763160457630883357629354957628644957628610357628450757625361576250805762501605762348795762344195762309457622915057621842576218186576205149576203103576194142576186612576181830576180432576177509576176480576174180576161764576160530576152210576146404576135291576134179576106009576075814576060328576059598576032275576016306576002207575996724575991451575973115575964783575956050575953457594104057593131575928679575927214575925537575913856575908325575902555758974715758641635758630565758585758334595758327125758236055758182435758118535757908725757857245757790415757715725757452057574307257572527257569842757569659957567411857566539057566027257564575257563066957561727657560227757558750457556700857555497357555318057554852557554230757553958057553742057552507057552299575519145755160265755158775755135205755116495755070635754989215754945725754912015754903205754771357546866575452735754465625754431155754398757543950757543837157543529957543249657542974457541821857540744575396524575384332575356152575341822575340825753346675753224765753094715753071557530252575300504575300425575298693575293328575278185575265166575260785752604985752442715752369945752356965752284245752158135751986205751949425751938555751858215751847125751808635751704055751420265751061257510077157509879157508941757508180357504726357503438557503262357502104657502077957501877657500876357499662157499579574992560574975219574971585574959035749562995749404385749399585749339595749280525749205105749204057489215457488819657488171957486924757486749357486062057484702757484224457483978057483893857483376257483332857483232457479514574786777574771677574767329574761814574740445574735907574734408574715468574700459574698867574695309574686455746721405746497457463357257462636657462050757461947357461324574606145574603449574591768574585265574576895745685015745651045745634255745412845745060715745025055744956805744888285744839615744702574466365574459651574453297574446493574426145574422773574415975744158915744060865744001975743872365743587635743475645743379055743371457433213957431943557430288574283888574278624574264925742583235742496625742404925742271975741983795741889435741884055741816195741768557417253557415664557412403574097284574072348574065513574065135574058350574052673574044425740366255740292005740168085740123295739874957398317457396754657396201857394925157394140573935423573924809573923376573921572573906639573897452573878405573875487573859721573846246573834443573825215573824604573820319573805105573784514573776745737738245737649155737536545737338575737243125736863595736623595736600465736409575736367657362913657360981357360582573596295573596178573584087573575134573573541573571023573569435735427495735345915735313605735305775735197835734905557348630257348374257346365857346261957345969857345812657345417857345243157342734557340382957338161457338061657337770057337643257336210557334622957334145357331523257331415057330280057328753957328321157325453573238525732330535732278535732255275731691885731607945731558675731518325731486905731463065731257535731150985731035985731005557308479757307988057307856457307573057307139657306045457305527657305265957304026257303002657302743657302184657301732957298846957298166757295640957294056757293414057293013457293010057290285457289991157284403572827637572824453572821605728164605728090157277517157276903857274352572737677572727144572723828572717555726846405726789735726749275726747205726720165726708295726569257265237157264901257264827572616865726156435726146865726055157259514357259070757257828157256480057256145572554620572553067572547151572531935725313185725089055724969757248654572485830572483555724654857243393857242488857241022557240743457239301572370702572367304572364204572347912572334980572324460572301444572292024572289947572278607572275215722750572270558572268842572267851572240381572240234572238375722226085721991357217150557216985957215358572137055721369435721234765721161915720968255720926257207363957205697557205039157204578457201252357200174557196718957195915557194410057193657857191973557189450557189130057188800557187670571873904571869550571866398571828459571823382571819632571799114571790121571782611571781723571767560571756205717484575717470795717454375717397065717301715717019457169644571694815716864057168067157167383257165959057164744957162024957161684757161185057160902457160875657160778857159886257157559571573159571572920571572294571571530571555879571550845571539573571531969571528507571512698571510396571503842571492905714764285714734545714729875714709157145565957144676571439505571431746571428429571417535714155685714072285714068405713913745713806757137826757137094457136975857136885257136860557135641457134543571337652571332445571332165713291555713146295712994975712690885712683235712567255712494715712479645712243957122285457121348557121205357120767757119348557115245357115020257114302057114037457113479057112928457112844457112043571118820571105478571101160571082945710673757106579257105993857105372357105255457104586857104028157102366571018925571018616570990725570946904570945715709367685709023835708892045708697570866049570856954570856891570825549570820794570815201570813765708108125708089685708078565707881745707749595707743615707709757075907657074541057074210357074128457073497157072579757071998570705492570705034570700927570694225706941575706820225706639765706616595706599575706511305706488557064362257063682570619633570611320570604096570603059570599915570597344570570145570565175570562237570522925570492765704835457048135557048099457047179257046948057046883570468021570455615570430630570417636570414087570405088570369615703689425703641585703443515703384157031653570307976570305587570296738570293693570292015570290208570279358570259970570259560570248322570217055570216323570205925701872505701817695701673795701628145701584095701521135701349635701289395701235457012337857011374557008158257008092457006645557005139757003936657002857757002487570023024570019101570018005700169495700128985700126525700104765699884125699717505699491215699057255699047655699029335699021615698828635698754735698691585698658955698562955698473405698341475698228865697910656978186569778858569775882569770741569770472569765076569764234569755089569748656974608569737075697323956971621569710423569691007569669006569663957569660084569643974569637566569634794569632755569629674569623585695984075695894275695813356957951256955195856952808056951033456947168556946678569450725569441759569437671569424643569420148569411953569410393569397773569377539569372304569353107569336654569335369569329950569311543569305814569300605692847445692744705692714925692541125692392595692392075692379845692331555692318356922613556922482656921979456921391756920648056919093156917701256914686156914235856914006756911516456911201656911184656910955569090511569070520569066567569033109569029751568993158568987496568981165689799355689576295689463856893048456892989756892980056892602956891385356891342656891128568905295689042715688498515688453785688266575688126765688063565688039355688033725687908895687645556876305556875293656875250756874258568742153568737530568721859568718705568716964568714515687088256870767568705835687058075687042775686958335686608165686599025686533185686462785686442995686437985686405225686237465686188575686060256860113856858205656858123656857843356857814356857744856856423656856387568521122568511979568493112568484917568474559568467730568455042568444792568413634568399547568399468568379721568375245568365205568364776568360715683440085683201956829950656827951456827892856827508568257299568253422568249797568245836568231828568215860568189516568183821568177095681561105681543295681501156814059656813901856811731356811168956811161456810643568102705680976156809718156808025680726755680671156805256056805109568050896568037346568035155680266945680126665680066005679720805679632135679628755679561567955729567938140567928685567927046567904155678942015678852105678804585678468765678412956783270356783157456782424256781599556781211256781062656780948356780615567798858567798169567795965677863656778059056776717456776464856773054656772698456772135656772009456770966567702271567694695676827656766768556766652567644877567644255676376135676295956762196256761970056760334456760078456759205256758877056754849556753637756752803756751248956747937567469030567468020567463904567463016567462385674611465674297956742755656741532456741413356738901856738504956738297856738113856736376056735637956733771567327671567316968567300162567299320567299095567292388567274217567257543567254411567252705672514705672492765672474125672433095672349385672274905672190015672171475672130915672009255672004025671855585671701585671666555671507585671467205671452605671317256712806556711382956710351956709970156708861556708825256708372556707820856707815670763455670537985670530285670505195670450135670421785670412325670286635670213945670082045670056856699328956698231156697867566968547566954389566952375669482455669363385669286635669256685669157905669098985668971515668870995668810655668643465668561575668517956684588156683522056683052356680623556677855956676648356676387256676385566756185667482315667378295667287825667105435667092356669735056669001056668756656668489956667321556667145566660315666564855666495756663907056663507756661628656661089566607498566597916566594057566590712566581860566565152566556739566550096566530453566529468566522432566510643566503619566503473566499385566497122566464599566458918566454335664483705664449145664447985664424735664305135664289975664277215664152635663706385663691755663336915663266745663194085663158456630651156630198856629990456628915756628187356628070056626928156626807556625021566247186566239396566208754566202385661991915661901965661848515661844635661734055661579235661532555661497175661494935661486275661440285661115255661072765661041545660991705660945635660911625660910575660893856608673656608286656608218656607087256607007256605504656605428556604556756603534556602702756601826656601275956599764856599418456599366656599245856598715659776405659662995659444245659421155659341615659295455659211856591860956591783656590645565901858565885571565884343565882142565868008565867576565862298565858409565849441565842050565832918565831685658264556582073456581794856581346656580659456580405565792054565785891565781185657633555657618475657612455657542705657537955657327125657315875657267065657238056570403256570316156568125256567686256565811756565654856564797156563972956563134556562908256562224565616364565599879565593335655848575655834656554143556552557456552275756550526565503626565501489565491609565490620565460562565460390565444951565442670565433291565425245565424386565421750565420299565415908565414895565406338565406257565405665654024815653953515653887885653874235653677135653460755653223795653217525653059985653012256529646565288113565286101565278039565277635652769405652750095652612385652578656525530056525354565252662565246468565243571565235957565225940565223492565217514565194626565193666565178496565157251565122675651139155651106855651106685651053265651036165651035835650994155650980275650970365650937356508754656508596256507826556507301565072452565048835650443585650417785650136845650098925650018505649990735649986115649730555649702956496646356496129564960743564957730564948815649467525649354065649273595648857345648771595648613905648518255648419756483664856483443556482050856481118356479681564794090564789775564788494564788317564785689564779091564761903564761449564757390564755185564745187564735793564725545647152985646934056468134556464483956462793556462778356461572056459955456459066856458315756455167656451896564518314564513435645032145645005725644712265644640235644514665644408415644360355644120615644094915644066875643717685643717455643616935643604455643543056434494056433480956430110556428310556428251556428215556427362756426443956426158856425417556425170156423783256422781564221418564218557564208535641865805641848705641517775641486265641277765641190156411297356411100756409224564091011564079308564072237564061921564011796563999131563987731563975940563966854563952276563939988563937771563935866563921083563902232563890075638662956385694956384434856384394256383393456382937556381733256380195256376793456376780856375264156374036956373076356372959356372436356371909456371303756368419256367453563673639563656656365329656361298656361124056357124456356555556356532856356397563556267563554923563544616563516912563513701563512325635089265634972885634833295634704105634648295634428445634292815634106625633982585633960175633878856337084056336306256336147563357470563347027563318369563307218563296290563293155632847756328375632799985632796295632705525632593256321683556319787563191855631818905631809825631628605631590245631488755631472656313136756312742256308484356308369563070062563069565630685556306502656305934156305745630565175630526325630518445630438456303818556301512356299579656299374456295841656294416256293449656293181456291035256287949556287552156287495056287147562869399562864029562859571562857653562840950562822620562817276562813899562807525627742235627642735627491575627440575627409725627314855627241825627189745626866656268514856267755256267475562635396562629729562622938562621183562601488562591894562581791562578538562577007562554085625393562532380562526424562521192562518225625125995625110135624951605624721965624689585624434825624286956242309756240480956240468256239890656239628656239623956238631562386168562377189562371545623692615623604295623438585623135565623094945622949745622890005622887855622787935622690585622656265622404515622264056222108356219155562187490562172394562161700562147709562143361562143020562132260562128917562125718562123178562113903562095194562082397562072505620647915620383345620251415620248695620170245620160256200677856198593656198299156196147856195700756193621561935835561924406561913805619043856190430056189738456186533056185168356184428856183083956183066561828401561823970561814357561814118561813055617878575617713955617659605617423625617356015617315385617117595616960045616632156166271756164679561640146561606196561599831561598289561586635615621025615523005615469265615400345615373356153408256153285956151573456148631956147833456147381656144832056144807656144193561417735614054695613926256135930561354305613430195613403155613383005613376415613347965613325756133126956132678556132598456131943356131155356130779561298138561295248561292760561292571561264086561261024561240426561231595612118535612097075611970995611874256118176756117250561172455611696685611501515611448685611393575611240756112245556111216356110582556110026956106907856105869056105048856103968156101824256101309656101162356099781756099424956096246156096092656093483056092664856092504156091852556091269456090726456090061256089449756088729056087356356086386256085899956084845256083425156081786856081398656080526556079760056079566560782234560759737560759431560741608560733608560704723560696715560694322560677138560673524560671898560671214560670240560669448560662976560657657560638965560629394560601257560594371560581185560570170560562609560548385605391195605289785605274335605095955605079456050721156050026256049570560493381560493070560490958560490562560489175604889095604864975604533005604470225604290085604229560418453560417245604103456036914356036108956035830856035630956033612356032604556032491256031127756030812560283387560272765560266817560261453560253708560253361560252113560239534560229928560221884560212281560199888560199795560195112560193638560188797560187897560170246560168805601623125601538765601530605601431356014227456014056356012215556011867956011809956010876956010721560096442560092135600876585600723895600629855600609595600499485600422825600155565600141085600086295600081115599847845599761955599731955996695055996039755995874559952260559927844559925506559908062559901858559874575559873970559872347559858751559856441559844428559843394559839797559838215559837441559835085598334215598278445598189555978143955976649655976279455975967355975833855974492255974183755973078655972064955971792255970682755969056455968554255966465555962139955961253455961022559609016559603265559599169559596466559595684559589765595861635595809725595717245595691355595463555954130755953119755952573555952405595139615595000215594920305594857105594764985594724915594689065594506075594459655943129755942910555942346055938817855938418055937106955936696755936035955934577955932623559323782559317140559311297559308884559306863559305203559300265559289458559283620559274885592717165592715575592675705592642235592641005592563705592478465592445185592444355922564955922141955921537655920371855919239955919218155917844355916892655916375655916311455915517055915370155914967555914586255914164559137945591323655913227559125748559123116559110455911037955908569559078326559068739559057280559037007559030505590091205589896995589780905589661725589595255894907355894426655894401955893377655892525955890670355889760558883180558879873558868100558867841558867069558865505558861261558840585588270745588223625588167985588094695588030555878545587811515587806095587727765587677665587393035587362505586970755869398558677030558673475558671010558656238558653436558647452558638661558629803558614400558613322558611566558606804558595680558572217558562665558559821558556323558546715585374805585346175585337825585336025585291645585215455585122365585057345584872985584644135584546995584435455844209455841750558416909558408985558399400558370454558362605583589955835560855835371455835356655835143955834510555833787155830804455828047558274664558267062558263142558253606558252903558237237558235458558233035558227627558227225558188943558187943558175196558164055816253855815489055815135255813813755811784155811487558114620558110419558104693558098958558085657558075025580613355805599955805454255804005455803174855803174555802022055800945555799742855799654855799447755798909557967095579653555795949855795498155795460255795320555795317455795149055794280155793933155793844557930774557930773557927349557925085557884936557882166557875065578692145578439125578422685578335565578233815578147575578056665577974145577946175577877115577817685577785535577433755577408985577407785577390105577384255773675577265235577253575577221845577221245576703625576624355576511815576250435576204315576046045576016255758720755758114755758014155757253155757079755756895575577135575471705575409205575352605575165095575136685575096605574961785574865955574851975574716455574676315574580995574548285574545355574456105574454175574208645574050615573994385573958055573930605573868865573866065573818065573816265573702825573665165573599635573110205573071015573005325572896145572700465572678505572653325572450205572443745572345455723150255723106355722040155721962855720961955720255655719515557172535557170255557159699557146771557145644557139351557110928557104820557103174557097044557086677557077958557073190557068845570591185570576545570474755570409755703798055703089255700709055699980455699575155699237655699159855696764355696228556956980556952920556950257556926140556920455556888142556885482556870105568626785568528495568508715568073935568040955680263955680040556791161556788183556788085567811655567684095567455265567306395567217885567045045566954345566847405566809415566769445566512985566420235566258815566254915566189055660943355659545255657283455655862455654806755654786955652661255650658556483561556478150556455366556446219556436741556425681556419178556418815556409954556393395563842555563662645563621245563600995563598755563378765563376265563357995563349075563344095563216615563184895562920035562699945562620225562465605562307615562259335562066935561849545561840675561726895561691565561688885561583315561270015561231855561175795561173135561136105560938295560911555560882435560799755607665755605059755604558755603306655603289255601961855600257655599403255599225255598785155598724055598299255597818455596650955593692555589884155589269655589131955588556855586584255584665055584510955584138155584041555817937555817168555803667555792921555780441555768245555766958555757597555756060555750520555744657555717138555715980555711013555704117555696188555688835556855285556705115556594055565485355565417855563676555623765555615581555610541555575690555558899555554733555546615555546187555542488555540247555524818555524135555135395555043025555003235554783845554712025554696665554599105554594245554574825554561985554502275554437305554374805554186115554048695553959165553954165553861305553841515553821635553719535553685615553564625553505195553388885553307065553304575553259715553135925553129865552792485552758755552463945552179195552111035551996115551970855519234055519223855518572255517708955516392255516076355515663555154685551474755551421655513349455510108055510063555509887955509415655509204355506421355504235855504148555499580055497811355497429755497405455497329455497137554960765549178455491034555490978355490762554866365554864255554863875548156705548153555479998455479333655477661755476032155474157255473848755472855655471964055471809755471774355471766755470659055469485554687955554681904554677395546726955546670845546667555465046155464546355464169955463125555463083655460351355457663554555355454838655454199055453695554535444554532854554521945545054595545046555448417555448341355447690555447652755444525544350265544328945544288235544284545544164795544045835544013485544009955437706655437543055436819755436154255435770055434750955431875554306942554298601554276571554276251554271004554263901554248632554247667554235671554232488554224959554224214554216809554187883554181650554178937554166614554163061554155835541193555410765855410082554093328554085915540516205540328665540106775540070735539926595539917455539896765539777455397190155395915055395104755394694955394652155393845539370275539327255539257365539048235538959035538383785538330455383206955382541255380795655379838455376164955376045755375498155374109155373035537229105537222255537173445537035615536906255536898445536850605536841885536747265536647335536587405536440905536421255363084555362768355361984355360293855359966455359102755358861355356375055353797755351401255351184055350591755349546655345985553457364553454951553448551553434953553426696553426121553425789553424898553419474553418266553407856553406469553404311553393167553384877553384225553380168553367357553356371553353610553347298553345557553343496553336543553328207553327740553288775532721445532682355323610755321868553207430553188458553166722553152821553151705553151269553133537553130325553126908553114815531132235531098075530867565530777055305598455304076455303505530324365529992555299539655299455255299203555298684955296183155293191955292511155292397755291404552872756552868040552864503552844458552808924552794824552778138552759127552758253552743995527421265527314125527287325527201875527123455269188555269061355268246455267199155266955552667109552654822552651764552643893552604911552604572552595401552536893552536272552520915552510237552502869552493967552488953552488227552481994552476621552468063552465756552457338552440906552428651552424272552415677552409506552399491552391125552380758552377519552374185523606335523470085523216225523029445523014405522982685522689795522520575522425635522335565522212955220828155220700455219264655216911552163766552159455215005255214874955214863552147293552136932552116542552112977552071036552070034552064970552047755204049355199346555198954455197964855196369055195452551952281551951315551950910551943977551934808551932905551928255551923008551894735551892913551891671551887623551887035518576305518553395518457325518438265518265715518258335518065995518026035517997095517986185517924005517635175517575455517510455174188855173692955172453655171702655170033055168275555167631655166038655165239055164588055161873855161715155161639355159434855156575455156201855156044655156010355154965155154786955153566355153365655153053355152196855149220655148958255148054055147984055146549055146549055145979555145331255143689155143232555142008551415934551400523551394220551391641551388043551360162551350190551346735551323210551316651551313763551305332551304473551303615551293698551286381551285929551276747551267089551253020551241015512111355512098615512083765511990105511946225511922965511579155511240035511193435511129595511079635511057465511050975511044755110033655109305355108406755107791755106275355105274855104731355104509955104371551041623551039443551033905551022874551019500551004498551001235509929295509870165509818055093790655093749555093582155093397955092691855092211655090129255089794555089369555087319755085684355085105855082716755082648755082641255081585455080950355080424555079597155079480755077542355077350055077167255077120855076787155076726955076542255073361855072251755070873855068870755068724555068080155067968550668995550656570550650711550617549550604058550604015506024255505996475505919235505906865505756115505739655054656855054153455053777255053321255051354855051216455050502455050436655048316855046555855046458550462902550461301550458334550443559550426444550424957550410095550404463550400482550395372550394167550393818550369294550358678550346534550332670550327584550326650550326405503190655030944550305374550304584550304063550299032550293425502905275502881655028752555027393955025988355025431955024926755021957155020508555020091155019375550171097550159157550125729550109842550103638550087109550068155550037633550033436550027090550026195500253285500252675500208215499990485499955499801354997941654997895054997821754997402954996561549957432549940580549917785549911173549909275499053715499003855498939345498917895498911545498730015498723654982954054982936854982244354981536054981139554980410954979413054978533754977730254977349154976833854975906054974327154974191854971612354971542549704428549686245496752185496734545496701525496695675496657635496615575496384755496349285496281035496223725496179725496092954960642454959036954958896054958836254958035854956952854956204454954205954953504854953022454952304254951628549512470549502740549493245494842355494708465494706775494701245494657555494634665494604295494485575494480925494343154942836554942273454941009154938143754937787754936745154936690754936670554936519854934624354932577254931789654931153954929592854927402549258414549256451549236334549233566549226293549225747549211850549188748549181612549161490549156085549143434549141569549127040549124805491161465491076025490970654909161554909094654908537054908519154908385754906262054905791554905505154903972654903029354902600454902573954899867954899038254898585754897571754897537254897177754894882854894626054894365354894288554893539954892415954892391254892182854891604548905655488810665488560175488216255488213495488207265488054115487988035487778775487755695487645154873990654873835154872959454870697254870132548671604548668855486658935486531115486521954865133054863667254863452954863149854862478754862382354860577548603484548598285548591630548588844548586300548580574548574954548550600548544663548534372548522683548520563548509126548508592548507545548497255484944315484880945484585305484532155484516654844883754842115484089045484057915484038354840091854839922548395730548322145548289185482636454826203354825758654825229054825210654825087954821644854818846554818012154816314154814931548111675480956645480887654807649754807125554804307054803867954803084454801127454797825547964345479454235479414395479345905479337895479315495479311735479299545479299155479034315479003855478947805478812554787786547870748547869673547857382547848403547813454779229354777285854777137554775563354774585554773945454773416254772068454770843547696255547690614547685917547680323547669083547668950547663273547662494547662409547655145547652354765177054763876254763760354763261354762488254762058547598470547586881547579719547558543547551447547550890547547079547543353547538315547537365475345005475283815475193185475128665475079735474991935474862154748562354747845654747584754745716754745392254744484547438295474231115474224575474169185474072154740587654739855754738130554737869854737567254736992754735567554735065354734316154731962954731946554728024054727517754727350654727092547265903547252001547249578547244184547241076547223368547186246547184846547182869547178342547161102547161054547135442547132535471267285470923285470662154705931054705166547050670547042492547034492547034158547024942547021323546999185469879585469829515469739165469734395469704154696617854694577854693908454693501546929811546920864546885091546872306546868753546856369546855184546852924546833758546832710546818281546817782546812660546802993546786682546782812546772020546760874546749764546744766546725155546721985546713913546700218546697853546686648546670272546667168546649859546628983546617315466043854658687854658191546576603546574973546570389546564477546556488546555333546533796546504610546501546497721546491837546478709546474546463306546455436546448625546437733546425895546417700546413333546400316546390331546381552546376699546373715463690925463681675463486105462953665462920735462899735462880854628584654628145462714555462575595462476845462442354621278154620690954620328554619126554617505754617398454616418954613607054613401654609935354609782854608872554608483854607748546076715546067005460645585460555975460482475460212515460175835460108854598798654598514554597479154596157545955060545954869545941021545914927545897192545892724545891415545873435545844654583580654583358854583051754582220354581503754579566254579344545785074545778128545766297545761054576050854575563554575559545745823545726554545723643545722432545705227545694300545668268545637684545628765545617008545615117545605940545601716545582599545581585455758935455454265455327145455321125455075485455053545495859545488664545485173545472949545456105545450371545436469545431884545425593545418975453900954537373454536218454532603954532421054531915453170815453149395453139654529329354528812254527330545270985452570085452566275452534445452256654519394154518577054515910754515578354514423545134379545130493545100435450933105450903115450757015450386885450364795450275454502269545019370545013993545012309545008904544988508544980362544968423544965548544946910544944703544936463544935994544935785449324525448908865448800745448772105448615954484923654483806754483345448317585448255745448222665448213955448116825447872875447812945447760465447591435447584775447577945447417065447288055447203475447201255447090425446867554466646154466419354464772754464607354463040654461907654461801854461760544614555446023705445961575445934875445807654456588654456561854455330544545399544533985445295835445276355445208845445091535445081735444874245444359405444257535444168575443841465443824625443779745443779154437370544362377544354584544348595443461125443386635443366725443188465443080625443039285442991885442941995442855165442780955442760675442751455442668965442458635442431025442233325442227735442210175442206385441927195441912105441330575441175954407183544037145440358615440309045440156035440086275439661965439363145439345295439248685439224275439166515439068125439025265438987755438948954388339854388178354387327454384652154383848254383645254382652554380577054379810454379637154376975154375715437564455437525305437506455437470535437463465437321825437236825437172795436954695436948245436932754369247454368403554367482554367418543663622543662049543660938543624055436145855436107554360938454360865754359029854358128543567732543559858543559305435583755435435715435190025435182254351319754351168354350413954350318654349006154348663154347992254346747954345778354345209554345043854344120954340839954340786854340638454339960554339230354336919543368175543364615433565515433537775433455465433426325433420025433395185433287275433179135433154555433121175433072805432977054325283154324826454324504654323753354323507854322164543211319543205686543194155431859675431804665431798675431790315431742805431673915431405705431348825431268875431266445431264585431221405431064085430828195430785715430762585430756345430591315430584965430459055430175154300784554300656542995688542993319542991384542981573542978881542977065429745005429590505429571454294747454294334954294141554293640954293345254290243754287873854287609154287534454284499554281125254281044354280834754279562454279406754278954454278111654276963454276899454276633954276519954276483542757555427512595427436415427368965427277025427268325427143854271038254270121954269752854269227154268601154266875754266458254266453954264164754263831542638185426268545426190675426176554261049854260568454258019054257735425577055425562055425533905425458625425003954249784754249634154249115954248779154248759954248700542480991542473887542462941542461467542448154542434975424300915424199905423792955423742285423672542362193542343026542331410542329816542329745423206755423199485423196715423123054227865654227038554226857154224287854223746054220111154217320754217086654216927154214934854212263154209513654209448054208510254208181454207876554205598154205534554205115254203148854197389454196671354195533541933549541932075419280354192502754191531854190843654189638454188862954188493654187754186207954186089254184921954184803554184306854183904354182178254181865254180923554179332954179325417866345417852555417743825417573465417487155417447935417339405417307435417300055417114115416874765416818995416765715416331975416322355416275315415973365415960585415907245415876995415803675415672805415606335415535054153986954152793654152776541517799541497369541490670541480089541464554541462820541460321541435164541426726541425815414251355414226015414183045414132935414117541405620541401148541394737541388144541379177541371634541345553541319361541290097541284972541251604541241457541239909541237867541237178541233751541228607541208785541206681541204377541193100541160253541157136541153666541152311541148311541148140541147042541145633541142105541127352541115557541108412541104100541068607541068525541067587541064497541064187541058586541049946541041814541033024541012597541010629541000327540994131540967258540953695540943207540941655540932455409300485408901815408882354087211540871898540864900540861296540858875408520445408407885408406755408310665408304335408264505408210955408184015408053915407710255407652165407585795407453454074326754073510754072487540717771540695425406901735406733875406716255406667545406546675406532575406524354064749954064235254063478254062484354061679554060683854059641254058202754058176154057717054057044254056796540541385405142095405069054050408754050331540502310540494592540487614540479874540472472540457285404571835404544725404403655404375385404362125404317754042841054040450654040134554039026354038829554038332454037987854036723354035518354033000054032182054032096854031825854029935054027665154026161954025704854025476054024718254023004854022159540199220540197882540181552540177438540174038540121755401133575400943665400889885400883875400877154008768354008567754008376154007864354006755400565115400559475400543555400539485400530665400499375400484955400482285400457235400392485400297655400146015400080355400021735400008653999661853998791053996104753995698453995281153992222653992202353989411353988587653988048453985468539846744539842914539838145539836553539815434539803777539802168539801311539782525539779720539774974539768244539766271539764652539759863539749291539745855397279753971766253970581753968116653964988153963744753961001553960751053960749539604060539597285395889635395798453957818553955931453953847453953440653952842539520297539513990539498122539495935394918705394841405394824655394823915394821195394675375394674539446220539443583539437566539437153539418319539414671539410600539407832539355702539341641539341006539313644539309328539271613539231225392073539176300539167218539162902539153240539123513539116465391113155391091015390870655390685605390607353906039539058458539047672539012889539007280538996653538979253897590653897100553896430353896182753896074153895255653895227353894969853894234753894128153893554453892322053890313538895015538872562538864827538836132538830536538826812538821935538820925388198205388157465388129685387868685387770155387735853876828753875463953873014538726673538721788538719145538709705387071125386993475386862685386687585386529953865051538647127538646243538645136538643795538642954538641149538637415386322353859060353858102053857442453855617538536700538520481538515453851013453850645538486395538486307538482465538479017538475725538464802538454798538450411538440842538438088538437072538428876538422370538420735538377376538368882538349436538338071538338060538321244538318125538300235538299835382962253826708253825969053825944053825935353825484553825062053821237153817474553816798153815652453815433453815121053814964753814321953814171353813334538123198538110842538108704538094883538089056538088672538083630538082875380805285380782095380688745380632753805083953801367053801333853801182453799547653795963353795503653795029553794685353794443153792075153791607753791114653789753553789636553789520653786377353785091553784271953783833453782231553778499537781301537777522537752174537732565537731749537726537537723803537711618537697053769016537688618537669956537640881537615452537609696537601484537587841537577712537569655375671255375489453753228953752352253752182253751793753751039353750639653750596753750516153749512053749155553747756853745372553744393153740041553739759753739178753737052153734537353734221953733063353732307753730641537294459537291449537276446537272263537258759537245285372433365372187355372133655372070045371862753717352453716666753714944853714599753713698453713171053712146153710095053708890537074062537068963537065748537064901537051775370455335370275135369993353699339053697993553697625653697594053697193353696765053696013153692849353691956453691310953689170053688957753688657253688650953688390053687507536874240536871667536867700536865230536864910536864888536844127536838503536815433536810790536808175536802725367878545367838553675514153675513553675504953674647353674255053674226153674081053672791053672785353671941753671928853671189153670550553669389653668105953667454753667023253664474553663408153663041253658190053658102753655763553655666653655432553653946653651879853651787553650258453648915253647673553645770153644859536444199536438471536437489536436841536436796536434716536434016536429099536427616536426505536416536411596536411423536390253536375688536373493536361095363375305363211355363161225363126825362955455362861365362829225362757075362706765362520365362221153621239353620902753619916653618383753616799453616519253616105536153849536143993536136552536133499536123592536123323536119641536117521536106374536081544536070915536013624536009753536002533536000044535992506535976346535971455535971381535965848535962786535947588535943863535935739535924375535921859535919897535911567535886224535881297535876452535873951535869435358470853584585153583989553583670453583551253580953953580083253578058353577630553577392653576259535753520535747951535746907535736453573345453572400853572272153571824853571153553570389053569488753567932853565611653564170953563981535636937535625552535623418535603215355986953558664053555824353554785053552982053552774753552622253550749753549777753549476453548568535464482535459985354599315354576605354549415354349105354104295354020615353876595353681155353481635353403253533569553533007653530505153530460535292185352915465352864053527115253526533953525346253525290753522835053521731253521219535206977535204606535198508535196279535189108535188895351733055351696365351694745351675535166851535160163535156413535155358535154506535154318535146629535143242535142933535138828535125869535121126535115216535109972535103297535102075350998595350903535350715765350573295350452835350327265350129635350020085349995925349850445349666865349550215349548195349483253493653853492369253491034353490254353489259253485477853484943653483971053483474353483438153482708453481562553480480753480025534785327534779411534747256534746046534739450534733533534722607534718930534717206534712314534697064534696993534683815346653335346632453464737953463947853463868053463808653463448053461670253461263953460828053459754953458174534575000534559873534553368534546593534542665534529326534528340534526589534513121534511377534496232534487175534482824534469436534468890534464405534458745534458353445777253443186253442926053441884753440772553440181534395708534377439534368305343165855343088805343013765342777065342677005342650665342582853424388453422147453421618653421310353420046053419388253417570653417189453416682534152865341433355341312115341230253411773534112730534109016534105975534103575340713295340656125340592225340445095340361195340324885339857753398545053397275653395794533952001533951918533950222533914805533913450533907584533906188533902385338700815338678785338409745338053405338030935337910405337832935337662953375210253375102653373943533727227533723009533722610533707857533700643533696578533696091533693083533692238533688725533684598533668875336631755336375785336361345336325955336212245336181455335899715335883025335814535335387325335253995335071515335057105334624535334260465334239585334216445334152905334105155334046795334037875333976705333879985333828835333570985333465575333454915333424915333332555333022345332934545332863575332627595332432595332333753322923553321781053321103153321031453320907053319894353319757453319503853318018453317189533166162533162075331524705331517025331486953314808053314508053313842053313115153312415953310791053308664853307928653306651653304609053304226253303951953303234853302452753301925653300770653299245053299233153297558053296138353296117753295550353293935153293485253290814353290406153289795053289505353289368653288558353287834053287592353284413553283653553283346953281744453281579153280174853279557253279297753278958453278304253278203553277676253277612053277087532762969532762801532747815327228755327222085327198555327115785326938185326859085326826695326648653265997753264574753260986253260426532596137532595097532592908532578607532577376532572545325723365325691225325633285325511835325367835325298325325277253251633753250117253248883653247866353246623653246038853244401453242926053241685553241198553239547453237643053236886053236286953236143753235984753234217353233367653232088353231586532311290532309558532300138532299786532290142532278740532271673532263623532255425322506315322461165322360065322280505322054935322049145321681065321666753215279532151860532134236532133434532129798532124985321242655321195315321179075320848935320535205320420755320298525320248145320235753201933953199186953198675253197823753196502053195652153195138053193751053193633153189972053187474153186715053186339453185755253185578353185502953184438253184400053182805153182693553182147553181393653181333453181172153180288353179374253176739453176708531765595317602453175939053174125653174034253172572531708485317034655316664405316579531649992531643745531640875316340055316319715316292885316225953161754753161523253159969531593525531590058531589323531585599531584493531581948531578052531570811531552148531552081531544837531535802531532186531519015531506961531482599531468067531466894531466035531451921531451575531445350531432195314280415314105695313905725313894105313547505313466115313450975313447315313409225313363445313071215312840385312821715312811085312763715312675905312270985312190953121889353120970353120315153120119453119389853116295311338875311291453111456653110200531098515310878895310803853106907753106109753105076531050494531044936531039475531034785310174045310131285309803465309786595309714335309592135309505935309091865309063115308963085308942345308708275308582025308465135308462645308341495308187105307945345307933185307807275307491805307434795307418335307358453073412853070926153069478053068895253067750530664692530651596530640974530606525530606425306040475305906705305892255305863530585425530582639530552401530549073530543353052023153050553053049033453048513453048486253048321353045398053044581053043389553043148953042347153042268353042065753041926353041866530402724530400601530384251530357000530347205303350935303268095303185665303092925303072325303013145302761555302707135302659875302645755302635625302524805302446375302439365302362395302311135302144105302046225301916165301899375301797955301766275301758955301751215301670530161540530157439530151526530125828530123694530113802530109213530104325301029665301014245300956605300913695300806425300802865300528685300503645300502205300134425300123095300082352999637452999314752999284529989499529977365529958449529955365299549775299263225299003952989865052989718252988695852986704052986655529860947529858638529849498529846762529826165298176252981615752981189752980845252980816952979303152979177552975667252974355552974276752973509152972808152969502552968922552968779752966578152965743852965668852962281252960765752959234152959087529581370529573985295680025295607005295592415295588875295569815295367975295087665295063605294970245294870452948060952948002852947693052946724952946658552943186852942955452939991352939633552939038552938142452936688529353545293507575293350852931176529300595292960395292792605292730415292720255292685695292647465292504355292435425292399765292200435292112965292060529203555292023715291975452918082152916538529163146529162145291220545291206095291145375291086105291057525291012885290989052909380352909257529092053529089437529084830529074604529064484529053329529052521529049200529047909529018634529015089529003804528992962528984303528983388528967842528960331528957914528953092528938905528916641528904891528896353528893186528872462528870452882630652882496052882492152881904852881622852879706528785183528781809528771135287686225287644085287620652873545528708645287014835286849465286699975286541095286134435286127595286021485285947725285633725285543605285443555285290285285248685285177952851172752851169152851021252850529052849722652849506528486715284795745284780525284715275284592775284583665284477405284204652840399152840247952838710052837911528378737528378515528375481528369415283589635283459195283455185283433445283351495283331585283323905283210335283086255282927325282823555282689755282683725282679225282636115282609025282443895282293745282264605282211775282151095282074775282040545282016335281796385281764305281753665281712655281663835281382565281375715281358065281240795281171505281102925281083905281059005280974375280787515280724135280668152806611952806406652805677652804741852802080528015752800906052799777652799357752797559752796854952795121352791904852790533352789199852789127952787487652785930052785712052784932652784655152782096052781994852781449152779475152778224052774807352773577052772755252768188752767968652767729552766337352765441052765275052763232527625777527598743527588682527574461527563232527544065527533826527522891527509838527499619527478852746995052745690452745542552745016527449549527442946527442767527440528527439945527409690527407816527407798527396275527371409527346803527345072527336054527301115527290736527286944527273968527266765272600185272523415272365445272343705272182655272141975272028915271903965271822925271768875271742795271667552715973452715567452715564252712410352710729527106453527091499527078713527074807527053445527051536527044454527017920527014758527012525269896145269881135269818895269812952697836526955701526954260526950075526944035269407805269387415269276925269169065269086485268911865268840635268799265268605125268592305268581665268487155268289455268276905268099355268047935267967745267933645267773005267670615267572105267496485267493915267480755267377095267277745267126045267020745266990355266962155266948355266930955266902265266834935266749615266538745266464085266228465266194355266178025266163455266133335265999325265918175265855315265843425265837985265550025265398065265316625265226475265182105265151655265028795264986075264863585264802695264677905264630325264553652644869526438655264223552641017652638972526387212526376833526359782526354667526353040526346573526335655263292952632843952632312852631861526309509526298171526295987526291365262827795262758345262588526256142526249576526244320526235210526233343526216515526192450526191608526175784526158308526153725261342925261089615260943395260812905260705715260468845260425025260305315260280565260231635259908695259686345259575995259529685259482835259466825259373365259307895259226005259152785259112165259080005259030005259029195258938665258416305258282455258083152579429852579100552578045525773680525773424525770168525757877525752805525738112525730964525728154525719766525715947525701171525688535256828675256826605256771015256702465256671605256632455256584365256539925256508695256443752562699152562427525609998525583815525563445525542734525527158525527129525521357525498447525491283525491189525489839525487091525476299525454171525445675254411955254369185254299015253971765253912315253828555253814485253736275253730095253573745253543875253529965253501025253438005253433215253422452532737052531795052531624852529312252529279052528763352528351525283160525279008525277505252700575252549452525072652524689852522920252522828652522142352522102852519565252519147452518947525177305251746252516929652516847752515855752514119352513137152511729452508779652508678652507475652507388752505870852504688525032962525030057525027529525024993525015615250029495250013755249992035249792952497488552494679952492100152491628652491536352489660452489544252486269652485967152485601152484965524830785248219055248145752481377524800873524793075247707405247651755247460805247448435247422215247361475247322545247269175247209325247143465247121435246953195246867515246587245246519445246498245246421005246416275246320725246150115245982945245741105245621035245613975245500095245273875245110835245091575245009875244953775244946895244900315244449952444452852443171952442042352440207524377862524370015524362515524358436524354765243536945243483805243356955243280095243232185242906245242862545242821524274724524272521524264923524235906524220787524203527524197761524190999524185288524178144524172824524171793524166591524162205241599885241558255241480205241442575241130625241076565241009752408218352405748524053404524047850524040426524032721524032034524028615240147645240085865240032895239788695239626795239604555239560015239492752394847052392403252390289052389713523896169523894139523887745238752665238714665238513652383398252382186752382098523813948523808870523788995523776928523775626523761582523760114523759717523758703523747253523735833523731446523728346523728146523727214523726349523724198523708569523690631523674954523672728523656531523648513523641615236317575236276852361638652361007352360808252359828452359462523587507523573595235727865235556265235306095235302145235230052351149523509724523499604523477437523437881523433975523429832523406049523401003523393581523381916523376042523328153523323605523319575232995052328738952327903523254084523247277523246945232414785232395015232331552322421552320594552320461552320346052319528552318559852317584152315890752315649452313269523127810523126035523112427523109107523090378523086028523084803523065882523056854523053587523036866523034905229856452297985652296420652295991152294675522936904522931875229317255229140005229123775228991835228871705228795752287361522867823522849275228391655228305255228238852281522652280721252279226652278930522766023522760981522745668522727296522726846522725584522720967522681715226778365226764485226724145226570252263228352262500752261287522599102522598331522593621522592032522573035225697952255443252255422452255275522540008522524663522509144522482108522472404522468284522461529522449318522445064522443071522440949522430298522410707522409523522401951522399165223852975223807005223531155223347095223288395223279605223263652232389052231630352229527352229182552228570452225965152224607552222294852221224852218611052218590752218232522177787522176181522174129522162129522157706522145375522124979522115132522105875221033335220966125220863855220828115220672285220605035220489855220448985220279952202434052200919252200177452199689652197995852197779352196915521955619521954883521951301521950892521942351521914466521912532521905783521904510521896952189258452189067852187841521868636521849428521832353521823302521820935521818933521814779521812025217841045217748695217641135217498115217391275216972195216906825216818065216764615216649165216586975216491085216407865216329165216313395216176655216144105216132155215935552159273752157920252156228552154012152153287352153263552153183852151613752151567752151331652151142052150455252149114652148891052148502952147411852145995452145129352144942521446631521434595214298852142251552142069952141631052141580352140324452139855213864435213827525213800452137157252136617652136385752133227452132277252131853521315216521283025521276421521272645212664465212608945212343995212270605212092185212010975211990805211971305211725275211707955211673052116264352116156752115711152115671852115339952114158152113561152109590652109502352108980952108923152105797521050938521041727521040871521039501521039109521036806521000505209948395209907885209887715209784945209748035209650935209255305209177595209066165208968005208961255208886545208851835208849385208572525208500975208400505208222145208188115208125805207986605207578145207532645207271520719561520705646520699233520697777520681215206604065206495652063588520632731520630252062906752061882852060519520602815205820705205755452057112552056979352056016852055058952054885852053343520523602520517939520509492520494770520490549520489777520486482520469632520467522520461464520456395520443365520440207520437737520432934520430063520409274520406932520403201520400712520387521520379527520376769520368244520365608520358519520357661520347695203444085203427505203208715203079555203059005202996645202753215202625925202616945202555355202403852023996952023870952021771652020566152020275152020158652017790852016753852016719752016298852015995752014711652013741752013252552012686752012082752011887852011783452011410252010130352009244652007838052007787152007419252007089752004608052003355052003177752003094152001556352000436451999919951999843351999411851998430951998197951998073351997530951996658051996192251995534751994852651994650851993848951990070519868725519864062519858238519858137519853510519849782519830096519828236519826356519798739519784330519782199519752137519737940519723505519723055197081805197044585196925915196859135196778955196649565196600745196561675196533555196452251963351951963304519604850519597914519583714519529329519496844519479493519469446519461935519447505519447396519446760519444335194392651943317851942598651940108751940052251939432551938565851937989851936799951936316519336215192992495192906315192896775192675945192587915192475945192419545192242051922420051922416519221752519213963519201105519200415191816245191784325191623245191609475191554985191360335191344865191328385191297545191226685190929795190773205190047351900452518996735189520445189460865189395985189365105189326975189185275189176115189061365189050751890136751889398051887731851886162851885915951885270551884825518846462518837267518835825518824450518814391518798618518792815518783758518783659518780639518748685187374405187332751873039851872899518723219518708480518692586518688121518686272518671655186494951863797518633644518633165518629760518619157518613309518611679518598182518586235518583894518562365185457351852662651852207651851966551851688518516729518510395184959625184694235184642985184463915184207785184175985184170965184145335184084535184007005183894965183725945183652825183613665183591805183570755183554795183551165183542551833909351832684951832223351832100051830663251830120451829770851829691451828231751827813751827802151827440951827255251827237551823925951823533951823369451823262751821033651820305451819437651819407518167930518157637518130253518122514518091032518073965180564435180563755180536275180439855180338435180106295180089745180034165180026345179952085179862485179774875179653895179576251795561551795073051794460851793764151793228517929773517921148517905321517903912517899344517880867517877152517875747517866515517866131517863027517849130517846628517842915178014035177910495177878695177716065177473845177467395177376555177278345177241895177239235177165195177089475176722385176518755176505415176499675176462965176352745176281835176162495176131705176070855176030395175934915175869065175697735175696145175591665175515905175512651755056951754081517530541517508994517501565174853185174802075174653335174605151745741851744322651740047451739986517393175517388840517385485517355812517352605517346125517332944517331834517312168517310180517285621517267665172624725172602775172456915172417825172252375172250135172218645172191395172165885172149225172105475172079595172078265172078255172066415172042015171991505171874485171861565171717165171455495171443685171278275171271485171092935170987355170910515170888965170817045170794425170788365170612685170502955170419265170279325170268595170125625169950265169729151696980516960153516955404516951405169455645169400815169126085169081795168913395168875485168618825168495575168438365168380805168167975168157235168131955168076155168051775168007551679763851679534751679237551678386451677675551676999151676910151676657951675380751674844751673653051672709516716124516713801516700814516694727516694262516693355166916445166852095166670365166587285166581625166566595166083851659262951658372516578059516570590516545082516533411516499929516499609516489362516480546516479966516459820516446973516446807516438845164338035164246465164147975164082845163936115163917595163788215163645785163590635163551455163530455163434995163343805163237715163092545162893405162639485162499565162466055162443475162349945162281515162214705162186516217258516190255161825205161818875161808665161753855161513455161456045161399545161228195161060885160971551609672351609383151608424451607550151607160516063496516051657516034045160229575160223465160215455160092715160016635159768015159752935159469951594526651593489151593341551592171151591761451591473515890995158903451587903551587231251585982251585669515846129515839767515826505515820501515803603515760759515759205515759117515736971515683616515667125156580865156497115156493955156453255156422975156395775156314605156110235156098705155899351557430351555834151551217551549162515481559515468930515466439515453979515448125154412185154387415154376655154094551540809515397423515392280515360969515351592515349321515342841515338305153274251531043951530539751529529651529190451528751515283424515276757515258536515229907515226416515214938515214895152144465152127245152100451518906051517334751517146515169606515163231515143148515142351515134930515115220515100254515082699515070455515058983515057555515054207515052833515052525515046173515026761515020971515016810514990222514978409514974125514968811514966598514964472514957715514956822514949651514947017514938794514935635514923128514907503514892407514890478514882981514878032514875654514875412514850377514840841514838027514835865148313075148243155148196751479654051479015551476128151476068751475514151475331514747634514742577514740565147020455146862985146827751467900951467292551466713151465296051464033851463582051463248951463229514615714514614207514613945514601225145952195145934135145863545145811465145798405145595435145414515145396165145387885145320515145264795145126565145125145008751448422751448213751447937251445229851444928751444362551444188251442735751442580551442306251441984551440918651438984651438282514381303514377928514347637514344823514344334514341789514330433514320491514318383514316990514313323514312073514309541514308234514299068514271853514265138514260632514245116514228079514214281514209367514188107514185445141841985141726415141361365141111835141072915140993151408814514087035514073223514060375140595355140228785140220165140038565139910255139881835139753865139661335139621945139554395139531751392609251391352651390000951387089551386379351386207951385724513853625513845519513841189513839071513835285138347985138314513828326513791956513789311513786848513781304513769475137619385137569625137566675137550155137348395137181315137101951370820551370362513700488513679855136793205136747965136696145136672005136632925136602835136506665136450951363116951362991151362640251362298651361540551361405351360300551357879051356812251356121513555965135544555135461705135449525135338875135124385134752351347276351344644451343790251342907513412988513411009513398751339407451337405051336621251336266351335965251335852751335621751335063851332769751332541051330169513291144513289498513276509513262196513260542513253256513245705132176255132128985132098845132040151319581951318369251317593551317085351315749651315324751313811651313233551311882513107835130779685130582285130581895130533835130512185130492005130414855130326035130312715130292265130152551297856151297614512969080512968224512955578512945749512900433512892551289102751288772351288754351287972551285071751284869151284206551282650351282359551281642851280126151279915951279035451278105251277857451276705151275877751275463551275434751275262951275171851273902151273752512719952512716399512692034512679038512672557512671067512663080512662150512659845512641428512616607512611171512598188512594782512578390512573705512572253512571860512569467512565593512564828512555282512545773512538837512521343512520713512489225124794215124650085124515635124390375124241105124063675124034685124026125123991665123843125123730351235975551235574651235375451234835151233696551232669951232574751231304351229348551228768151228363512280404512273666512271541512257662512237091512234125122341175122300545122025755122013975122005485121974205121892351214206551211579751208808851208756512082288512077111512076866512072638512045216512040584512028743512021165120201565120138151201057851200862951200263951197672251195220951194759151191615151190987351190750551190592851190540851189980151189422151189024511886433511878528511866247511866169511865977511841695118414415118387775118357551182111511794940511794535117942185117924415117906115117703555117632425117519485117514855117433115117274151172518151170343251169838551168450051166118551165918511658565116449985116152875115985725115867125115664145115653511556975115275735115265095115222465115182815114891755114685955114665925114556735114475551142568351140303051140136551137594951135919851134695451132792851132445551132212151132032451131989351131896051129472651128885651126433851123119451122182751120485051119320751119117751118435751118350351117924051116330451111413511111565111112635111011685110949715110914195110891435110748855110640505110601951105853351105164451105046551104406051103089351101690051099352051099068510983146510970652510966625510955240510938065109332935109206955108986505108844151087986151087098951086214651085781151083044951082868251081651651081352351081278951079513351079467351077127251074935751074465951074166051072867651072676351071004051069592051067340551066087351063794351062605351061391451060643651060434051060286151059706151059673951059322151057420651056591351055881451055654651053463510526545105187175105048815105003585104928345104871675104867335104783465104734351045069851044817851042916151042587351042425951040721251039054151037661551037306510349848510341003510338038510328103510285467510283209510274496510274306510256156510250632510245616510238551023609151022838651022401451019794510167685101527351012765251012727851012411151011591351010400510098202510087002510079649510076849510060690510060080510053383510037122510036154510027583510024850510017038510016610509998679509996521509990029509981024509967614509964830509964573509959596509955119509952562509949805099464235099337225099302435099157005099097095099073165099054925099043845098970535098939855098933295098932135098885335098879650987645050986701850985239650985199550984504350982674750982541950981000250980960350980259750980216150977147650976088509754922509754335509753488509745607509731275097224635097142935097078495096961905096924205096826275096800335096621025096455455096242425096161805096156705095990825095684115095673325095623350955801250955533150954427250953306950952221650952126509512411509507122509489170509474255094730295094700765094680875094640925094587715094547550944238450942953250941864450941784750941727950941514150941229250941013950940944350940868750940217950939743050939612950937989550937170450934829950934326050933776509331747509329217509328168509327935093073015092825605092745092733825092720645092590245092391635092383775092357895092273665092264875092249975092231945092098035092018845091891395091782265091720950915485509153585091504975091300095091117675091071765091069255091039925090631985090598385090408825090387150903518509032723509023515090205915089834685089822950898104350896806508958880508930593508923308508923218508897250888802508859795508858078508854026508849769508839194508832913508827899508817039508808508803053508769415508761795508752630508746605087258345087030805087026150870141050869921050869061508668972508668573508653013508652952508647763508643675086337195086303425086185675086123295086045050859220350858865550856779650855850854333850852577350852122850851662250851303850851145650847797508477443508469340508461199508453839508449819508447788508446425084454255084355655084350865084343715084187975083942845083896035083840515083839865083727755083555155083478135083454965083407655083298845083236635083077245083047485082963525082939435082817405082779595082704755082602075082548950824499750823560350823015082247885082100150820236950820073750819217150819108450817884450817618650817602508172081508153406508148870508144146508138440508126952508118915508079400508064222508061470508057677508054725080481185080256345080150425080124865080020185079930815079846550793861550791794507910578507894141507891797507880699507876411507872461507864350507864229507840873507826629507816625078150815078099585078059965078053725077957495077931085077814985077649265077639905077471950774654150774272650771872150770255507671328507664700507661305076500995076350150762997450762180250761485150761385075938585075890405075693255075673050755839950754515250754165850754034650753847850753786750752944507527865074962665074873445074631650746180150746076750745642450745139050744588150744546650744189950744089550743354450742095507408275073925635073804505073800650737656150736583850736061450735014507328195073057035072997505072978995072884685072871285072738895072675650726245250724690550723588450719326950718370507173927507173152507170530507168925071646625071603485071546235071539475071393015071384115071348785071284585071270250712469450711301250708675650707210250704268750702968850702877750702180450701341950701060150700898150695999750695561506953952506942444506942065069295725068975065068863145068860405068856895068828975068826885068742185068550506835120506809196506781645067750435067658275067629650675804550674474506743258506728567506707512506699707506695581506694104506688958506686050506666831506666433506665677506637939506634930506630960506628347506617406506594239506586151506570135065306175065286275065275895065196155065002275064988895064965555064853725064745905064719065064570065064424150642165550639473450639232250638408050638341550636908950636869550636088150636026650634839850633934550632162550631123350630860750626467850625351950623369150622011550621694250621352950621216950619765850619623150618466506182605061807650616520250616028506154095506118125060965375060824450605129506026279506020277506008549505995596505977207505965910505961419505952464505949208505925620505919073505902255058915055058893450587784505868741505867027505861556505854966505838484505816137505809447505800328505795118505780065057625025057492145057490155057451645057418195057414645057414525057384145057359855057330175057293105057205215057193505718557505718506505717791505704765057039035056890715056643235056619285056413165056410715056321375056294185056242715056226785056164965056034855055925175055851285055535005055361435055347865055257765054981385054655815054581765054579745054488255054474385054184655054125075054087645053967545053959250536656250536543650535908505344614505336974505331186505281546505264217505261283505243038505236884505236314505216264505160067505153539505153312505137477505131756505104774505090205050708725050706835050600165050588975050151285050041650500399050500103550499629850496644750494644650494397150493945550492281150490185950489602550489293850487885150484583504792141504790613504783968504779925504773614504768474504762008504748563504747327504733255047207545047195350470303050470018504668256504667522504666796504661879504658779504657213504656158504635416504622905046191945046011095045931025045928615045888450458884050458060850457127850457054150456485550455088750454660550451943150451491650451371950450910650450766850450305550449759850449615350449044250448646550448508450446252750445968750445177350445057450445002750444976450444540750444309550444213050444186350439955250439068150436888050436756050436438750436275450436009450435874350435015550433664750433648250433412850433227450433097050431893850431278550431221350429376950428452050427841950427701550424821850423022950422622450421620504195345041858285041671650416535550416360550415261450414970150413429950413382450412098050411924550411452850408731450407743550407729504076167504074740504066457504063132504045707504038063504032845040027550399382503993204503982820503955796503950886503946291503943435039269665039110245038737925038672395038652415038499485038483835038446885038431375038185765037996475037972475037884085037655615037599795037432695037231785037120515036857205036808305036595765036375650363390650362422250359958850359546150359078250358214250355813750354765050354429850352929150352603650351062503504819503496476503495160503492711503480318503478235034529965034512105034502775034469445034450425034235085034208145034173575034162215034117315034092150337294350337158250336464250335258150334867150332704450332638150332169950331394550331319350331276850330487650329662650328457250327898950327477650325684503247927503246638503218895503213637503202153503188840503176485503171415031697150316418550315970750315268350311617550310526450308093350305408450305228150304270150302909950302778850301974750301329950301112150300852750299848750299115029846215029384665029282905029254655029205825029178395029164965029163875028905175028841935028796545028621115028411025028162335028139335028111215028039705027977975027884785027650005027639975027587415027535275027524395027476250274725450274430150273252250273011502689571502689310502687966502686978502684711502680400502672795026705955026548305026509565026362615026236905026128605026071745026052050258816502572984502571067502567645502567173502556172502536932502536309502532803502529181502528286502523021502522960502519327502512398502500280502486159502484293502482850247643450247532502466725502456283502451730502436477502431259502429265024189085024181550241769850241438050241059350239107750239087550239073150238124950237751150236133350235415150235113502304837502274964502269580502267065502265120502256381502254858502250749502248704502246798502244353502238745022252815022117250219070550217949350217917750217487550217078550215629150215294550215076950212943550212594150209133150207930550207631550207390550204759650203754850203400502030845020224850202063650202002150200757950197581950195476950193985501937445019351275019306315019205075019192405019134095018973501893118501888922501886252501880706501871412501867843501859961501848778501839532501814252501797583501783029501774974501772173501770375017540655017525315017500175017372650172910250170913350170848450169849850167926650167839850165745850165405501652945016426015016414205016335705016199615016120595015942545015914250159104250157410950155425150153262501531746501524543501520780501514163501496195501490392501487800501485757501484121501482295014789325014780250145718250144039050143900750141960350141904250140820350140513350140282750138913750137465050137167650136704250135432050134624550133607350132750550132424501320683501306412501304819501292657501286037501284827501282265501273795012679265012349725012280745012013285011996775011891275011716045011609450116013150115751050114586450113358501120485501112645501110835010994215010977965010909245010901595010739650105046550103540250103487050103074500972673500948093500945750500942849500935937500929389500916700500912707500906093500904688500900703500887803500877324500876268500844184500834895008346725008178805008083235008083045008046605007973955007849165007783605007629225007617865007590635007562875007113615007050925006953325006937745006935545006873495006848405006835535006598750065894650065875650064805350064022350063598450063084350061898950060721650059831550058281500567361500550275500548170500541183500538935005262805005127545004964950049104950048107150047729750047401650044453050042535550037832250034881150033988500318985500315563500312672500300739500285802500261575002425450024234750023682350023228550022780550021357550020954550020833350020661250020345250020283950018817750018766950017999950016665500151457500144442500140885001276955001230075000984115000856265000793850007734450007538550007250550007232500050990500045938500031984500021064500007932500007684500004786500003189499964946499961050499939293499928113499923691499906124998996824998958664998799684998683149985922549984954449983366249982749349979871049979617849978070749977019449976151049975636249973866549972224049971085349970503649968591749967436749967362949966664349965927749965574349964233249964110649963906649963427849962019549961957499617236499613935499608974996071544996050474995989494995961124995944474995846924995828724995815494995345494995180844994780264994627049946246499462022499449868499445578499442643499423380499411937499410797499391618499374710499334119499322092499317499300794993006324993004704992999214992970784992939884992878404992854304992751654992697514992682614992595324992422004992329474992235654992175484992166549920970499205294499201764991926374991855804991835404991779514991662994991643224991493324991431014991203824990974649909085549907566499071828499055662499039353499037373499037112499032011499008165499000111498994094989815484989725754989712564989655704989628664989618964989528014989459694989451874989384194989266564989195134989177498910701498894863498877054988745634988647849884858498834207498828735498819981498803254498802638498799915498798919498794750498782620498782354498778937498773322498760455498748759498748087498745944498741051498721080498706364498688094498683449868235449868137649864067049863855849862982649860860049859797849859472549859373849859339949858361349857292498551798498547854498547669498547344985449164985374054985267649851800349851134498511110498509294498498207498496131498489047498487664984540749844650849844398249843058449842453149841601449841209649839242149838779649837845449835426949834924449834377449834007549833197049831870349831815498312383498311507498309673498300490498296988498292347498272109498250019498247244498236774982313994982291104982073204982009449818772649816411449816143649815614249814985649814933149814762349813792549813076849811392049811338749811051498110114498098039498090927498090202498086171498082408498054939498044987498044637498033267498011132498002430497979477497979327497970333497965414497951770497939423497929291497928040497927865497918403497910134497903934497897055497896681497890540497865923497846393497835635497829454978253484978179849781516497807605497799394977618264977563654977479149774371149774181049773784249773411449772804249772502049771298049771277449769635549769557249769545949768578049767444949767405749766926497661255497648404497642422497640479497639044976372324976301749762236749761836349760131149758928049758599497582817497580195497562894975613834975586914975537244975502604975450524975376394975345964975290994975286794975203814975116374975110349747557849745858497454109497452308497443317497439339497422661497396002497394070497394058497380620497367854973665184973601794973406349733770049733719549733072849732984649732493497320219497319820497315497296732497296069497286027497275669497274866497267314972517484972481894972413784972306034972197214972136649721021949718310949717659649717624649717376249716659049715752949712328549711752149711224849709748049709094849708576249708349449706993049705901249703167549701555649699828149699700496996114969933234969860504969760949697397449696760549696628496930167496916448496902287496880062496878884496869654968510274968482794968239374967996614967940124967773124967744584967716624967377344967212954966995549667588949667086949665128549665007496636687496632963496631496614087496607507496605503496605480496603920496603836496596071496594026496589114965789714965722944965569604965545644965452564965419649654077549653853649653455949652979449650550496502371496498654964955584964846874964840754964831214964796594964673634964568424964523024964468374964425864964402404964314914964276674964204714964195564964047504964044054963973549639489749634218849632086649630782496303567496301328496295977496295915496253152496249839496244409496242475496217829496204492496204447496199942496194121496188439496186857496184070496167554961537649613770449613350449613334549611052496110315496094730496093627496090616496090068496052762496052394496051401496048565496021445496013722496003076495990670495984969495983256495976131495973745495971794959609164959476094959429484959425194959305604959260984959232149592001349591285749589560549589517349589476749587321349586699849586503149586054049584473649580451549580397049579805549577301949576851649574457049572981495720754495697150495694855495691684956848904956633734956349694956268754956162949560522149559711495577212495571620495548602495523233495508678495500764495496001495491614495489815495487758495474524495472724495463189495455068495452533495443610495430013495424168495421824495421302495412194495407176495404350495400581495392424953862949535803449535139949533892749533241549528528149527032149526474349525317149525059649523877649523771149522029495198520495195436495183529495182218495182008495173364495164635495156847495147878495134266495133398495112890495109270495104324495102736495100432495076629495074213495071474950644984950643404950594484950437674950424949503399149502513349502431949502164549501760049499808749499171494958653494950232494946278494944787494943850494927561494921490494904815494851325494843434494841879494824923494816094948120849479834349479036149477679549477475949476424249475539849473905549473012549472390249471878149471626049471006349469844946887644946825349467510049466097494645274494631419494627158494624309494617714494616909494613021494606525494591906494590442494582244945706249455634849455137449454565049453732949453502049450851649450426049450098149447966649447750749447367049445802494450303494442114494439518494434819494421691494400765494400644943979574943826484943776834943708649436387494355911494332383494324515494307040494306991494297689494286365494281244942722404942676814942676774942660714942603614942587514942514054942491734942121249421171549420860649419828849419764749418821549417996349415714049414792949413729849413728549413419349412516449412454941205044941132884941081684941061374941004349408882249408571149408401049405932149404253349403898349402702649402318749401554649400301849399028749395632749395170549394372549393048649388807493882947493865542493826541493813996493810997493798646493795001493784253493769930493758965493753250493751301493741340493729074937287493698948493673355493663395493662140493630777493626036493618656493615955493611395493610623493599284935857604935817649357980349357156493570226493566472493534853493524562493520266493514474493491621493478975493464134934454694934354934017714933931454933812774933761674933678493349379493348834933482534933383034933378284933371434933266254933174404933161834932845349328132449328072749328057549327284932482454932412714932355664932328344932275174932195954932056394932033114931900734931827744931816734931773864931578914931575864931235594931147064931083044931075154931006814930787814930750014930702144930456724930446349301660549301415649301268349300755249300481649300278549299906649299874949298186049294792749294183492939679492926147492911677492891545492862972492843295492841359492820024928060614928021814927953234927821484927713054927646964927578044927300094927239674927165054927040854926998784926574264926478404926459024926232294926174074926162264926043204925952704925919644925787494925670314925653314925609674925537464925403974925400634925166864924858844924752144924658154924609184924600524924404124924302804924171124924128034924086624924058674923953074923945514923833594923744154923580864923473354923444524923439249233196149232520949231162349229381549229008649228810949228713749227054849226615549225896449225030492236134922195254922194094921997514921876924921858094921650334921626294921624844921471214921454344921421764921373484921335754921263864921257274921155154921041214920965834920925149208564920844494920815664920680354920331504920036574920017594919957644919936744919646149195453491954383491944738491943219491937724919339384919147094919120274919097744919056249190171749188833649188312149187338949183890049183682491820774491820176491814604918127074918017844917931514917885214917620249174424949174352849172892949172835949172502491697076491690664491676145491671644916636049164901149162945349162564149160946449159779491557128491549480491537376491533144491527690491516561491515030491492584491488147491467426491458496491454504491442615491429611491405867491405366491401079491398636491397053491392811491364307491323006491322470491322416491305874912660674912425754912261144912142044912135694911980914911949514911931134911770094911728284911699104911681914911461574911219144911133249110844949110793949110522549110039549109122849106725491063687491063283491051409491045554910279404910237074910151474910130884910113749101006149099434049097724909378864909354274909246744909127894909070049089714749088457749087614349085249084741749080066949079386490790844907738044907711204907669814907541714907533084907520354907425249073631949072402349072033849070543249070365849070300249069602049068680949068193149067467349066892749066709449066503249066297849066180149065822490643602490614549490613669490612764490609482490607033490606180490605124490600537490598389490593358490586254490581247490575956490560761490559024905307554905284964905240749048991349048981949048584904816864904799584904659544904651864904543384904434264904343634904238264903959344903907749038485490375306490372184903669049035567749035319849031616490315790490306937490302364902892144902487754902458749024098749023585949023045249022352049022307849020270149020167649020124449018763449018228349017567849017463749013798549012727249007924900685334900558954900549044900512754900450994900446149001424489997438489994894899870864899793864899654604899423064899251954899069694899036244898932564898930384898810144898626548984421348984134548983943248983490648982429448981474489796773489791948489781555489778205489771772489737029489731704897303284897200489712065489692784896802734896711948965542548963513848961242348960712848960321948959052348958912348958796748958763148958576848957944948957302448957010348956964048954222489535131489523993489514548489510986489498148949296648945848489446189489441681489432766489416428489416096489411872489399422489399044893946014893686604893466594893461314893220654893203664892758374892623934892575548917935148916806648915336648914733248914715848914125648911889248911416148908874648908704348908515548907721948906618748906419548906209548906192948905761489046082489044931489028871489020427489008640489003392488995790488986268488971023488952595488943704889296214889271534888949948889468548888022848887946948886875548886531348885309948884831488833432488831988488830104888277748882338548882255548882066448881456148880172748879691648878574887792034887633548875813848875731848875602648875394948873807748873804488737356488730245488696688488693909488692504886837494886828724886671824886629488646913488639648863014885591048852701488506103488504788488503948850201348849539748849263548846376448846141948842811948842524884116448837615748837365348836778848834557748829701548828390048828039448827527248827494648826217488247251488230931488224129488216770488210147488206439488205125488197365488197161488193304488160268488158016488155531488154664881488834881438484881307824881232254881061484881002488094956488060064488053867488053573488037514488026554880216694880110404880092564880046814879979054879893234879856304879831324879827364879815364879775904879728248796682748796646487954341487912677487909725487908130487900189487889902487886521487886496487885145487879455487867677487864237487859820487854083487849780487847468487843759487838238487836662487830497487826272487818206487816448781427148781253048778504948777802748772149948768048348767826487677566487676299487662559487654599487652794876420334876381194876364864876297248761828448761622487615588487614923487614850487612442487566814875590487558004875450534875382094875364194875318804875282774874799624874765584874725384874725294874704274874432224874274404874228248742152848742045948740643148739537848739079448737005248736436948735992348734096548733486948732638248732098748730970048730718148730121448729681948729175148729074148727671348727415448726982248726225548726152948725766448725445948724560748721230948720953148717160248714335048713410048713295848711796248710261748710151748709632487080654870672414870652614870507254870335648701289748696534048695257248694958348694774486929682486928409486922190486921870486913135486892069486887247486885477486884061486883161486873790486871817486861753486842584868340294868210884868147214868033684868007864867989994867788224867638348676382948674291648672926848672354248671819348669948848669853348668038486664594866588404866570314866481544866349814866342414866333984866330944866313144866304574866209194866201554866173334866172564866136064866058704866051914866010194865880714865838648658144865721248656709448656674348656411948655955048652836948651076448650748486493779486493282486482583486481418486480712486473618486470784864638548645513148643996948641922948639574148639432748639268048638666486385690486382366486375274486370963486351013486344636486341162486331869486328221486328050486321504863203094862968048628899948628263348628157948627732748626963348626718248626512486264159486263587486262504862564964862538504862500184862345044862317548622895248622717348622203148622099448620804148619592748619392848618459548617519748615201748614857486143481486132676486123170486115918486083494486082269486072924486061281486059409486054996486052537486050581486049282486043153486036248486019807486014608485995279485990792485980009485979194859587904859585848595099348594327348594047248593719448593044548592615348588559848588503048588252648587856648587148586780485862361485853903485849236485849010485827264858162134858083144857929994857927264857660704857589924857559804857435004857387284857346684857199948571960648570568948567745448566054348565637048565511948564738248564737148564177148563776048563439485630542485612928485599598485591227485566132485565901485546974485538985485537083485527279485526980485521553485519620485519075485511644854815094854797774854640024854624414854582324854479884854467924854452904854380485436654854112654853818314853805564853652114853619524853612084853610514853590894853548374853417354853148164853113248530050848526925648522534648520347748519557485180127485179557485179408485178477485178390485145542485145045485139041485137940485130932485118246485114084485099479485095248508862248507536485073674485069431485064206485063564485062575485055304850164848501450485010790485007252484982287484977206484970044484959008484956164849506194849432884849419574849204074849184784849181934849088564848971574848691448486275148485956484851364848507164848481454848411448483247748483033348482597648481779048481387484806801484795366484793838484787864484778635484774821484774357484767377484766332484762958484760694847547364847514224847464784847388704847361984847331324846709594846583024846577934846303334846271174846222554845997534845786094845754524845686764845292394845228464845117248451163948450938948450067848449355948448755248448189848447463848446828448444909948444166148443124248441074848439322484392663484389105484368337484367527484354446484352205484334254843332084843098674843076664843048274842897574842828248427055148426642248426349848426034048424614048423759748421242048419565548418460148417990484169880484167532484165156484153191484139304841275794841144344841057904841006748409627848408724448408631548408597148408307484056662484050172484040690484040539484039287484036156484029364840125054839991964839834314839812484839742964839428544839419424839407404839326744839225144839209734839201644839133464839054744839008034838984884838946254838927564838865204838858654838829048388209748387547248387333483870644838595524838535264838499764838492874838308054838304094838227644838083204837960294837793674837726854837707904837619254837612034837598014837575404837551164837441594837387848373623948373209048371203848369917748368223483670553483664748483647561483612965483606512483599484835944744835861344835810464835652548355827348355619948355413548354106448353751048352249948351704348350513348349948848349426448349146648348513748348374748345952348345781148343698748343219948341090148340786548338741548338612148338165848337329148335304948334637948333765548329245483277283483266733483253824483243192483238258483227231483206474483200079483193804831934284831794804831778084831686494831679914831679434831620664831500714831402964831398914831249304831198944831149024831113548310235748308773048308404848307015048306628348306096483038606483024980483020917483014080482998488482996127482987997482980574482970758482961065482953819482943997482928891482920727482919701482902352482885034828830434828773844828740974828711924828678154828644044828562664828494694828432374828398494828281664828226344828166314828072904827956744827891984827758164827715754827704514827428544827348964827287574827286244827228482717404827134294826832654826830684826810004826727474826644574826532448264761348262903548262136448261445248255743482555279482547424825377134825347034825342144825268434825240164825145364825079094825046894825002514824764034824711214824532124824483348244777482416423482389750482385144482383998482377446482376520482369863482364184823413454823020904823016564823002024822955324822848954822815664822713064822645348225776948225237348224899048224348948224149548221887448220247148219499748217689648216956448215622482149293482133271482128680482124149482120116482108845482088585482083144820816074820712094820687754820435224820129254820104348200908348200061448199577748199564448199557048199395748199145481979519481977494481976911481946345481942386481936614819282314819245948192342948191820348190588248190087481900064481885237481849443481849350481833807481823797481817665481807693481801184817989224817953064817894884817799724817527464817523848174623048174454948173964848172536148172387948171730048171559348171298348171040348170819848170020848169824048169291348168130548168014848167972248167686648167156048167072848166724481652139481650738481649933481639897481638923481630334481628227481616109481607603481606722481602812481576839481560977481547590481545945481536753481527498481524017481513639481509907481494685481474233481469164814533948143096148142764814244064814082774814044984814031214813940044813895804813887574813807464813800644813719604813669348136132348134072848132131648131936048131499481283413481279989481273376481270429481241664812328648123169748121953848121676748121110348120887048120813548120394048120094148119316148115725148115547481153831481153384811397854811327344811283924811219504811143834811112534811083694810975514810940414810884594810854948108046448107525548107269248105124810460664810409784810406481039150481038945481037712481003185481000502480996035480984676480978084809564994809405374808964884808842434808765814808625544808403194808305844808264374808230304808151144807953364807904074807836794807785494807765664807661454807558254807448214807406004807328504807143494807108424807006344807000534806962344806896624806894484806772334806766134806642348066064748065790848065441948065247348065160948064817648062681548061892348061082348060797648059975148059762948058569048057382048056929648056362248055209648054861148054739848053317148051755648051260748049974248049895948049626448049284848048954248048341348045144348044327748042083480415964803897804803736334803706424803686424803678644803631874803623044803456664803230034803202394802971354802852144802706434802621714802569854802542634802391934802076104801566634801529124801493614801252224801247654801235884801212044801199134801097544801092964801004934800801934800594854800502948003504648002284948001332647999871479989700479986402479978738479975624799454884799386314799371974799288104799189794799176554799123744799059247988932747988635479885344798716364798670804798504147983557147983090347982671047980992747979971479797774797974554797933534797693664797689244797635504797634334797432054797233414796996784796991664796811214796769284796601904796507334796348694796154054796069484796019944795897554795866794795781014795776554795750647956433347956264447955760847955682747955253047954733747952998047951365147951072947951005479492325479490010479485296479477904794774147946635347945841947943709447943345447941885747941799347940087647939564847934648047933904947932597347930879747925824479239167479238848479221555479219734479217811479199049479194243479185341479149124479143414479128928479091647906887447906665347906049647905931247905879247904223447903323647902464847901685547901148947900302447899530047899066347899014947897260047895019547894942047894933478943344789430764789405984789402794789377478932247889454247889010047887306447886975047886852447886753847885408847884745047883373347883027747882738647881178147881092147881028247880568547879382478790962478775088478773311478770505478767724787661894787595614787455704787395124787309264787068694786986424786961524786865344786717847866001647865379347863935947863274478609914785917094785899674785779014785766664785685034785586924785545114785419824785393354785236344784951674784870164784710834784654914784469174784214024784130484783870324783851647837703347837143147837088647836871647836758447836077647835346478351528478334516478326569478318533478312804783100254783084447830393478279630478276145478265838478256495478253639478244471478241347823515147823033147822900947820997847820046347820025247819943047818853447818484147817823247817174847817164447816799047816775847815561747815115478148531478147322478137691478120521478119795478119322478107214781003444780977347809403247808871247807774347805504647804091747801631647799806477995171477993820477992210477982818477979901477977297477974391477972536477962994779591147795303147793933847793890647793799347793744477921054778930744778874904778854064778736424778571044778531414778460074778438504778378747782696477823287477816175477812914778113834778066774778066074777983204777954484777787147776649347776358247774608747771918247771130847770688647766213047763683247759953547756269647755634477540729477521583477521096477513604774722304774571424774422414774322904774226674774179034774120304773974534773880174773839654773807664773776644773600164773502974773474504773430264773386734773297444773278074772894924772695244772685974772641294772637847725542747725367947721012147720010647719645347719152247719136947718939947717661547716618147715911047712084247707947347707548477068100477059467477046594770441754770424354770416504770304004770115974770020954769952864769894704769742374769523147694345347693576847692185247692070747691496047690398476895766476891693476891004768898147687072247686777476858754768565947682987347682609247682516147681868476818477476817414768027844768026244767960154767871864767724634767690774767575247674670947673676547672719047671978147671200547670109847669897476697174766713476665191476660811476654240476653498476601999476589124765791504765776424765625804765315874765227824765192114765135244764976694764945924764925034764844874764725394764706094764654704764643784764586047642286947642135547641813347641734247639324763899914763792714763791047635934247635875147634752847634683476339629476339191476337989476285696476283460476283056476281491476278438476277900476271514476266775476260102476240911476225076476224292476224186476222277476203890476203557476202286476196175476150047476147948476145533476141782476135066476117414761090034761036654760883134760638124760381684760341774760341044760267634760242924760216674760191774760145944760088664759946744759900864759876994759858354759716734759692064759677154759640964759498994759393194759283634759141964759075947589446847589330047588297347588007847587903947587729147587714747587550547586581447586074758586644758501794758436324758314184758096464758012847579984947579550647578470247578185247576971547576857475768110475766714475733775475732969475715929475672571475664144475660152475656499475647573475635644475633794756303444756198544755977964755908174755726964755725264755691947556905047555279847554168647554012347553901647551617447551302947550637147550100447546897847546175247545839747545467447545153547540126147539717647536166747536001747535823547535138475348347534725047533921447533262247533014247532205947532203847531601247530434147527084447526002147525658647523873347522226247520870947520738475203836475202998475187613475165342475160529475158464475154294475135333475130243475118948475110880475101539475092204750889447508611847507401447507256547507004947506694947505713947505333447505051047504498147504168347504118347504072247503569947503351947502680947502551447499627247498998147498828347498443547496638047496212447496189747495269047495226147495058347493155347492383447490672347490469547488854447488487047486930474847114474842800474831461474819669474814910474792517474787924474758751474758415474739036474731998474709242474698366474695224746893447468207447466229447464671947464197647463656047459467474592992474576491474572514745639464745618544745570647455621474554010474549049474548825474544780474541151474540772474529524745153904745122704744892064744790274744739414744665384744653244744610494744593847445435247445096647441279747440754744004204743930154743849247437050347437009747434520474326934474320939474314134743140864742884494742833884742625644742537694742151947421504742143084742062094742032204741959454741940447418401474183452474179780474174021474167647416162474156464474154423474147038474139441474123430474122210474119355474095711474067821474042416474034217474033154474026288474014864740058434739984704739926947398168447397745473977368473972828473972575473964737473961447473960696473958022473951456473947784739453624739310414739255654739137347391159847390977647390391947389461647388630947386746247386404047384982147384404647384337547384273473832843473831537473827933473821655473810224473804174737724264737665094737428394737406864737159294737115734737104547370943447370397147369592847369072447368130473681143473669327473649632473647739473646584736328954736231514736212644736177034735940474735862864735860324735552847355453747355401473549478473543469473538114473536733473535597473532604473526843473523242473475232473472889473468488473463361473456965473441236473427922473421429473421408473406927473382007473376588473372089473355260473346268473342234473340204733373154733321004733151974733109184732959034732775154732757147327094247326997947326650547324896247322089147321425247321049247320225047319561947318918547316999047314512947314060047312649847311807947311151347310970947310641247308506473077153473062146473056044730393774730389544730290184730251124730226934730145964730060754730036404729988914729834904729782674729721454729720044729654334729640047296153947295232047293467547291137647290514728937394728761214728405904728336004728146114727948864727929604727921794727875384727672234727562334727521974727321347272998047272738547272372447272068547271482472695745472684340472679873472662968472597801472585907472578847472570562472564068472542317472541774725265904725202504725188094725134794725046304725006047249774447247160447244533147244321547243023847240072547239237147237808047237278547236891472358984723400004723178124723144147231205547230158747229374847229262447228574847226897847225506147225237247223676347223358472230767472226359472214089472213474722123472175986472172676472172647217203147214409947214081247213154847212725647212284747209704747209260847208731747207945747205623347204834472021228472018049472017444720128384720064694719952564719887354719656944719353484719219484719133724718710124718626447185165647183598247183281447181783047178071471779425471776936471773911471762527471757718471746012471703766471689047471687789471683518471678524716723864716541554716428004716356294716240324716062024716043444715944471592290471588934715830544715816144715741954715638744715521994715392024715387974715386454715349574715265044715223894715217384714987144714866147147796047146618547146295147143382947142231447142014471413963471396670471365561471348524471331474713259834713027454712929954712928471280014471279133471277109471249012471238819471228855471228595471222687471214351471199690471193286471189352471172541471169065471154464711121964711089244711067694710863384710637624710616834710609884710529394710462894710457304710435047102462447101947947101173847100718147100486847100197847100129747099894470988368470984561470977890470960909470940009470905527470898881470895536470843876470843090470833833470818898470796994707933094707878747078316847078040647077750947076535747076461947075349747073457747070810747069694647069594847069129447068195447068176447067787447067234447066971647066540647065994147065823447064835047064245847063974470635195470633647062357047062047647061549747061357247061295447059758847055778947055647147054669847054333347053036247052051347050658547050411470500330470479882470465474704536547045062247044761147044419947042568247039280847038211147037800147037001047036860347036652747036258447035736470321626470317881470302448470299474702985784702840554702799747027985847027945547026605847025374847025110847024270647023098470229214470224315470220651470215938470213981470207467470207403470182347016653470163554701632194701523547013781470128415470117792470111899470100958470096378470087655470070769470061724470034598470030062470025113470009823469980462469953520469953349469953270469921837469915581469911902469898874469891060469884432469869903469866113469860850469844137469842993469837283469831980469829846469822053469797553469789974469788862469773488469768023469760245469759703469759521469757141469754675469744715469743834697417424697318724697307124697240344697107144696896346966932546966668246966302746966034346965426546965031546964926746964280146964121746963751746963058846960817546960413469602521469602146960214695749364695474714695281094694826284694812004694724594694712344694452154694419744694382946943221146942714146941714346940879846940327946936270646934795946934286046932434446931829946931656346931419246930040046930008469300021469269445469268524692594974692501834692364854692121646921175046920085946919662246919401046918535046918197046918111346917822246916083346913203469124239469101774690811664690796644690721044690662864690536874690404874690188114690180144690169454690081654689881704689858146898014946897568046896946468961605468951864689292964689277754689168234689003934688852014688747274688724446886803446885677346884197346883964246883568646881486046879690246878153246878068446875463846874285346873588146873163846872460046872048446870408246869591146869338146869155046868228646866839146866670946866464146864861546864178046864111246862834686166674686037084686012174685974246857175946856951846856508446855679146854974146853786346852906746852019446851633468510693468510018468508951468490569468474222468472960468470156468447941468445266468443110468442003468440886468431315468427874684272384684172714684132894684086646840751846840197946837458546837262468355532468346768468344693468343660468341914468330294683295974683180584682965934682670064682606564682584744682568784682541174682503744682370984682327804682186034681932494681846944681758854681414654681402014681339546813295846812854246812216046812191746811384681096804681048746809834946809184446809157246809031346808791546806769468059627468054424468040662468033097468027745468022904680127904680071746799933846799891546796970246796817846796193467959210467955326467952661467949330467944046793462246792767846791322646790579846790384146789485146788882746788283646787803946787272346785247146784592446784581467843441467839808467838590467829534678067764678051024677929414677898794677881734677721604677719914677636546775741746775663446774464146774206246773357346769434246768756646768607546766354046766214246765860946764797846764638467643233467642655467634661467631153467624150467616297467614200467596401467581556467567216467548124675293467520263467513192467510932467509003467497813467496873467488814674845074674767004674666984674441314674381814674249084674176454674150184674015414673916314673879664673813346737542546736804546736523146736125046734567946734554546733025846731483546731181046730415446729166346728999046728729046728709146726981246725792946725342046725215546724825846723195546720742046720146467190809467188904671790814671576174671440314671362074671311146712290446712254846712155346711487246711210246710985846710634546709932246709182146708271246708094746707969046707548346706811746706449946706061546705972246705948346705658046704681467033446467027751467017326467012626466993100466983004669714074669662594669402024669393484669260444669250734668957254668878994668844194668816404668736444668644794668638434668637246685916646684730466814524668057746678121046677551466774726466755660466747845466743202466728371466718364667123814666906654666679246666281946665773046665081746664344546662759466592882466584890466580979466563666466547354665456534665419024665294284665222504665178946650616146650436746650119466487757466477796466472215466451573466440612466420794466411187466410868466398294663966524663886054663884214663843614663752546635552466347564466344418466310810466310583466297732466295122466285588466257904662466634662365346622935466205102466198777466198701466182303466178200466166875466157383466157084661512134661457504661435824661238054661148514661135394660960064660814014660714074660618684660613934660531546604404466034078466025480466014893465998034659931094659904146597781446597655546597474446595250046594965446594305646592589246592257046590466346589877746589278246588897446587418946587347846587342546587301746586613146586288346586038846585240146583682846581587246580851946580588746580453546580019946579758346578666346575343146574141846573074446570608146569998946569484656626104656538254656525894656224344656033154655988604655883624655830664655497774655379274655336646552646550035246549677465466519465463172465461081465442178465435155465430846539938446539886146539345546538092646536879146535330946535020846534951846534808546534278846534190346531800546531647146531620346529655465287690465277242465260271465258298465244664465229918465226311465223198465208453465207215465206383465206209465157190465136286465111420465056744650414194650348544650295024650201546501924146501038546498427546498130464978219464975664649579554649480004649283994649222846491799246491385446491332464894195464891358464883903464883617464874821464836799464833654464833349464831986464829330464827350464821527464813998464810203464799874464786950464730207464723811464718031464708924647057544647056346470105746469737946468774346468396246467424646722524646684934646598524646350354646205534645868074645835354645358914645228146452255846451751464507846464483009464480170464477562464460051464449493464437869464429705464403695464402695464399634464394014643798634643794464643710144643602046435586046434998946434491946433747646433353046432248546432052046432018746431636946431541246431287746427570346427391946425976646425384146425299464249220464237016464211170464209621464208128464207106464205960464195262464178833464171181464170067464152662464127173464117304641079744641014704640703446406573546404820446404452446402106464016363464003724463999728463999269463968214639676704639637274639587464639522294639423524639375614639171404638982646389776846389484946388243346387803246387771246387659246386637346385978846384346463840796463838589463834674463832459463829296463828675463775702463770027463769831463729088463719454463706274637039494636976694636940294636860914636846234636766114636676546366699646366642446364966546364199846363810146362702346362066146361462946360172846360044346359383546358863846357542463567609463557506463552443463549594635470724635381046353750463536485463534452463525604635253974635192046351914946351430446350599146348632446347193246346829046346354246345054546343450146340801046340640463403066463382404463379755463376777463374651463367434633639954633558254633499364633422644633361884633169284633156624633016254632981594632953954632942434632935104632862554632788844632584046325136246324434632424084632351946322056346321136446320658646318837546317842946317829846316240946314876246314585546313415646313083746310952346310103463097754463095053463093773463093601463084197463065969463063804630605524630549354630534564630167346301575146299914629904594629855274629660204629638744629429044629257734629169034629155344629117844629041254629019504629014054628967394628950184628948146289067046288104628810364628698234628666724628498484628422154627810414627788644627788064627563146274249746273623146271187346269587246269007046267106346266444626538664626537324626406724626382624626379314626358374626304394626157354626112734626062324625909746258794746255415946254968246254767046254092462518883462511946247437746246497146245618246245248746243543462432756462429612462428158462427259462400885462386713462376094462345905462318903462303521462302689462293934462281178462280302462279881462277824622642544622599046224758462243723462243705462234954462227798462221595462221515462215072462210246219903146219460446218524046218478046218456246217178462165949462161331462160930462158827462150951462149559462149414462143558462124850462116418462112576462080907462055368462036097462031605462024235462017273462013622462000152461981784619712494619639424619625994619475764619465144619439554619378334619366524619318214619276314619273004619232134619200904619162544618901664618859644618735164618689834618562014618393646180316646179588046176423446176014046175181746175168746173917946173629461735359461729158461723087461722895461717224461715579461714374617115646168590046168580846165756146165001746164979646164774846164145246162706146161095646160731546159832461590734615636504615617674615567434615431924615351434615347334615260744615244504615174914615142134615057246149660646146959846146001246145836746145035461445614614377346143768461427128461418174614116094614099584614065334614007814613948274613778364613694204613565446135566846134164461336376461336189461324591461315915461315435461278227461269461461267173461251129461246696461240457461227870461225340461222899461220905461208869461196180461181484461176698461149943461139668461134128461122382461115293461106631461098732461093621461085264610849714610757924610576184610546546103302146102053746101500346101384346098480946096688646094235646094007946092603046092600146091295460908868460906344460899515460890254608889504608766646086768846086077446085861946084653546083915446083300946082371246081876146081261046080404246080048446078533746078037946076412346076402246075558446075034246074717546073957746072977446068544606852774606769044606701094606687244606595614606434746063987460631004606264794606250494606223614606213064606135624606089854606025764605946246059212046058330046057546746056424246056125346055748946054593646054229746053353446052783546051639346050823146049281246049000046048424246044347746042219946041824646041645746041386460405947460397224603837414603667304603601654603597354603565694603333294603261746032442846032389446032231846031306146026874746026533646025192846024446346023859946023488546021652146020614246019598546018172046017441546017304946016597460162815460162182460157190460145713460139785460099434600983484600973594600945514600909646008177946006829546003981946003541246003126646002107846000982045999350745998806245997330745996632245996092145995053645994388745994241245993951645992604459924856459919542459919134599132624598966684598825014598765874598682014598574084598511294598302794598237764598176554598129324598003145979186145978838145977295545976964597605664597567594597567024597460674597396345973954445971734245971247459704798459658409459647898459643712459638162459629725459628385459626494596171844596143954596112244595819744595809445958011845956939459568545954778459540056459530984459528316459514321459510852459496979459478581459459187459453024594402234594305545942989545942071445941067545940727345939734645939270745938433945937823459377554593572794593275344593268614593249784593167245931324845930701645928159345927448545925691045922845045922144445920120845919498945918954145916639545916382945915609345914988545914966845914496145913416459131743459125648459123476459118734591059045908117045907473845906821459065639459059681459049366459036004459012875459011469459008488458997297458992134589885744589856554589794945897935845897760145895973545895317458952011458951897458945473458939473458938439458930431458916523458915054589081814588927224588925174588918245889026745888844458886398458871095458863402458861508458827590458804787458775503458774899458773709458760536458753308458750263458743234458741411458692098458682580458671746458671679458670055458667157458666735458663639458648300458643824586298774586290864586259244586250444586239114586204554586194004586067954585861124585792794585770704585725504585399644585226604585205345851245845850715345850577945850174945849446045849035945846874945846650845845583458454047458449935458442598458416349458415688458415289458414394458396468458367504583595654583591404583361104583250945832092345830705745828516458280322458269832458256343458254110458242021458240294582307774582212734582025994581960344581948984581932734581721674581136334581094834581036484580964324580723064580562744580552754580532904580469994580449324580343334580270144580263544580259464580028034580012544579971884579932734579824594579769844579634214579540457948856457944802457940806457913851457906842457893524578897464578812314578777154578532514578058554578016714577949574577853974577843145778282145778214845776937545775052345772967845772951457727196457704770457700414457673061457672174576660204576586764576537004576440145762798245762727945761975945760951745757143645754772545753250545753117045753085945753012245751442945751175457506753457503233457502358457486151457480174457452702457437814457434124457429764574283064574232145737511645737060545736579245736382845734770945734434457342150457329231457323762457302477457273079457271698457264136457261601457247079457243068457232121457224428457222734457216484571808334571777184571457954571367344571233364571212645711713045709715457092805457083107457082242457080304457071672457060466457044928457044071457032520457012584570051744570032094569919424569909474569908654569900454569701084569643974569339424569159724568849245688413345687304745685420945684786456846735456836807456834938456824633456811943456770114567682154567670474567402674567359924567312945672676945671635145670967456705970456700793456699375456686064566808984566632114566607254566593514566452474566217274566178134566163745657129145656374545656329945656257645655948945655598245651920545651863945650597445646636456408700456407353456393861456384570456365541456362235456361866456308896456307794563029274563023934562988374562582884562242764562177014562116456205238456198678456181235456174838456172417456171470456166998456144027456123467456117362456113348456101944561001824560900534560859464560808064560641944560640164560585704560497984560465064560447314560317434560269964560172394560169645601598945601133456002204455996268455994853455983512455982550455978768455970465455964104455954174455924474455922545591147245591011545590756145590661245590449445589614545587358045586867245586604845586577945586024645585858945585369945584741745584538455835008455833269455832145580569745580396645579593245579572745579113545578933345578496145577521245574104045574091455739804557378754557335194557126064557017064556965494556895394556752604556700245566536245566229045565137945563307245561674845560024945559336045556121245555297455551114455528192455526749455505645548985145548008645547500455460245545632845545493445544690545544507945543897745543298345542666345542345345541562045541254445540733455402540455397724553942594553931084553774214553768034553737254553502045534240945533922745533300045532931045532713545532404045530946145529716745529194545528607745528073445527634345527523545526327345525958445524016345522334045522048845521665545521507455211655455196084455168840455163183455145999455123704551203994551115214550943845509056045508374245507924455076814455066008455065152455063045455029254549923024549857644549850094549805974549627184549547334549507745493794945492474545491998645491526845491213454909319454908377454904312454904245454893143454883454880454454837623454828924548223804548202024548071664547939604547862614547851574547781064547699014547636834547462064547311854547281304547071504547058145470575245470124245468633345464513045463117645462601245461741945461074045460159445458723345458603945458549445457637345457589745456887045455472454543930454536647454529455454528382454508771454508234454506387454504282454500636454488833454486096454484251454451727454437172454429476454428260454427179454423653454415541454398481454395951454391917454384300454373790454373045436023345435971145435798445435171245434975945433278645431828445431706045429098345428939245427258845426771745426410454263085454262054454260618454251442454238475454237025454230509454211234542038944541992945419169345418473345417981245417958945417205454165485454149659454139451454119798454109724454101667454098165454055786454048614454048288454047362454045883454045444540287434539941404539873364539871504539796114539736864539624324539567084539540714539498894539340644539255004539210514539110794538583774538526264538503504538469754538466474538421064538404134538275114538200234537844124537532334537456664537351244537343344537325004537258864537133704537127614537064884537037304536995174536754004536746584536578034536225514536200494535935594535872424535786334535564554535343174535154454535101694535082104535030045350033453490593453464540453463206453442211453439600453433640453429667453428236453423437453413454534087453404669453404447453382086453378624533757194533752184533716384533690404533619544533577454533497624533230344533151234533093184532956134532873944532761524532730814532728314532627474532527944532479064532380724532102174532079064531951264531658453160248453151611453145242453131754453130723453117883453117146453110044531064644530954004530869454530688404530670504530540414530495445303724245302810445302773345302169945300586145298887145296629452965284529644245294968745294720245293943545293817452934624529342774529223894529219234529218364529208444529152145291198452890304528850784528729404528689564528506834528160604527868845277226845276729845276270245274970345273927045273198545269999545269527452685142452660561452646886452641552452639344452634934526121464525950794525887545258063745257257045254981245254545045254495545251801845250592945248653045248233145246376745244404145244043645243852645241821045241608545241147745240707445240269045239141845236674445235846445235545345234140245233672452334280452333468452330531452324889452316796452315948452315524522978845229234645228620245225053452240860452229980452221954452205758452192349452185524521843674521816634521813964521676534521597594521563074521561004521551094521490384521482984521372914521314364521307304521162045210742145210659345210559145210414045209615845207351945207083045206671645206480545205317145204727845204717245203288452031858452029265452018545200949451978388451957313451957207451952895451951114519270314519233154519191745190984445190262945188400245187644645187361245186939045186873745184799745182174745181840145180351445180017451793312451777798451771210451765334517314164517229144517162634517155634516791994516716444516696374516662451660444516518534516473804516442314516421704516208354516204034516183345159544845159383445158972045156274945155958845155522345153499945152914145150889945149868345149480345148734745145348045145081245143523045143504945143028545142367845141906145141710045140484745139595445139144745138592645138490345138204245137133945136821045136386345135144345134400745134347145133227045132734445132706245132488745132287145129136445128296445128180745127943145127651545127329451268865451256528451232254451219583451199856451195832451192572451175084511533054511532274511505145114344945113826451137594511340604511160524511027934510869204510701144510660294510460045104374045104278451031056451020321451017882451006557451002358450990794509641304509592724509480034509477414509463914509399444509307314509272364509234024509160584509108344509087254508946474508942974508902545088591445088002045087293745087163045086840345086725545085128545085078045085060245085033045084734945084111445082902945082553345082506845082147445081162745080382450794137450793638450789216450782833450763455450723247450702218450701525450684377450679389450670077450657197450653845062548045061774145059540645058498245057665045054469245053482345053251745051182045050310445049577345048881345047923445047898450468283450464500450438778450437306450430152450413573450402752450399103450393221450389234503762734503634874503627450359438450349609450343107450332213450329526450326228450308484503071124503047824503025194503020114502948404502910484502832474502742450259140450244064450222025450218792450216008450211163450180244501773045016710345015659845015624945013371450133549450129295450110616450104767450103014450084612450081786450070472450050209450049627450047044450041011450029699450026731450025564450009107450008844499829244996358644996284499594284499525144499519084499366604499211614499198864498794464498663394498621004498427634498260064498180644981301844979139244978734744978559344977084844976946444976595544976158449759391449745254497394264497112224496764274496683374496683044966074144965257344964234496395284496375244962290544961596944961468844961396044960193444958988644958911144958793444958751644956592844953897449530686449522195449514137449507342449483605449481194494458554494443414494408154494391064494359374494334104494274144942222844941809744939723444938797744937873344937371344936317944935888444934469144932627844931717344930957744930870244928887144928114044927472844926903244926876844926434144925878144925606144925299144924186244923498044923144922985444922867344922550344921006744920174244919842544918951444918580644916698844914363449140744491370954491192324491191044911185449100334490997504490906844908803044907951944907102944904266544904161544904135244903031444902792344901612944900269644899857244899503544898676444896325244895864244894416844894190444891548044890084044889781448886603448886358448881559448880656448873573448866495448849040448833700448807325448800668448776554487763744877344644874415744874177644872997344871021644870574744870207448658873448656582448651377448651044448643601448641101448640755448617472448598874448598333448580292448573394485485044854399044852844244851975944848593144847398344847371144845124544843360844842507448422410448418207448413062448406324483967344839532448361515448359188448354035448346757448345140448337287448333105448332778448322311448316440448312974483119814483017444829446448286951448284256448280733448264985448243298448231124482230844481931834481885044818395544817062448163625448155207448136334481336434481209644481207344811106744810431944810014244807094944804751448046874480378304480356554480314134480241554480159044480114904479982544479734594479644014479550324479526604479510404479501014479360944479347514479338044479302764479251984479228024479214784479102884479069074478919684478699244478604074478582474478559324478370054478173584478148844477930104477823784477756854477755034477632674477615234477533844774170447719413447717616447716076447713894477138134476887064476658344476504724476404214476217344476099447606445447597926447596987447594344475763834475698944756671544756629944755906844755042444754956144754647944754514344753234244752095447516866447507331447506275447493899447484341447453627447450378447422516447416540447410661447400114473930364473841014473813447380256447379175447378670447376982447366812447361234473554644735324644734839044733124544732283644730951944729724844729721744729565344729229644727906644727458144727018944724659244724651544722548144720017447199767447189241447183957447183899447182813447182312447182033447162558447161779447158454471468744710397144709193447091122447084561447076034447061952447041949447037765447035584470336104470306414470283564470162004470143764470143244698838544698174344696388544695567446939792446934444693330446926504469159854469046024469022004468999944689732644689314844689193944688476644686681644685556244685128446837347446837285446836649446832074446826427446824659446804245446797565446791444446776473446763190446751754467451484467430904467396514467090844670332544668925944667344844666445244665500144664801944662747444662566144662555446623413446610828446608985446594834465842814465762864465738974465720994465558074465487214465465604465430574465328074465323224465276744465220054465132944650928944650604044649969344648895944648882844646044544644332244642889744642309644641876544641087744639597446382777446367453446365238446347423446341282446317489446307932446307866446301149446280977446278654446276616446273974446255250446253257446252977446251644462466994462295344462280324462271304462054004462006044619264544618707644617944044617631144617351844614285446135494461247294461195504461116064461068434461012334461010504460994804460876204460640544605142044605090444604012446028718446019544446003233445982401445969874445968890445955414459525044592582244592481244592305244590961744589150244588916044588717144587454244587326644586999444586528444585574444583693744583287944583060444582785744581697944580763844580264445795137445794120445790006445779585445778114445777568445764124457424444457378534457340134457234474457114244571134444569682344568597344568110644567015544566911744566680544566596644566223344566075445642956445639804445639375445633794456282154456277284456218694456132984456078064455961644455848334455845554455720084455649074455631474455604334455568394455510494455467254455378304455335954455303724455209904455201594455109724455073484454927974454918254454806054454680214454559144454460244544071844543450544541781044541263744539243444538983544537656144534069445326354453250054453223054453188254452824924452590944452584844525391244521376444520847944519581344518040444516837844512794144511821044511493844511241844510820445100876445100660445096596445078794450757494450723104450593734450562644504791544504420844503756444502520644500333444999969444998995444996385444993229444979833444939220444932169444898508444898465444897448444892148444890124444884947444877429444877384448381044448170624448131344448127144478062644476412344475819044475498644471862144470242244469876044469689444680416444678885444671774444665185444659383444651884446507384446484444464831044463842444463592644463512344461790644461335444612134446081544446075444593474444589996444580394445723464445704854445481544445480264445393164445370944453570144453321044446081444445747144445291144443842744443424844443413744443014044442121944441592644441227444410698444405022444393937444393854444386593444385598444370104443642984443483304443429944443413004443242734443163514443023554443011684442868254442795614442730444427110344426167444421884344421443944421130144419242544418928444418316344418290644417963844414221744413628444413360544412937444412771444114920444109984441000134440948214440908344440834534440833144407976544406986744406371444405941844404467844403692544403654144400525644399725644399604444398771443969567443955255443953892443946351443940693443924720443918903443917064439110194438913344438910834438834644388169544387993044387660644387025544386265544385831444385206044384752244384082644383342544383319644381645443813267443805398443804221443802273443802231443787177443784934437704744437661594437429174437421444437313944437281354437020754436879744367740443674341443673671443642499443596902443589114435680054435489194435381144353468944353324744350743844349695044349592144348619443474402443472827443470524443458548443454934434466354434452914434441144434434284434381944434349164434148644434047414433986644339323244336283644335695644335151644334813944333269443318883443311974443300557443298583443293433443290105443284998443217491443216168443208775443197981443185194443167014431588814431507864431450134431376474431336884431252134431250134431177184431075694431068924431000014430937844308964944308915344307414430712464430677814430555124430479484430392304430217334430193944430090804430051304429883944429758014429645524429640254429532414429508674429397634429189784429139444429121144428933284428691704428682124428598374428547864428498094428371944282634544282027344281933644281055044280701244280273044279452442738402442736144273545244273526844271927442712645442701914426876144426681284426622304426583934426519442650484442646504442637774426280694426276404426178604426158934426132454426031974425904674425850184425811054425757624425753384425751044256570644255668442555920442544597442543959442526170442524042442521880442521037442520015442518134442502262442500309442498155442479739442469712442453130442440746442434124442427668442416249442387823442380834423789774423751124423721954423633684423327744232862944232477644231856544231573344230797044230397044228588344227650442270524422663164422629974422611564422523654422353114422333524422255314422070244220396344219905944219852244219682744218685844217072744216491644213631644213486944213398844212921442120017442084760442084125442074488442070907442067139442067044442030112442009644420077184419982394419847864419794454419425441931719441929464419266454419168014418949994418916684418894454418785014418715284418522284418449744418396314418351224418246274418224844418203924418174864418121844181170244180722844180211044178374744177497944177136944177058744176032244175302441751057441726484417049754417043734416981584416782094416658814416508934416472044416431034416424734416317224416224944416086414415976944415714024415601444155972244155966244152590244152321441515314441508214441484944414647484414567294414429714414412364414366974414243914414101154414026441399432441388406441388011441387166441382856441370992441370554441363334413461674413391464413368214413009441299749441288332441283876441283445441279674441279674412761754412692654412609584412588574412532334412491614412353494412278964411841074411600394411590534411458564411436284411374184411292174411189114411187744111864044111184144107979044106742441064598441054269441042413441031018441020729441018076441007195441007181441000530440998361440988961440988381440985048440969851440966244094471444093196644092862744092791244092554440919584440904769440899443440881833440866686440864527440863824408411754408369234408366294408269244408201274408200974408198024408177984408170124408135744078563444076968744076895744076225344075809444075353440748125440735330440720564407185054407142894407030434407011994406907764406654104406514944406493434406440314406439394406370844062726144060980044060931844057469440564807440542176440539671440531480440531294440527913440525114440515461440493472440463464404611294404593514404403024404275094404273364404234074403964194403727584403723394403525594403502444034444144034332344033902644033671744033629744033576440330776440311804403112684402987334402397454402126644018980044017861544017521944016819440151073440136974401183564401134144401020284400867054400852574400490234400286794399936684399926104399896043998627743997878843996665843995824043992301943990417243989726743988148843986974398419914398280784398047224398042694398009204397733524397714543974825343974200743973466439729921439726720439724213439723594397164874397161514397144974396892114396878644396587154396575304396537744396503524396185154396134414396093734396073244396068064395999439594707439593410439590235439584493439580814395761834395692574395488224395470643954113439533790439520411439510380439502116439495054394908624394904843948446243948139443947746439476839439470474394521164394305414394295943942946043941799643941722743941148843940886439392661439388006439378744393722574393487744393462844393442004393426834393274254392998694392924904392918194392764954392680734392675414392582543925009743922937843921851943921032439203909439198744391797824391585643914834143914158243913477543913339943913001439126218439117256439115752439105626439105519439064814439057116439051973439039504390269439024232439021026439020884390163564390006843897768643896689643896602143893750543892810643892617843892098643890260443890163243889879438897338438887384388787344388566214388514543885017743883353243882857443882729143881803043881290143880717543878410343877434643877370143876958943876479043875441643875377143875225443875047943873476343873323443871396243871247643869416543868899643865900243864656443863895943863234243860714243860585143860185643859205143858855443858199243857810743855975243854767743854342743852269543852255443852058443850335643848932343848734438481098438443443438443099438442347438436852438424758438418017438415190438411197438400841438374585438372341438361634383576743835151643834992843834711643834554383375714383112834383101874383069524383017644382845284382690874382674894382671124382662324382605184382558844382396694382277664382130224382002444381779804381709274381576844381190574381187604381043364381000438093854380713364380672804380648344380641104380411754380222934379827694379470604379275614379200494379092484379063614378927564378875064378728134378547044378439604378340234377835437780109437759058437721161437706944377064714376937334376839714376762334376602844376508094376444304376325354376289844376245604376202674376057444376052814375662114375592643754453243753579643751958437518501437511134375110954375041824374756014374731174374714284374490884374424864374296314374189534374142074373929634373873843738169437359840437359546437336654437305864372901914372760143726947943726633243725377043725233443725166143725137443724348543723343843723046643720758343720649143719000543715388243715139343714359543714076437135785437131214437125030437122791437119404370992014370733864370702994370599974370565614370558614370506474370427744370426354370399084369957943699481943699443043699325543698843143698282643698147543697454643696007643692975043692214243691381643690483443690338343689147436882612436876685436874984436865324436862622436854004368431674368401974368386634368296074368270594368264824368178984367967514367947984367932994367848624367696204367683054367653354367648054367616944367609294367509304367506034367465264367333843672849343672841143672369543670481243669655743669062643668070743667767443666967643666666436663388436661944366574864366313824366177054366174884366142343661390743660967643660677436601919436601314436600203436563028436562259436547321436537414365371224365370664365307624365278724365218144365161684365036054364980143649189643648970436481227436466619436463556436454399436441566436437631436418043436416254363842154363794554363705743636808843636501743634879543632799436323000436313502436305554436299476436293671436281204362804354362738364362645343625633543625568643625020843623671436236374436225904436217147436215058436209543436205692436197047436195752436195643616509943615864443615309343615126643613979143612898243612843143611225943610362043610113843609725343609553436089759436083955436072468436066614360566324360547514360447774360351943602973943602669743601375043600280243600074743600058643597367543595210943591847943591646043591535743590892543588780643585701443585459643584139435829554358251714358114574358111174357950184357929024357838435781311435769913435764514357492064357449014357392844357284754357137234357004443567867743567758543567652843566619435661450435657809435651756435645063435636355435597491435596924355911943558605743556193435546959435542764355366094355083374355074394355070743549555843548577435484528435482592435480114354780435477609435475354435474620435458464435453036435452751435452259435429604435379564435372550435372479435352891435337952435337004435322896435302696435293780435291455435281416435261677435259213435225719435200574351974014351884024351690824351686104351673014351645304351608404351572344351569243514933543514446443513195943510585743509906143509663435092974435068608435067328435043427435040058435023349435019223435013999435013413435006015434995300434989298434956664349531914349307284349302434349212064349192274349160884348916154348907514348857424348848524348685484348634714348557043484711343483019943482298543480510443479050343478323043477876243476311743476104943474481143474045643473843643473732343473688043473095143472893443472003643471990543471887643471587943466048243464500143464156434633059434628342434621967434617952434596685434577186434573043434563478434548231434529969434518831434504304344978164344931743447835143447820243447642043447480143446031434455776434452544344513243443729443442528143441707843441605243441202543438993543438126443437160643433941443432104143431430043430960243430743434300274434298390434294017434287764434281633434263174434253199434250974342490434342280284342181444342157334342048984342046404342039243419012543417667143416421043410643143410184143409192943408830943408079643407904043406786434065583434063677434057317434049340434036222434034538434029814434028458434028200434020798434013514434007601434005254340001244339923084339907864339796794339564684339450034339445374339127674338976604338812344338699164338604344338462643384108843383270343383120543381549543380369743380356943380324433801644433800222433792932433750140433747208433746346433744962433724840433696559433690417433685230433683231433679271433673166433666189433661602433659694336556814336369674336359924336102943360967143359035943357946643357189433539187433532892433514012433510224334967674334956624334636604334587914334586524334561254334544104334442394334393844334376294334253524334114594333915954333846874333837194333806024333785724333733543337122343336042943335757743334107543330908243330131643329069843328863443327936343327804843327444743325276343324478543323839543323237943323150043319632843316981143315540743315406543314097043312315343309824143308625543308237243307639433074477433069753433057206433056955433050473433041082433033864433020314329808814329710443295250043294670143293805743292982843292738043292559343291769643291347043290979243290765243290432743290120643288812843287339143286993143286547643285933743285290343285154443284872243282911432800671432788021432770321432762965432762683432755209432751188432745534327365804327119244327035654326999394326973644326929074326874144326866243267943943267781432660193432658210432657971432648979432641016432635610432614566432591745432587304325533424325298014325271024325000904324956143249385443246570432450324324311674324192954324129244323714364323558554323505174323480143234390432339774432335897432335184432326867432326480432324044432317015432313177432300370432291475432290122432286007432277324322771794322709784322699244322526324322322394322193644322142644322059634321996254321982844321771743216013943215636543214679343214360432096673432096382432093701432083133432073727432056751432047562432035642432024021432013774320028314319563464319351864319313834319289804319077494319019484318790544318542464318542424318323624318079274317926454317788304317735704317409543173965943173623543169346643169310431676288431674331431667106431666928431649524431642478431641252431635074316058934316042364315902714315876644315816124315793194315644374315600374315418334315344114315257104315022143150186643148466143145073431450190431442819431436907431429276431399864313945514313859424313734004313709854313606434313495644313406854313296004313146943130237843130061743128997343127982543126036143125724043125517543125142143122605431213978431213110431209774431198109431185971431182226431156113431150209431148614311434934311265794311187743111299143110863443110273743108998343108158543108095443107815843107394843106198543105389043104943543104677743104558543104533043104394310278914310260344310182234310157504310034544310012434309897694309830534309658734309605264309549844309426414309289804309284474309210894309130214309122354309099814308856774308825074308772914308753424308745374308443254308386043083614308215084308193694308193334308106934308019430772697430771877430768118430763918430720038430703173430633139430631141430611584430601188430597142430595721430571889430567391430567244305543304305533543055033843054979643054975343053138443051824643051138343051017430493283430492684430492648430486925430472074304681334304542334304525544304330164304323674304307024304294124304170324304065184303961414303946964303930654303654224303409874303129864302948284302941584302837604302812304302769354302747564302745864302708443025771143025054543025000743024763643024279430226761430214554430209618430201664301922714301823154301797034301675043016091843015816430156088430142314301306604301064764300850694300827814300714843005632430020363430002708429988158429949479429943092429931521429928614299269194299235044299190904299189284299092904299021034298705044298672994298652344298412504298051094297977004297808064297698044297646534297575294297563544297469744297459164297412242974045642973626542973536429731925429720797429712421429708175429700574296950624296717914296550884296223294296107214295825842957102042954877142954501242953899742953094842952854442951961842950644295052264295043944295025094294689844294674124294643742946296442945317429447210429439674429393084293902244293633894293589314293429664293405224293351442933155742932121442931724342931344242931059942931013842930913342930030142929614242924598442923914042923541442923243542922025942920501342920438742919173642915744842913887942913511429110167429109474291085842908856342907032342905433429038432429029754429028604290272084290018764290011174289973554289836304289802942897699742897420042896709342896708842895927542895345242893959742893468042892767142890942428863480428859140428851264288508584288461434288406274288338084288274594288222304288140842881319342880402342879996842878446442877716342877526842877142342876412942876261242875816142875028442874228242873780542872793428709552428702675428689562428687214428686493428685119428671683428665776428653581428648475428646844286153204286094784286067244286009842859333642858431242858199428575531428551258428535553428516949428480139428469679428468086428465634284606164284592504284453242844239442843993042843935942843420142842526428414204428405615428382369428375598428373508428363392428352845428345225428343861428341244428320693428317954283163144283143444283040414283009394282943534282941434282941274282847224282650704282534934282530974282428604282389714282277294282251964282225324281990694281986334281986094281960814281956404281805814281717714281590854281538074281318674281191814281143864281107394281076234281071444280999084280973814280962442809606642804674280402284280401514280282444280245074280090734280050194279894764279803644279662404279593434279584054279506954279494314279323374279169874279131734278963234278728414278723064278718494278369174278340464278273254278070224277849124277766174277654724277544864277509864277508934277396242773728427729521427722393427719952427714515427695274276845734276263014276139604276114542760731742760423742758571242757843542757160842757095242756692427566914275336624275289314275227904275168742750470427495441427488590427485090427462062427457702427451497427448368427440665427439265427433982427429907427428628427424574274067764273916444273806214273759442735865242735078542733405427316741427285779427272527427260301427250313427241553427237699427225693427205672427200337427199673427198812427194435427190707427185212427142283427127391427110477427109757427105054270946094270890354270825442707322342706672042705742342705313142703147842699323842698315342698043942696724142696515742696441542694978042694846426946083426930822426928197426925714426919047426913056426906994426906534426895223426884368426881684426865368426863021426857819426857667426855164268551634268478842682426426818237426814743426800823426795681426783034267611142675680442675483742674780142674651426746108426734041426733836426732824267326084267303454267285674267062134266826564266792644266772654266679834266651174266475874266412294266400104266310044266229194266130224266083124266060442658362942658256842657436242657211142655859942655745426556934265431824265381834265246524265157284264987214264946342648538842648338442647577842646956042646427542644155442643136942638660742638598542637481426373716426364694426364444426351576426344764263288114263285054263282842632062042629844942629208642628335942628269426280694262796684262726474262709342627037242626888442626332542625393242623260742622424742622136742621919842620910426199423426197417426193924426193629426182657426142420426131820426114529426107234426106400426103302426097130426080204260579842605697342605298242604581342602615342602600742601918742599455842598838942597528242597252742593359442591958942591922742591101425879615425875788425846834425844081425842970425841304425831197425798656425797937425780484425765704257507624257494642574900242574854257402304257237384257228654257158804257116642568114942567571042565900442565126142562607642561920642561509942558184142556298442553034342551843142551147642550289342549671425479433425463653425461655425455473425407723425405651425395485425395416425392563425388294425384576425378561425370755425368501425362393425347347425343700425342729425339303425338922425320234425314457425312334253102064253094674252997594252867044252725924252668344252657454252635734252577624252499142524949425248542524752425234855425233762425229414252163394252155174251983742519569042519168542518057842517423425162187425146292425134360425112063425107608425105404251051594251003164250969684250956644250921474250917742509072242508746425074104250739984250647204250621604250525354250282624250163554250122774250023534249994154249974684249932174249834124249439504249212974249178804249172684249149154249003394248840842487838642487682424859949424856762424855710424841104248407424836814248260634248218214248091574248061314248058104247810824247634874247411354247308014247233304247222042470241442470144247010304246916654246775242467534542467379742467279042465912242463976042459236442458344542458220742457063542457049642456370242455516542454291342454260342453817442452789542452554442451634442448256424469061424460921424454985424449088424436942424431396424415459424412687424403084243950742438944142438835742437529742437412242436937842435582042434771842433198342432915742432590742432245542430053842427558342424922642421929142421812442419989342417821642417384642414651242414564542412256842412057142410676442409718142407159142405375142405307442404293342404044424038926424035750424001531423999823423993933423982398423980604423969514239186334239072094238931414238832374238670114238580724238490542383988042382975242382288642380728742380586042378773442376360942375530442374941142374203242373971342373843142373771742373502442372099342369644423675284423671519423667246423646506423638500423620726423610079423601588423590773423563210423560128423550740423542782423536504235287024235201674235041084234973914234952242348190042347514342347301442346042942344686242343332242339650423372448423372015423359032423347251423346326423339314233378254233209584233075142330536942330432942329464042329427042328217423253602423251080423246474232367074232359542323499842323107842321535342319444742315867042314895142313899242313404842311646842310832742310142942309738142309469742309071142308727942306650342306275423018948423010411422998613422974764229721964229684814229635214229271654229165354229132634229017764228992464228979084228972042288292242288145742287250042286145642284553242284238422840742283734422835817422833908422830767422813440422807419422799914227687534227639834227620094227498924227495194227328054227146144227100842270358742270100642268257942267387442266779742265212542262027342260727742260517142260356042260206242258443042256703142255348942255171042255040542254660422545581422544239422541932422539757422531939422522161422512824422511059422506561422494474224931474224772934224744524224658904224626874224608144224520544224456942242218342242028242242012422417042422409075422398568422395683422391086422386044223696164223477042234161042233897642233217842233089842232638342231462422314562422298955422297551422283130422278749422278114222702404222587994222513354222425742224117042223508842218564422172894422156603422151504422138801422134907422125789422122175422120918422120473422082467422081298422074881422072917422071004220680084220545494220455864220437034220400434220364494220064674220017854219751234219506894219370814219254344219151244218869334218713044218482414218416724218148784218133144218006494217989234217978154217973264217919444217593774217538214217402344217373844217361314217169674217120442170518142170195842169827642168654942168609842168296942168270421665545421664872421641486421639490421616017421613828421611925421591378421577434215714942156664742155558842153963542153910421480060421469524421453134214427142143480642142009242141811842139158042138989742138893442137878342137812242135969242134903142134749421321146421264695421261197421259324212485914212472664212416134212221442122162742122002142121593242121424142120977542120938242120309642119443542117148642116926542116857642116082642115947042114093742113636942112707442111952942111784542111533742111525442111318421112014210979574210824824210818574210781094210588924210556034210516842104851642104191642103899142103193742101713842101431542100530842099705542099640642099633042098265442096089042095179342092005442091929842088784642087999442087167542086103042085844742085687842085179142084835242083189542082981842081825142081145142080649942078421242078401542077839420778194420749730420747321420742228420731028420727878420724314207127554206995694206963984206881724206874464206790264206632814206607114206404884206258974205990894205926474205886884205674794205638604205562304205556514205402894205297744205275764205224964205172354205094484205036504204690964204493364204493242044050420426879420411254204025114203982694203859884203684434203629942034424242033614420310501420309824202899944202895234202892834202523742025136442024426942022197642020196142018951420185357420183312420178982420162129420156504420145797420141136420137442012889842011993042009859420097305420096594420077122420075929420067715420061564200499834200139542001305942000240542000153419970824419966002419956705419956441419945065419937393419924102419914504199072214199003954198782174198755044198707674198603034198528474198354704198202584198120624198119419789929419786134197847374197735754197726634197702374197578224197533864197399034197364141973210641970466641969583241967627041967328841966970741966305841966113041965658341963412641963083419625230419619284419614734419601913419596815419595495419592667419589714195840014195808874195757744195718614195712114195363664195345004195320964195317424195317384195040154195013734195006384194977884194919524194896704194378894194293934194211764194202841941408541941279841940602541940254419402014419400993419399173419389569419373831419358969419356934193399654193326184193281914193244084193181934193039604192782354192677524192424794192341964192319419231682419227204192240884192159414192025074191922944191908641917429641917273641915923841914780419145815419131811419120812419119091419118966419118025419102735419099083419086407419075909419072080419070551419070034190620604190580904190356674190328544190306734190178464190177344190021324189766094189422874189252418923549418919207418915117418909698418901576418901412418901375418893169418892025418889252418877057418870028418863918418846859418829287418808046418804344418775029418733814418721571418720092418716474418709737418699889418695254418684457418679906418661485418656640418644919418641554186316441863111441863100418628161418627984186248904186189964186148104186026774185880784185878374185862894185718741856015741856003541855700041855178141854727441854124941854057041853885418523091418522724185169754184935164184920294184869934184837914184619464184537804184414364184343614184340544184205174184193964183903264183360154183288418322865418307444418302809418296178418267884182193641821444418201139418195604418180360418171068418170268418129696418127776418122119418120096418120032418117054418116015418109764180970234180896304180883264180876014180874404180738974180695641806719418062634418058871418047345418041994180340564180255154180168664180158904180150524180111954179864594179858204179852214179775764179688154179590704179564394179500964179434654179380744179280844179243984179029041789828041787935941785184141782936341781614417798500417780284177787464177629124177582494177487314177374177361684177334204177297884177151164177039124176888241767939141767694417671588417667056417660223417656208417652765417643124176391214176337254176302494176279364176150754176123404175742541757353341756888417544591417522640417501494174896664174773074174674941746060341745322341745154417447087417447027417446838417444734417428323417421020417415772417405333417403542417378571417376260417357389417354173417352644173443134173265944172978774172891974172770854172745041726203641725163041724712041723654417230960417224274172196184172131941715814041715374941715082941714777341712975441712188441711796941711567441711446141709870741709671741708826741708730341708070441706491141706083417044421417044137417039554417035367417027174170240394170211424170115941701035241700832441700170416981022416978126416947833416938868416922272416907064168858244168839424168688654168662841685985416856754416842744168394464168366194168243604168235104168060644168045814168007144167648914167513374167483984167476864167468214167443984167212434167143894166839054166746374166743154166644504166613444166612714166377504166072104166060804165906941658702741655130741654193841652747741651808341651414165087554164975974164930334164860384164745084164695594164496041644522741644030641641844041641280741639944841638453041638242241637185541636748541635741841634387241634122541633577741633065341632810941632701341631969041631211416310356416301536416285264162848354162653941626527341625985341625785841623814141621830841619334341619000416180824161691214161690664161577141614817241614245741613409341613048641612236941612235541612090541611461241611459341610743441609883441609790341608492041603702441603673041603525141603417641602066541601904159987684159709534159683184159653954159590524159260314159221694159218284159213841590302941590265241588448415882838415877484415865143415861020415859244415858382415837707415835212415827188415807256415798242415785133415779169415775602415747717415737441415736958415734659415719911415707449415696555415696094415686822415686541566004341565172341564470041564126541563785741562716241562247415621990415619674415613816415610456415607290415605155415566919415561247415552864415549133415547491415539412415534961415529454155222441551460741549792241549339541549199141548049941547941415452819415446371415436125415432494154243524154161064153951384153628194153501354153250234153039414153020754152930634152914034152874274152811214152727574152715094152584544152487194152446244152437264152430954152360994152315464152303354152298204152270004152116924152104184152012604151984241518724841517869141516945041516892241511435541510012341509062041508373341508324841508284150812341506159841505435141503707941502231741501509641501316641498244414973296414962696414950138414949615414947884149476014149436141493211241493183341492526341492433441492259141491431741491019241489673041488283941487017541486594441485964148539154148532854148522554148432534148417234148207174148096304147964754147944484147441341473969641473584147296254147261374147113294146843574146831564146784146594124146405824146070564146051641459137541458788341458357941456914841456703414563138414552047414528167414513028414495903414493444144803804144677124144657241443821541443278041441792041441392414413754144115841440907641439949641439339841437132141432619741431064143092974143090104142963664142953404142931364142779534142778444142665494142620741425767041424506041424427414224917414223642414211513414203909414202228414187941418700141418639041418440041418132841417228641417049841414680741413461041411377414112513414111113414090466414083859414082494140820424140739304140694694140681041405389041405079241404028414022898414019751414005967413987437413981839413963014139500774139483454139339404139272014139215034139177894139154984139136204139108424138661074138639924138619394138587494138572794138516794138437454138409554138342984138323541381981413797850413796162413778447413763768413756109413752017413736995413733706413732038413729321413727120413726938413723144413719384413718002413715841370050741369473141369273641368743413681974136678744136401141362362741362191541361721941360071141358730413569941356325413551009413544489413525821413521730413505863413503701413497178413494459413494449413467259413466339413459338413459324134557934134514434134351914134316824134244941341255841341197941339340341338002041336438941332784741330490841329525541328549441328004132762584132753484132594084132386694132243744132225424132033574131876824131854444131650741316372541314679341314507641312851841311148741311023413091049413039756413034848413033744130126424129933354129779564129301441292967241292771041292164141291502941291501412905615412903444412902147412873749412860993412854334412845439412820544128157394127776784127684224127674244127626654127112641270708841268654241267860412672874126257414126187574126161804126158344126139534126113114126063841260543641259247841258665841258515841255896641255542141255515412513021412497352412495482412488745412469793412463509412459526412448472412445734412442189412419341240648441238914241236764412358596412356997412351651412348345412327213412323505412320214123134924123121584123091524123053841229330412291144122862374122759784122551454122520444122222441222122941222015041220737141220202041220035341216696412164514412144573412140868412102893412086214412081600412063441204335441204231241203985041202735141202638741201128141200618041200341241198984641198391041195566841195246341194767341193435141190051411876904411871592411869416411866844118559614118551404118530041185170441183103141183059411829130411817654118164214118148454118091104118001304118000454117942804117616494117571174117412741173327741172779841172480641169344341169303141168833141168574411680734411670514116580764116373784116245014116124214116112041160535041160325541159739041159664041159315141159021941158085041157033041155772741153398941150063441150048741149464641148455341148261941147207541146999741146626841144123341143887841142247341141703411413911411397828411396754411395274113870404113853194113836104113811094113802604113725964113568684113552164113462494113346934113327144113318114113267744113165944112983894112958104112933064112885541127352141127006341126094641124554941123987741122747841122542041122021741120746941120728241120671241119287741116607541114201041111529541111277041110229411091170411063729411037306411000271411000202410993812410991415410990387410987679410984595410974012410969565410969292410954020410949941410948321410945927410933164410922735410916828410882794108715641087126941086758341086149041085242841085089641083865941080906741080173341075730441075284107409474107366241072536441071987441070578741069851941068788641068418541063498410616508410616417410607292410592107410587641410586388410584194410574122410573310410571792410564855410559694105578744105561474105525544105511854105504294105408384105369354105344410480308410464429410461018410449871410444873410429652410429170410420554104184641041645041041268441041085841040585241039380841038037541035515941035179410350619410340356410316784102914584102830614102664944102556934102357544102299864102287841018891410173913410173860410166946410164406410152257410116241010836741010014641008709341007438410053747410045896410040936410037302410031826410021594410011944099970924099786494099605734099462604099402804099381374099321904099269134099201014099197914099068640990043940990013540985186940983911540983769409836996409783287409766116409734612409725671409721921409667503409646056409642851409621264096167754096143340961139140958594095788654095783744095533844095484174095462264095357484095291044095234254095008494094863134094787804094777904094607694094603574094592494094486840944714040944381840942796409415168409407548409398573409396466409394977409390814409386548409385493409383063409381162409377464093761484093609934093481134093371674093246974092843954092696604092634784092611344092293874092212804092077234092074674091935204091888940918798409181264409159184091489324091235384091227294091201340911504140911254740909836740909422340908903540908733540908098740906349440905739240905723140905613540904802240904184340904119240903701840903698040902763640899946640899559340899217408991425408953040894707140894569140894211040894089540893377740892278940890298240890074840889802640888500440888014640887560408866149408865960408856022408851136408850734408841334408832760408827115408825208408815656408811238408809966408785751408764815408761218408754354087355664087294164087005140869108740868493440867505540867078408662504408655497408654062408650692408643592408638180408638037408635387408628657408619950408591473408561456408544504085354404085292254085281544084917734084856964084844104084840004084814454084397544084252964084243564084161864084158924084041944083865240835240140834895840833330340831611540831453340830651740829954040829102540828219408252621408240860408238014082127764082100124082098444082045374081552774081510214081478540814422040814044440813986740813474840812789240811610840810500440810019740807439540807148640806580740805606140805272240804713408006297407955634407939259407934157407933078407932214079236304079109894079065274078769474078578574078524640783593540783558840781305140780962840779984440779887840779363740779071740776184407754244407747665407741686407731840772574077135424077122654077070214076931094076862464076823824076779354076556034076514640764575940763854340763525040763518740761953340761401540760341840758266840757984075787044075597014075516354075467040753665407516932407509740407504032407503895407496327407494940748907407487330407478105407471638407441624074304364074250604074125504074105814074073784074062914074060234074047944074022114073979954073812184073741644073726174073671534073659794073653534073505784073275240731763640728894407277367407259092407257184072528414072414664072198184072020524071835264071815744071639340716365040715924640714705340713794407137294070880724070779274070649314070563884070533874070511454070409744070370184070315444070204414070150794070050304070049440698495940697025740695459040694543740690997340689739740689247406888047406877773406873634406846484406845104406823627406818208406806650406804977406793788406771892406756400406753754406733065406726831406719969406706820406695516406673176406670214066689084066610404066563174066512264066512204066431494066245394066167194066108704065942340659396940657153840656352740655210340654658640652070440651453640651253940650886406504767406497104406484239406468901406468017406463167406455960406426085406424012406418804064026574063849334063685564063524644063127044063043104062745064062611284062597814062488914062445594062393840623906540623890440623549340623130640621453240621003940620355840618906840618882440618670440618134640616634540615437640614446940613056040612922940612639640612249140612012740611634640609881040608874406082264406082254060751864060682914060541004060528544060507454060432124060408874060406234060271064060202954060074384059988004059978854059755804059724084059693524059637540596280240595842040595347140594999740594361640593841340593539240592957740592520040592046940591631640591416405905934058961154058938674058905740588453740588186640585745140584254840583278440582182140581549840579842340579227540577763640576265840575195140573520640573402040573200340571679640570963040569412340568402740566500840566176340565764240565275240564098940561600405613149405605924055918824055772340557270440556341740555860405557444405548994055246384055111764054878164054721624054616404054434144054418034054322354054317024054204944054132774054071294054044264054034894053890824053829405374288405363614053374584053367074053186254053183344052998614052930614052814614052746924052704104052513004052466924052289674052189514052158794052144734052014864051942454051760694051739740516245940515884840513911405135094051317034051195540511379405112384050801124050762374050745834050624564050456834050432324050259014050092840500477040500078740499929240499278740498140840497547040493404540493324840492285940492207540491785440490328404892364404887162404886892404886623404883906404873110404862655404851273404840469404834678404810164048021874047896940478819340478425840478408040477066404761206404757528404752433404750019404748821404737890404735387404689289404679396404676040404658604404658294046572264046481654046399804046382664046291954046162834046133240461030540460787404601001404591322404571055404568685404553780404551661404540463404537451404536940404526338404525428404520761404506547404503284044861140448489840447697540447557840446614404461299404455324404424729404418553404414384044068644044038354043981964043814914043651324043526454043434734043364294043315594043298154043274054043029740429883404291664042701514042666474042665404257020404248091404246934404246923404239598404234864404231417404229614042189594042016340419188840417522840415974240414518840412591140410726140409767740409304640408101940406848140405716404054958404049827404049634404048593404047164404044071404042603404033922404020610404019244040094544039945074039809704039760024039730254039683114039103584039045724038849364038811154038724114038699084038367324038334614038275934038157124038140324037991174037879494037781854037600964037541184037353654037187824036877004036754994036686964036641414036523564036370354036355184036331334036231114036178740357959440357570840356726340355510740352187940350537540350304403499904034881904034857014034824414034628354034593134034479694034386934034334354034315774034003054033975334033949140339013340338723403373605403347736403328794033285114033099534032936944032883740328265403280837403277811403267242403261495403259464403258109403252218403244940318634403180477403176196403175729403174651403171992403171810403155834031407664031336344031326194031286104031267934031140414030995474030920454030846334030811214030737534030726734030543714030326324030319840302668940301841640298766940298347840296900240296477540296206340294166640292101840289477440289158640288603440288296040287658940285199140281830240280087402797252402754793402746404027396764027313494027052244026936404026875424026840402682994402677947402662645402660869402644017402638184026232054026200194026162514026050984025942944025864104025845804025833154025742814025611434025605924025586054025585574025329340252334240250976540250922540250676240250620540249412540249259740248863402443865402433594024318094024249402416987402397674402386214402375223402371740236921940235973140233937040233375940232442040232231402322111402319639402319572402311220402307504402300920402281817402264607402258908402256545402254380402247612402202958402200610402195680402162188402147368402142105402131789402127273402115035402097802402080565402070961402070340402054637402050574402050341402046374402042069402029658402028920402012976402011449402011383401999370401987894019811904019765340196625401956983401944701401920677401912713401911682401910742401892812401878607401877723401876586401866751401861949401850739401843989401839377401835037401822594401820585401814638401811194018101514017971940179613940178942340174612140173905340172416440170853640169887940168915540165952840165843340164775540163585940162934440161143040159464440156815401533192401532779401532344401513214015086834014993294014880394014782104014759574014700174014659634014630524014566144014535804014406084014087040139576040136801440136027740134760840134315640133174401330374013078144013052714013021244012939554012839544012323184012309740122036140120839140119996140118977340118598040117684401170428401156581401147060401145853401142361401142070401125387401119364010863084010836734010801474010749334010693794010647004010627944010578740102967640102633140100082400992232400990101400989219400989006400984493400981016400975876400965894400959034009402254009263194009202794009132794009074224009051414008936674008871784008790504008602224008570134008543164008233094008223884008182024008136804008072340079984140079288400789945400746034400743897400741649400737288400735366400730282400726241400721834400720532400719919400719606400702671400691124400690439400681682400681279400652435400642682400635329400627350400605913400601473400586747400562684400527768400520083400519416400514903400505763400492514004835224004728244004618924004578104004556394004550564004400484004256844004044240039427400371760400371432400369705400368606400347317400343738400337232400333092400330237400329303400326420400325709400320533400307846400304583400292669400285400400280330400267308400238459400203414400188126400187316400163253400162804001605444001446154001405164001314400130867400130725400115880400112448400104693400102247400094276400093987400088961400087770400087654000812764000777044000715564000704400069219400043172400043020400041507400033894000320274000249944000214914000187153999804903999784739997045339995150399944413399925883999153513999067573998968639989370239988407739987443739986600339986209139986084339985718839984488339983359239983130839980630139980577339980522399792847399784133997737183997686353997556603997544263997244053997239833997173113996967563996857413996457643996422363996300803996190853996166243996057133996041553995938753995883473995727439956649539956290639953745939953661939953346339953196539952645539952597339952445139951927239951156399504983994950813994906839946214839946075239943934039942867399417243994078443993981439939680439938347839936211539934421639934100039933679539933523139933190739932766239931269539929947339923965439923322639922406539920438399203702399199475399197272399196266399193133991929973991864183991828039917589739915719739913310339912578939910817739910686639909733339909399339908076239907917539907422139906433339906047239905924739904814539901294639900353539900070739898870039898299539898115139896781939896347139893922439893898398933914398930126398913950398884613398878615398877953398870236398861739398861425398859961398856044398845113988279153988245239882141439880114239879468539878528839876616398753547398751017398737908398737801398737792398729052398716657398716414398714669398712931398700666398698613986821893986790623986759783986726163986655353986614743986598333986558093986387323986274313986191863986147253986106253986061613985937093985908693985888713985847433985776333985663139856309839854369739853869139853522639852882439852833739851754739850680339850676339849370639849207539848049439845932239842365339842251139841766839839189039838913339837385039837302339836910639833819139833517139831692439831623339830490398301755398299956398293743398290600398282486398231780398228799398222972398222407398205617398197732398179410398172056398157141398156055398143879398138667398132141398119169398117399398114763981127783980936103980887639808869139808360639808309139807848839807693339806838239806825398060653980589843980501663980416943980402733980311323980306143980292153980214397993121397988460397961910397957408397949893397939789397901591397889568397887953978816643978668893978614843978595193978530473978446773978388013978352573978295639782759839782130539782069739780765639778814739776368397758413977556843977374693977342903977141463977074103976859773976856223976823823976755573976723403976657243976623976536403976246033976196163976081039760396939758085839757913739757332039756653539753899139752844439751866739751114239749958839749309539749242939748311839746259239744138739743514239743133939742946839741590397407883974022339739431339739045139738911939738643973817083973782323973690433973579983973312339732323239731087839729123397288565397286393397286347397263009397246573397246528397237810397229617397224340397219593972155243972147703972094073972051073971511023971381693971379413971335223971123523971065783970998839707218397067997397062653397053947397047891397047743397042187397030873970206723970194183970061839700276139698709139698077839697510239697044139695598339695234396949808396934993969272833969237883969163639691587639691510396901846396898613968875113968861293968693613968621213968587493968430713968249263968236039681982396812513968106693968044043967933403967854873967794723967758263967753993967725683967701933967604033967596453967567283967348639672606039672538039671538939669482139669022439668816639667892639665759739664910396642682396637342396635986396631775396620723396608537396598698396593506396583285396573193965705793965671253965621553965613273965567163965545473965424396537253965352833965329823965322143965250913965166373965132593965073283965045673965014803964866453964773373964718343964708323964665753964644239645885439643419839642346639642080139641798539640014639639964539638949239637796139637320939636566639636169239635617239635374439634789239634756439633555139633516139633110639627928396272315396271213962670813962625873962471353962207939621530939620874039619402039619333339618699939618341839616329339615826339614729939614715839614591739612621139611169039610695639610569539610405939608063960754683960647396063463960452553960173103960172133960169339601525839600450139600395395999161395998385395997327395976830395967851395967711395956239595490039595263959525963959441743959407403959244253959051293958929143958877253958719839585328839585291839584885395835411395831120395829245395823918395812611395802060395801949395797414395794545395781163957781803957766363957720043957519323957506203957307023957166353957154143956923603956858543956850583956696139566388839565418395653613956270463956246253956239583956193303956110603955852123955842583955812503955804793955684773955404313955271343955269723955193813955189143954479383954438433954109683953980723953924239537123539536186339532757939532598339532354439530654039529427639527134039526808139526538139526149939525473539524762039524120739523928395231283395227800395219571395218012395216108395195670395137836395128744395120778395115136395102261395080433950667243950598633950458463950428843950396243950293843950196493950057063949934993949528033949381213949321563949196133949046483949024453948962739489496839488725639487954639487878839485146239482735839482515939482084339480363739479010239478709039478234394756813947555453947416063947386573947251263947212323947132923947121813947098483947027823946894073946174333946155283946045743945978703945840093945623523945534739453807739453005339451456139451435394485381394438413944291953944258613944252353944242703944214093944182263943730473943667443943613763943610039434978839433958839433813339433409639432802394322373394311020394296550394291749394291002394287653394269155394265373942549853942432563942411973942409463942405923942348183942248003942209593942186993942167843941998223941826903941771883941763239417311739416819039416418394157765394156019394144738394144215394125292394115798394106507394096002394091325394084988394079642394069850394060699394060242394030453939998893939931233939633723939334973939321383939299923939225853939154873938829643938568083938502113938381983938297523937979539379060539377548839374863939374317939373846139373059339372936839371382539371005393697894393682541393671567393661748393653557393644626393623172393618606393582302393575313935751233935571823935401813935141023935123283935028613935014939349663939349563393489440393466625393455626393438427393429139340031539338128139337894239335083439334617393346037393336968393320892393314438393313894393309414393300503932985003932976439329674339328760739328134839325755039324925539323704439321826939321796939320623939318961239318655339318067839317225393167503931658703931569533931426023931350953931307863931268983931254393118409393114329393113014393106666393097546393083975393071488393054285393033821393030707393030537393017678393017093930145953929814303929628103929290343929281439289062439288544639285220039284293239284274639284236039282554739282474739282151039281824339281750039279474239279227039279179939278693339278156439276200639275231639274988239274979392748925392742697392733095392725926392716893927048453926752563926736263926694503926566333926524039265147039260099539259872539259245392585347392568472392566263392549133925447833925425103925185543925071533925021413925019313924833963924664603924601133924456713924414073924262223924217723924142943924038153923931739238287839238099039237436239237392739236670039236539439233688239233183392312401392310125392303036392280400392260713392248188392237076392234874392230983922144683922075183921796643921722163921593303921541983921005339209373239208286392072051392062296392057028392042417392028093392026329392020106392012183392006799391974990391974083919735163919729703919627843919393339189910939189145839188786739187859391842743391837744391829039181722539180543239178695639178579739177919739177782939177635439177213339176514639174394139174124139172980139172436139171445939171240739171003739170644539169761539168580391685473916732473916717563916669963916659143916631163916499423916434563916371663916317933916229863916202443916133063916071013916034443915937413915809983915747743915744383915612903915525273915482393915152553915135893915036239150226939150199039149063639148918339145521739144818439144792639144788739143965039141655239141253391409178391382700391379974391379632391375118391368630391362901391350393913329603913323013913153833912722353912676843912194113912118693912027493911974253911752373911695083911482813911447873911329739112314039111799439108815339108215839107715639106614539106426839105413391022270391018714390990782390972088390970633390950947390945617390934079390907093908980239087387439085623239085504739085346739085139939084788839084657390844743908440183908428653908382063908336803908320243908169743907848733907819973907330443907275763907178233907055139070296039069683390694045390692706390692532390673017390671647390664307390655659390645187390630016390620668390616403906096339059211039058773339058178639055506639055330139054043639053893039051893390505479390504142390503221390479213904551453904544803904466083904444339043210639042466139039978390396210390343192390321270390312454390307847390306383390302390298615390298184390285301390281463902680703902639933902552273902318903902266613902235053902030113901641563901436073901381673901339139013233039012298239012257939011461390113973390109310390093421390093080390092075390089426390076863900695723900638753900535390050453900463663900450823900343683900337390029443900144833900059143899979143899920653899862553899758933899608963899525333899445838993353389932922389930732389925462389909053899026783898902893898743023898639903898544723898289638982713738981936338981652038980956389807029389795829389778488389776914389769811389750365389743261389711350389696485389693716389679309389675895389669307389657339389647165389627967389618032389602613896020443895794273895563163895512383895277573895252843895130913895032283895026673895012653895002338949447389481976389475170389467558389462724389438642389432208389431590389422897389415180389395930389393445389372912389349968389333037389329608389329330389327410389324323892931963892554923892475143892392823892232273892215823892042838920379389202607389174671389165273389158488389153027389142193891286363891221338912142638911822438910932438910702438910094389078831389056472389046223890400353890319803890167973890094338899990238899900538899806838899011538898945038898645438898436738897721938896879388942586388941021388934663889297123889283063889269443889261438891280238889175138888553538888259388875223388873352388869993888685573888563973888535113888404223888326838882806388800407388796296388793559388767515388767434388750572388735384388717639388701653388698745388673426388657358388637838863021538861206938859638538859223038858832388584476388576844388573138855914938854952138852396538852158538851691138851294238849408388491083884790813884790793884756473884744423884648413884598138845737738845695388439370388422909388407568388404384388389665388385022388374289388374211388373078388371033883671723883667593883643593883642743883458043883330253883302388329514388320448388309793388293085388285078388274067388263863388261474388259105388258971388240761388236738823512738823005388228667388217986388215843882094453881968138819084238818362838817720738814822038814582238814485638814000538811051438810829538809537438807110438806378038806124938805533538803317388031709388031517388001723387995723387987460387979038387955483387932279387912366387909755387901385387888493878865633878815953878757238786303387851383878271453878252333878146643878133583878028038772183838771420938770577838768325387678510387659812387648541387647081387626939387622905387616633875945683875883573875734183875723063875710973875546823875521793875453638753865038752626438752582338751971638751701387510769387484834387472554387466872387465018387464439387460682387458316387452244387424664387421452387402180387385343873789703873552033873544838734903538734713938733538638733256538732669138731566138730417038729761838729675238728218387276511387271628387262963872622893872607133872522563872358753872335893872270573872127403872103293872057843871961463871910463871894183871735783871685973871566833871474343871362193871330393871315083871262813871199938711679038711130338709634538709267138707700538706998638706997238706954038705841038705636338700638700388138700148138700101638700099438699044138696674338695453838693984738690898638690556138690216386883123868719193868502013868496838684701438682078038677811838677359738676872438674189638672828638672816138672770838671145638670820438670312138667823138666339386651216386643353386626603866062903866043338659739838659532338658807538658546738658341238658109138656643338654257738651628238651540538649984138649861386493709386488833386475008386468328386463466386439910386420253864127873863986138638721386375355386369542386355987386351143386348255386347336386311334386293189386265180386263903862533253862475413862431023862223623861970353861948893861680643861659713861631663861476763861467463861355438612025838611846938611611238611062386101008386099490386098064386096141386093213386082069386065124386021383860185893860088623859774123859668353859463638592399338590959385895762385892843858804713858803738586937038586115838585753038585151438585085385847493858382953858321163858251183858011583858000683857940663857926113857745113857695113857321253857314453857149423857094713856783873856609203856552023856482863856472385639575385611172385609213855975883855901638558965385584583855706438554685338554648638554052638553443385518808385506550385500994385500748385479686385476372385473102385468296385467704385462654385444023854377073854318263854214233854150933854044713854036963853878213853567323853336783853295803853290963853251213853138433853065723853033983852837303852808713852618243852602693852403423852371738523028538522702738521077638519936638519933038518431038518024138517632838516880438516692838515422138515271838514684138512746638512689838511065238509422385092901385082745385079357385055638385035964385006867385005951385004552384999974384995154384993550384986326384973543849630963849487338494503538493222638492140738492004038491655838491371538491355138491157438489085738488879438488544338488326384850207384842059384840626384839893384831371384816478384816184384815911384805798384798593847912138478953338478835638478170838477890038475645238475337138475330038472684038468633846781763846732438465744384656070384643608384614766384601649384601642384592965384576938456645738456079438455528638455178338454996038454664038452350938449370938446474638442113638441646138440760038440650384404840384404656384380250384379295384371216384365113843548743843538093843418503843386383843257383843121343843036083842878143842713243842273583841922573841901643841899873841866438417121238414921138414056638413075838412597384122399384117056384115623841122173840871583840800303840749883840689333840545503840460443840363033840277833840271783840149613840121513839890243839882733839750353839558843839280353839208493839119733839104793839078193839046353838925393838870183838830903838789513838713263838637273838579313838394823838317693838303273838042738379040538377614838377545938376990238376843938376313938375986038375432383746501383740512383732936383708791383685263383666561383662677383661953383661414383657284383652622383632541383628973383624973836178363835933783835889333835867923835647003835599243835448673835351443835299683835086153835072193835023223834960413834850193834819673834759038345343338344273383436203834360183834320823834190103834155438340963838340323838339962438339603238338677838338618538337513138336301138332054238331706438331445438331150438331146438329884438329086938329060938329019438328524538324532338319914038318916338318843638318766238318617938315698038314476938313482138313261738312627638311333383109394383087250383079993383064118383063435383051824383050523830367383031955383007938383000643383000027382975948382951410382936924382891369382888505382884203828748153828627323828587323828571963828508638283914338283443538281263838280000338275652238275158138273569538269997138269359382682831382665979382659009382652493382634154382628673826241433826001738259668838258809382570093382568171382559392382544593825437738254311538254304438253272438251857838250952138250562338250488138249347538248818038248574138247817338246830238246763938246642238245761538244931338244845938242329382414878382413550382406520382403500382400039382391718382386829382378026382363258382361337382353323823501853823476138234318438233935638232280638231994838229196638228654538228288138227498838227162838226319838225828738225619382234970382220504382215312382201187382187970382185714382182916382169522382164903821644263821643543821510173821497473821426883821387238213679382131767382124421382117887382112373821064903820848143820832683820736903820729573820599523820577833820570633820565363820506063820356913820349153820258438201624338201488738201205138200588381984571381983301381980522381972388381945681381941381381923142381906173819041303819037203819028363818734983818681263818542433818514693818506643818399003818350463818330003818329853818242673818185338180263381796051381788409381782513381776143817715133817619343817588043817468538174378538172911138172858838171813738171319238170447638168897938167967381657283816521373816454263816451738164414938164005438163597138161395038161388381605017381604246381599503815918381590780381582390381567023381565757381539123815280833815127883814935223814784443814735313814505593814337863814248038142462638142404338141368638141242038140580238139827438139474438139078038138968138137187381363348381356393813500133813305838132124238130623812600523812515853812385133812259263812029283811688333811421523811354238113001381128362381111833381108185381107407381107330381106838109350838108187938107433381071085381058040381041073810139333810093138100761380983803380979350380953861380949547380947229380934133809334473809206183808869438088066638087673738086675438086346038085315438082875138080170738079522338079230238078653438077745438077467380770153380768464380766640380763538073647238073519138070710380688834380683669380683326380676125380671613380671403380653973806499743806221213806166393806145903806055380599009380582970380574920380574082380569429380562316380557603805533373805359338051908838051598738050064938049800380489043380472501380467865380461840380461273380455249380440634380439085380416004380409673380409275380396409380388786380344812380344733380344383380337584380329801380313730380312719380306523802825753802818223802639553802594003802451303802278363802068343802013983801833353801738823801414123801377143801300483801294483801111638010783338010324338008854138008395138007335380070284380067122380066686380059094380051300380048983800470293800434043800369603800131423800100423800081113800044063799910037996392337995612437994277379942637379924483379923858379915462379911543799103863798958553798948637989113337988592137986067337985624937985446937985413537983202737982951437978381637977566837977141637976266837975199337972750937972060137971312737970389537969732437968826637966694337966580137966406637964892637964387037964343937959451937959064379584657379583499379573763795614953795596693795245453795191503795160263794976303794840683794810183794805037944793737944235137943881379435697379431388379410032379407913794049923793996143793984043793891873793860637936944037936714379354968379336723793243273793049493792964983792912937928227037927775379274385379253770379245915379243363792039173791626513791323343791191373791185113791134379091198379090299379065901379059087379057541379019483790111493790094963790013637899726537898260837897703337897421837894265378931003789272613789241063789087633789031883789025173788977043788924043788851803788617837886146037885920837885646637884168378831053788253553788187533787892383787623193787615133787359833787267193787186643787126653786944937869147737866564378661691378661629378660907378652671378640636378633287378622033378598026378591058378591033378576023785725783785693737856636137856222378554863378552851378542913378539748378538221378537693785259837851645237851246937850885378486791378484682378479037847134137847024537846426378461753784491243784458923784379603784327393784249023784060703783833937837895637835905337835161037833859137833276737833084137831229537830507037830062378290276378276140378272556378254649378252283378246553782346363782096303782094093782089093782025933781899593781879113781878337817959137817632337816886637815603137814752437811818737810871737810244037808977137808723437806361037806076137805884837804525837804435378030724378017585377995104377994137798811337798483237797200037796448137792920037791981377917477377917093778942063778888353778650873778191303778082303778006377800277377792610377775791377765072377762703377749300377745671377736056377733097377721513777112123777111223777082343777014377687131377685683377674761377665812377662740377652641377649607377645143377641052377635168377634051377632213776133743776001583775967733775890403775835483775816377578597377552172377551612377546223377544805377540973775167013775138023775132163775102813775084303775083913774916593774859537748253774701537746852237746705377443326377420626377416048377408787377406433377395742377393471377392351377391902377389403377385225377345341377315690377314639377313523773106143773067753772968237728256137727062137726551737723504037723466337723114137722038377219496377215393377201742377194059377192795377175282377163078377152196377136739377127370377121748377102302377098282377060073770597493770571537705691537705648377049479377040112377039053377033539377030043770297583770027933769993243769937903769716953769658723769544837695239337694737693184837692777037692647937691454437691451837691380376912315376910172376902563769021203768995913768928203768916593768909733768907973768868533768867473768701623768562543768489413768453633768382637682937737682886437682348037682277237681564437681562376806500376806457376787237676706837676211937672871376728203767194093767093403767076903766951753766908613766873813766833753766806803766606563766584963766552063766548633766483203766389913766343833766255283766213223766081437655938637654589376515753376511254376489733764823663764748263764686837646363837646247637646017337645260637645013764362837642839537641130237639339037638759837638321237638154337637584037636847837636267037634509537633473337633360137632889376321172376313803763045683762927003762779463762721153762626583762564103762534083762328143762263483761971083761948793761926376188417376186517376155043376149192376144186376137893761276193761230203761228233761120183761090683760969843760868443760724037606171037605492637604549437604289637604089376040752376035065376010385376004046375982811375969118375967103759612873759612593759451333759401503759399483759168933758942837588224375872122375868963375851743758366983758342193758294313758199213758177533758145375794323375793279375778179375777081375769591375769433375748819375740079375723519375722729375701706375700138375695573756522437564287037563501437563400037563194375629943375616736375603129375600362375590740375580753755238337552121437551730737548189637548149637547846737547334037546901837546087337543782737542520737541818837541408437541090137540791337540202337540102637539453737539010637537112037536681037536627837535357537533301375309298375309125375279562375270156375263233752629573752604493752591783752473443752463443752439237524243437523972375236474375234020375231193375215399375211595375181743375172842375169973375153292375141505375092290375084790375069663375056718375055156375054752375044283375030843375016930375010144375008681375000867374994374991639374977667374976173749743403749718363749559043749555463749175353749003623748965237489618037488586937487978737487926337487176374844393748374923748221873748205973748177003748157013747972143747938953747936437478538437478478537475602437474872437473411374720083747102643746973883746866923746598033746562073746542374636387374632339374630922374627648374602495374591178374588255374574205374564570374551038374537703745366403745345003745328533745307437452588374525512374502875374472843744713843744703043744561923744368033744362133744354637440495337438330137437996137436709737435285737434320937434314337434294537433610137433113837432589837430098037429758837429509637428581137428104137427248137427186137426060137425578637425393637424881637424582137424187374221275374198954374183513741786563741766273741518563741369363741336463741035723740977953740868913740843543740824137407029637405800437403874737403779437399591837399513937399433373980385373975455373962313373961759373959569373944913739409813739201273739117143739115633738520983738384783738282023738267363738255273738161253738014213738000223737826003737767923737402737372894937372517373716263737146137371452737368467237368341137366527937366515037365799737365443537365335637364673937364607637364447737364348037363081537361354337358478637356404937355876737355475937354314373533094373526601373514198373505671373499135373497783734660253734632923734521103734346653734185593734004173733955063733939537338781237338045037337992373371557373370369373353876373348802373347241373328489373327150373327057373315237331361837331314373299873732971937329243732916163732886333732883903732845113732759793732700883732576973732449523731870153731869903731827163731772213731649473731633363731632643731427037313343937313161037312935037310702237309037437308155437305344373049430373046015373038820373021435373016372998221372984285372967699372955887372946894372941037291996437291641737287738137287420737287034637285724372838437279971237277384437275263037273484437273133237271970537270578437270201037270084337269127037268620637268456037267519537266523637266110737265845937264649372644770372639050372628773726258973726239803725809237256171372557855372546433372544474372529938372528120372526064372525125372517918372517651372501908372500633372487040372469937372464835372460233372457654372423542372415562372402086372395818372390160372387278372362398372352455372338807372329703723015613722987853722969237229321937228468137226796537226519937223899037223220372219088372200256372191205372176845372160646372136128372133978372129635372126948372126888372124048372123151372109204372083177372077934372070499372066521372061627372055313720255703720108273720022783720007223719846823719799223719436337193543437193228137192186371912391371895416371890987371878938371857630371843648371831495371824074371823830371806236371797393371789746371782823717825623717687093717654643717634283717610843717568343717544437175074537173934737173488637172248437172154337171787337171774537170325737169943337169493716763237166569437165987237165913137165837937165665537163585137163306837162694737162256137159186337157837037156404137155400437154597937154501337153308637152930137152706237152683715142003715141983715106137150707937150130837149954037148943714813643714662453714659137146236337142454937141524371414133713980637138256337137987371356478371354578371352651371350044371328469371307289371294119371286983712850003712640653712543003712482253712263093711949433711913273711745493711603837115675037114167237112512637111799237110079337109034437107925137107280037107253837106756737106058137105888437104808437104778137104318637103658237101494137099616370982143370973157370960996370959853370948762370939544370933547370891693708912363708866537088632837086543037086063537086048037085179237083839370827761370820789370817294370812967370804425370798003707880553707831713707743383707732163707635093707304993707272537072215637069397370688077370670790370663160370630503370618892370617963706149413706073453706007833705963713705762713705627837055857437055574637055435337055158137053643737053605370530336370528916370526338370522893370516126370507075370504642370501923704975493704850383704761837045838537044909437044578537044577637043935737041735637041332437041254937041197837040466337038898370388051370377579370368970370363338370323932370317474370312787370294935370294592370286709370281972370254612370251069370250719370239728370228411370225916370224773702219203702166343702047053701991683701826253701826183701695343701671323701615963701567603701564273701563563701560153701419283701374103701337663701290337012591137010166137009919337009863700971063700953333700935473700835593700717783700652893700651143700362383700270113700211073700198683700186737000643936997742636997155336996676036996406436996344136994775236994735836994266736994199936993833536993667736993003436990900836990634536987620036987552536987351636987320036987130436985989836985904336983798636982842636982827536982164369814799369811036369785697369782271369779286369773492369765879369754179369753543697535393697500953697464763697375343697084493696918563696673223696649236965573636964711536964631536962990636961642036961117936960581436959404836959344636959196936958826036958081836957542836956641436954145236952972536952970036952698236952489636951305836950247436948736536948379736947003836945175369439350369439221369436453369427101369424825369420520369415008369403053369391374369383400369377010369366696369364213693539543693315993693239633693083803693025136928920836928248536927693836925985936925502369254130369250873692356053692355543692341823692131353692059436917914936915169236914099936912779336911598369111765369103994369092952369091764369056214369045365369043042369033538369027962369017101369007968369000862368990843689874833689791733689783983689769233689731963689570943689270543689239436891769436889762436887394536887070036886689336886181436884581368821871368798667368794622368769744368759575368756900368753229368749423687412493687401223687367563687259103686984993686720733686692133686331313686325293686314453686244693686186368616743686133513686130443686102636860952036859156936855728536855522336855520236855293368549293368547231368532998368527533368518486368518461368512431368494972368489536848783368452774368438642368413074368401821368395423683807383683633136835267136835152336831167836830835436830294136830271936829837236829749368272109368256953368256643682540133682525993682192553682182313682061973682042953681978843681810736816077936814688836813995736813378368131673681144433681120293681029553680984783680900593680768983680741143680709368060592368055361368053483680528383680516653680439143680368133680360973680121023680057683679855936798293236794205436793958736793679367936683679219436791594367869170367868099367835313367832243367824213367817616367810157367804183678020093677946313677901823677787936774362936773553367734735367728093367725233367721884367712807367703262367696947367696653367695020367685682367684543676526036764008136762501136761671836759018636756321367537971367532750367531489367530713675233473675134643675026123675013873674962753674770983674768836747630436747192736747191436747072936745833236745367447871367424598367422493674050953673678513673562523673545573673474793673467693673321023672978123672828083672621203672339853672236367220313367214462367198693671944136718521336718162636717689236716533236716171636715752536715184636715121836713885436713709536713458636708620436706978036706353136705728736705099367049246367040484367020153670081236698948736698320736698242736698210036698076366977676366966050366964191366964025366937566366924835366919025366916242366891359366889526366881017366880133366872088366863721366863304366860354366856219366851281366834655366830495366824107366814761366812757366805191366788599366787637366785866366777662366774084366770567366759833667504536675040236674600936671168536670862636669706366696785366689481366679725366678127366677357366672097366668776366611279366595820366584902366578953366571326366554990366547847366529554366527794366519376366519173665160363665110053665063133664942536648427636648405036648185636648174236648075436645954936645392936644792636643437366433333664283993664138003663920913663890873663883043663657793663656303663324383663194013663116733662985113662859436627637636626077836625742336623248236621156836620289836618796366186723661789103661719343661586053661511053661444913661434036614298736613991336612398536611820136610984636609680836607479636607333236607076636606801736605291036604773436604596736602444236601857636601761365995292365995011365991777365991544365969251365952136591622736589612136589570036587825536587787336585537836583682365830404365826453658143643657831893657817503657785033657672336576720365762947365760482365759720365757823657325503657286473657259303657218933657142903657138533656963943656902136568954836568876136566391036565561036565433936565344636562664536562539536560125436560052836559728136558920036556733365566335365564004365560734365557242365550197365547854365545796365538184365534252365532928365520143655171436550532236549784436548908536546879336546532336546302336544540536543236236541368836540731365395900365378056365369458365367295365367212365362872365356203653542436534969836534606736533011036532634636532389236532074336531109336531055336530871836530206336529498536528229336527758365267404365255129365252879365249215365237435365217698365214923365211673652085436518413436517553651748536516971365168817365166027365154097365142174365139203651374103651290243651027533650883193650760336506069365047943365029783650191613649829583649653023649529673649526363649434033649288473649244636491028436490801536489547436489304736488517364869733648527333648367436482359936482049436481231536480340136480094736478158536477545936477308336477203936476930136476664936475022236474233036473486636472482364722562364718698364701337364700443646907853646895353646873883646729103646299623646070513646058863646044433645873463645806363645782293645654936455978136453369364505579364504910364488151364487351364471796364460212364414083364402020364392460364385531364385083364372263364368017364363803643571043643399463643396636433150236431886636431465936430549036430366436429691036429433236428540436427697036426318436424744536424394936422457536421605336421021436419966636418061336417956036417791736416210436416020836415813336414692336413680836413646364124733641206973641151673641038543640914364083465364081993640717693640604636405144436404013640297893640288073640273453640220563640040113640022836397495836397490936396517036396173639590803639517273639516036394789136394356536393692136393385636393007236392937836392805936392273036391502236391329363907923639059336389385363883802363869736363859363826723638247613638156653637788513637725936375754636375552436374728363744528363739217363736490363731952363719679363710803637021923637017436368691236368039136367895363674154363647827363641860363635067363622281363605442363601583635847043635798136357095363568393635679103635614883635571403635441733635290673635188433635078263635003436348896836348057236347949736343382336342390736342036936341170363390777363370947363370173363361939363347208363338055363312396363291887363273084363262032363236745363219087363215563363206533363202300363200163631841033631808423631753373631637873631471183631410383631395693631234383631058573630887873630732433630628836305914436305813136305116236304830936304792236304271363039612363037798363037363035457363034169363027255363007007363002422363001922362996859362993317362981887362977459362970412362968465362955997362953513362934559362932291362922908362922405362916627362913033629071943629062173629032533628919683628722636284363436284339836284271936283890836282207936280352536279739536279106362783597362772846362771376362748938362748473362731267362717074362714759362698145362692193626916553626831113626807036267900436265226936265205362646851362645366362637870362628491362609359362589337362584683362582866362578549362568561362541105362533076362529808362525173625208323625165333625016613624991183624920973624903436248724936248454536246905736246774136246517836245331636243624536243198136242850536242769336241318136240716836239258736235898636235364136235300736235209836234891362346836233967036231384736230479362290138362280993622754253622640636226337362257873622573936224227836222907536222288736221880936218964636215082136213361436213306936211149036207643036206683636206394336206177736204945236204196836204117136203470736202677836201221136198165136198123619687143619667953619425536191561836191552736189716536189220436188698361883395361880226361877664361848871361828200361824344361821613361821242361819518361816757361809150361804561361797702361796389361786343617848753617820403617775383617744113617525723617285236172718361722606361716380361703916361681136165966836165108736163747436162708361618385361616215361602322361598003361592369361589511361589093361585788361577213361552892361535651361532775361526105361524644361519813361509891361505428361504703361460994361459414361445952361435016361404033613999493613928236139209636137044736136542436134755736134133536130416736126281736125161436123302536122704236121379236118390636116439736115074361142257361136224361127313611225973611194353610964003610953263610869223610813203610712733610691383610603603610580113610508823610507953610057136099944336096377236096287136095713736095087436094835736094689536093065836091992736091474736091466936090903836089379236089238136088482736088121236087820360866541360861338360860230360840184360826310360824559360824002360810134360806653608044363607968293607968273607892793607679763607456673607180473607169243606998536068986436065676136064946636064584636063812736063590436063373136062832836060779636059155436055292236054837736054810236054037336053278836050515836049126936047947536045176036044320336043224236042138036041772836041733836041358136040416236039367136038199836037656436037554360371931360369890360360115360358726360350881360349761360346873360346223603417293603275636032555360283604360278860360275147360273348360268073602665023602555473602511153602509336024121936022522436021218736020372936020107936019511360193698360191960360182529360175113601667636014927436014839336013887436012942360119483360111923360103716360090093360084418360079672360076436006609936002182436000993736000814035999520235998763359982135997961435997217235996120935995418435993588235992818735991921935991559035991344035989573359889297359877903359856158359844523598258663597761535977432359747332359745570359744434359743958359729573597290063597234513597227443596832573596819953596785035967629235966961035962520735962238035961857935960076535959374135958043359567969359560928359546415359539686359518560359517053359513543359499503359493950359493608359485881359485379359477448359470787359442003359415695359405340359402291359396932359390040359382442359378643359358007359356883593453693593437793593394073593157223593025635929702135929498035929294535928069635927842235925698935925592635924591535924565935924343335923733835923389435921817935918305435913998535913919735912932635912239635912176135911377935910396359103819359101663590972383590841035908183635906732035905943635905633635905592535905368735904972435904946235904609035904089535901950358999755358989955358982140358965075358957126358947573358945306358945142358933257358914000358910631358894862358891617358880073588789913588781093588766673588647593588469553588246323588084983588068853587948653587920343587867773587828423587624273587582733587421313587137043587102753587025253586776713586499343586445135863655735863313835862630135862391435861614035859161035858889135857986035857381935856993435856267335854227535853828235853825358532801358511312358505370358491686358481037358465388358453854358423514358409130358399621358385348358384053583710443583572943583570335835499358348216358330120358328438358320786358314209358312255358309400358284170358284100358273950358268176358258821358254828358234477358230059358227493582271293582084843582075353582006803581775983581732793581680823581680635815421035815313358149930358141723581183683581154443581115135810653035809964535808817135808127335807847035805670735801513735801137335800190135799935335799870835799317435798703335797918335796488535796140035795259035793534835792773535792585935792544235791366535791004357900456357891803578795923578634235785429835784316635784070235781567035781548035781276035781081435779788535779271135779209735776919935776536357759747357759498357755659357749027357748116357737313357731924357729160357719061357717263577144543577024523576613413576426743576234573576218833576208357599200357596497357582563575782013575586563575582943575401913575154333574979043574701453574508383574408893574375073574180483574161713573994123573989173573988623573962363573938853573392493573326073573299703573268493573193103573153403572923473572899763572882253572843053572768063572610783572528563572478173572414613572297335722612535722308535720768435720021135717841135717223035716504435716262035714712735714645535714558357134471357109828357091156357062688357024385357016688357015181357014416356978777356936673569336233569255035691548135690948435688856135687315356868832356861113568542733568306633568125135681248135677807035677569535677549035676303435673871935673568135672862356721334356715594356707294356690978356681906356678586356667684356657975356654465356653693356647553356641785356640585356631299356626050356617251356598296356590143565586363565576983565511313565424235653537235653479935653450635653150835651226356498769356484623564842363564668343564618783564349773564143613564094633563960123563921393563880535636629135630437356304030356299829356298122356285993562679573562516113562441843562404863562322803562184333562058713562054113562019823561997973561903935616170235615707535614884356141595356133640356131310356120211356100527356097344356091907356076502356047859356037774356024476356017618356011829356006854355995646355983406355973731355963280355962745355961063355960846355953012355946833355944103559326335592680735591654335588894835588219835587767835587653235586749935584161035583615235582969235582515355823509355814653355768511355763345355754569355750977355747110355717628355711105355706707355701803556995923556929933556853663556820743556767583556697323556456623556426123556361113556296863556294963556207093556205053556100063556069333556023133555914603555826213555782033555642553555557663555487273555447173555356535552768335551893555186453554998573554998213554971433554667635546594635546443554284143553942623553888163553818523553686443553646635536130135535420235535191035534206035531424635531043553033253553015433552806693552664393552659813552557213552476113552418635523305355231359355230408355222436355214962355212773552125713552098733551997753551649203551517983551389513551216623551138743551029643550930133550923535508154355080959355072933355058523355053438355047514355046775355033818355032862355032232355029680355028363355020313550191613550185733550129003550027583550011063549957593549834803549771183549386783549214473549170833549110313548939323548824603548767613548587623548502543548437333548397635483283435482260435479689435478382535478151935474236535474223635474077535474014354736739354722467354712571354707015354696583546704613546690435465729935465026235464770235463099935462750735461637435461205135461143635460650435459486354585170354584099354572203545668533545647323545398323545218535452064354517364354512914354510003545000793544935223544866703544630823544240413544225873544183143544166623544144535440857435438445235436219735436200535436042635435313543461773543458935432833535432342135432138354311143543077383542965383542826503542771723542771354239885354235513542346443542270143542206123542186354185133541800913541795683541685113541658603541578003541489773541428643541417203541114053541051953541013333540900263540863963540845363540819135408053540772983540734235406666354057354354046416354043329354041678354036140354015787354014133354006461353994487353980398353974538353970416353961896353954203353949925353936133353935021353933216353931603353921894353918646353918446353917765353911299353909813353906068353895552353889972353871722353870272353863818353855253538525953538381543538305593538227483538190283538142153538112963538081335380372035380257035379832735379523635379392035379144735378744235378562835375889735375228235375088135374597935368438435365003335364823536304443536276543536250793536201703535832893535539913535526703535463933535318443535301235352573035352545235351948335350923035350880135347813235347500535347393535346038353459494353431439353430830353425325353421003353417723353415421353410918353409334353408687353396244353390990353389432353374026353364842353351018353343175353339769353337928353336770353331636353315819353313480353303385353298102353276598353267726353259751353249599353248105353236155353234628353230728353218003532100353532092283532004733531968943531864673531841483531549793531543383531450413531434353531381933531232493531211113530930953530906235308618435307598035307032435306432235306366835304844335304250135302285035301041535300795335297755735295590352949774352936921352934654352934461352933372352922481352920457352892976352879772352874265352868925352862371352858775352856062352846853352843123352840403528050273527952643527866493527760653527697743527684823527684383527570883527514143527379343527356293527273193527271363527049503526920273526889413526731563526520963526464123526411735263671335263354935262925435262709635262641735262310735262118635261905535259956935259331935257943352577833525765835257135257045735256435235256284835255665035254882135253943135251645535251359352513579352499161352495421352493411352487343352477643524741463524442393524404823524191993524166873524069953523984993523961183523896073523872993523629173523521153523384335233499235233412235232248135228849235227187435226391335223678935223260435222613352220947352216200352186311352181706352153845352139713352129712352128453352122285352103454352097587352097125352083075352074047352041903352039923352031073352030568352024560351991918351988295351970020351938634351916635351906936351880691351880106351869550351859999351859453518377963518301235182586635181554435181324235180173435178687535178266635177502435177208435176722735175426535171974635171910335171408835171348535170512351700833351695581351694386351672405351659735163419835161705135160651135159481935158470735157656035157515535157504135156006235153992835151981935151331135151045351500180351493043514808935147791535147302351472512351452403514432583514362793514327103514203823513935283513892535138154351358760351352420351327968351318763513071113513015713513009233512966253512923703512742173512738343512693643512320351230533512217133512108123512092663512007203511810413511778973511690835116686235114648235114621351126359351114507351110279351106629351105253510935463510870523510700135106311351053503510532835103191135102607335101984735101623035101478350989056350984379350983972350982012350978370350962060350926824350888404350868586350868413508624963508304383508237163508180983508050193507777603507760093507750243507732523507417923507290043507052413507045953507008293506988193506937013506912843506744303506692573506676783506638753506594353506462335064336635061167935061068350599593505538163505532113505384513505347433505317093504985343504923263504707033504682135046763635044862235044548535042611535041272835038574350375169350342769350319369350315116350315088350308458350303152350295360350292946350291480350279053502725553502676193502492235024178635024000135022572935021269335021239235019489350193553501855935018088935015286735014023635013964035013208735012984235012038235011877350113784350105284350097743500863535007843935007147835006963350068688350058954350045317350027035000351535000324634998319234997930634997348434997029534995900349957666349952692349942334349936699349932341349927973499241023498935193498847883498839803498830513498488493498473534982615534982343034980941434978179634976548934975260534974801334974114334974110734973770134972960234972269834972104034971842534970940134970848034970652334970401334969761734968425734968370734968222834967355934967089934966811934966082934965195634964444634964414034961499534958738934958267134957719934957219834956229934955264534954769034954464334954035934953880534952377534952376934952338534951816349517311349501256349492797349477283349470834946628234946243034946016034945370634945132134944489934944310134943627334943220834943141134942804434941348534940269934939981134939304349388699349381036349377196349365299349351951349349599349327748349323607349315928349315366349309075349308833493044963492938463492904883492790703492766153492659843492582603492537534925099434923853134923740534923617234923512134923463234923177134922994534922554434922385934917070534914234534913912634913478434913062534911429634906244534905726034905242634904792234904775634904382934904066349038237349033689349027868349025563349013543489925803489766443489746463489730903489552633489470333489419553489390553489314763489247763489091793488865553488719783488710773488689863488616793488199393488161433487960763487901163487879533487740693487637433487615283487418263487127833487125303487060823486861323486777703486718083486659234865965434862388734854613134853420534852773334850938534847674434847485834847111348469417348467043348458663484522613484520183484481123484466673484459753484455993484323943484292223484248333484105433484012234838473434836957334836942348349030348336384348318848348317457348311440348293423348291339348288812348286647348284064348276033482725853482664733482563373482233834821329834820785734819044134818533834818395934818177034817268134816343481559133481437003481425843481407723481344813480921663480802213480669063480435834804250134801921134800260234797286534796758347960984347958452347955328347941677347934934792375634791200934790111234789450834788968434786615834783176034783025434782685347811910347806987347805115347778881347771618347763594347763376347753362347752931347740870347730198347683547347673363347672815347670699347661148347658726347637843347637584347635194347627233476253133475861934758042934757418834757172134755442334754981734754670934750043034748979334748597434748507634746821534746336834746102347459906347447817347447340347442945347437896347407002347378313347367251347362138347354469347331719347326339347315773472918333472766333472733434726250234725367334724217334722361134719526934715604234715418347133060347116463471125193471116634709828347076140347063923470465843470427753470368134703014634702837834700079634699179346964653346964554346964063469562403469382513469126253469051303468929034689199934689024234687309534685292334684306234680419534679002346776485346768253467662373467613263467396134673228134672719234671020134670864234670811534670320534669978934669566734669116346675849346639032346635893346635573466180773466154034660654834660592034659424634658946346585122346576225346567534346567134346559357346556635346548073346545283465451483465448093465404634652839634651329234651284734650217034649796834648286934647633934647492834647100346462172346457606346447015346442867346424887346422496346422030346419775346411623464040303463985963463927943463729163463703613463700413463697534636556034634579346336363463221093463210113463192113463152943463085634629946346289313462837053462835793462674093462467534624538734621770634621588634621443534619939134619714534617404834616814346155718346153246346146153461424453461351513461315753461221533461092663461057473460980443460966543460894533460855813460823913460815043460675593460666923460505643460458013460246543460240513460240143460177023460122223460071473460020403459643683459639263459435243459371843459091673459089383459054703459014673458997793458956353458589034584519334584103934583602034583314345827879345813299345801193345791743457781143457715643457685534576030334575178734573169034571266334571192334570425334568478334568431934566717834565254034564765334564114734558773134558354234557348345543345345541017345524524345520559345514970345492922345483825345483119345467206345464903345459947345456883345454013345444543454360323454352313454333323454236783454152653454114253454088634540390334540107934540019034539927034538631434536771134536562134534660534533537434532545134531421534530900934528860834528576034528082834527631634517525934516887034515741345152473451333973451171683451105134509824434508905234508148734508109534505107034501788534501757634501585334500671634500426234499981034498481134497670344974081344969272344938993449341013449007003448896263448797843448761863448649023448586063448384833448353673448288963448244953448033033448031953447979313447966923447866363447794453447732593447690953447676163447462134474127134473992344734198344732741344723446344710679344706434344703369344700385344690131344689077344687512344679395344675991344669583446648463446647734466285734466087734464454634463723446339553446071703446040223445898873445877534458254534456863934456799334456458634456193234454249034454039434453806234452412134452130334451876834451553334451156034450186734448779734448307034448055034446503034446458834446340034446067134445569734444697234444657534444142634442591934442562434442057634440273443989513443790453443668743443621543443435634434169734433729334433201734432292534431801734430599134430526134428351034427938634426875344244423442440533442416863442387423442383313442375543442313793442267003442260003442228993442156534420100134418173434417969534417849534416525734416470934416463344148601344130331344129883441173533441100443441099243441076273441031923440907513440888534408863034407460634407153034405872834405703934405695434405292534405173434404396234402688934402516344024053344011962343991618343968373439672723439610063439562383439539143439503043439383103439359993439193243439182533438868073438784634387088234385202834384768343838722343834087343829110343827317343825035343823697343820447343806373343777088343769130343768146343762116343748987343738377343723934343720773437199583437172123437167063437101873437058783436881013436874543436826163436771483436679053436631363436595113436510313436315203436086043436031503436017143435970323435946343584493343565753435609593435565453435543183435522633435488903435485413435334403435293033435187763435143273435090534349676834347983134347677343464019343459583434558283434420643434248473434239503434231513434122733434095943434049243433948534338927034337503134337496934336967343364784343360421343325767343315781343299858343292247343291845343290350343272134343241374343240954343240432343222934343202413343201349343188689343162460343119033431170483430979763430968293430889813430784013430597033430517433430474913430457533430200373430154823430096063429970342986301342984109342981973429777534297524342951105342942799342941321342932325342924238342904573429020373429014973428751973428572003428369633428256453428218623428168213428146663428142733428094713427932934278560934277522134276915342768778342766985342766643427654523427644234275900834275739334275649634275037342744989342730497342718477342686207342675537342667838342660553342644508342639286342632142342620805342608462342600502342597660342594760342581669342574960342573650342552510342545731342532221342513589342501361342500563424878493424767643424723463424721334246188134245695434244848434242952434241934034241240234240286034239648434238046234237064734236261534234166634232429034230626634229532434229337334228484334226944342264126342255361342235225342233221342230114342223300342221828342218114342217103421927283421920823421893843421861534217626634217316434215975342157876342144613421443421432993420880673420698483420678073420668734206570534204267234204128234203952234201891434201751334199653734199543419879003419589503419555223419465463419464483419378593419369203419334073419319933419285413418965913418929613418895934186069234185264234184762334184479934183816834183815434183163534182727634182565434180944134179788734179653341772310341762911341743793341741041341728880341722953417153903417029743416992723416982033416937934167685734166842634166038341660327341642962341642676341636192341630161341610140341603257341582671341577307341570733341556457341553615341535188341526166341520018341512217341499939341495950341486935341475294341460890341440286341438090341406430341400305341379980341372263413663034136489034136313034136243413348833413182423413178083412800893412785834126756341263187341244723412404193412395834123668341219499341217357341208553341193670341186341341177677341169927341165042341158583411569134115440634114453634113817834113742534112554434112246434112203034112179634111815434111367134111009234110936534108802034108045341075667341062337341058506341044328341007536340983552340978098340968668340966903409513323409326953409301743409283553409218043409214453409080913408866583408745923408624153408596543408584334085125834084998034084898234082064934081821634081063340783354340780986340779353407698473407607063407509933407436673407211313407198513406963793406953513406898883406798413406721543406707483406561883406530603406494833406319443406307703406176834060925834060512134060198334059152034059133405745573405722933405426923405415173405307173405299034050633534049482034048939334047197634045983340448037340419793340393834039172534039039634038447340379752340367976340345828340336661340314583340311304340304085340284647340275097340258503402557834024773340245782340245543340244834340240222340227957340225355340222646340191401340181064340160229340155297340150465340147089340121059340104653340103081340097991340074825340065333400648734006159834003824434003189234001576734001230234000552633999589733999587133999090333998821339985616339964229339963051339959452339947193399342373399272383399133643398920523398859063398831803398803753398643433985466333982751133982623133979843397963613397825033397814803397774543397726373397637383397593373397568313397435463397423063397412283397349483397181973397086793397003893396950339690480339687982339686021339678998339678342339648007339647799339635479339634915339628507339619327339594573395909233395890093395883213395824953395815933955834933955264533952345833950983395082339507693339485655339483513394604293394508133944011233941703833940295333939813333938943033938554833934768933932074339316345339294214339275830339273148339236096339236023391979083391971733919163333917892833917792833916599033916278233915652833913156133913034533910128339097080339056440339055816339038741339025163390135953390131703390124733389954363389858193389802533897888338963463389345033893233338913564338913096338910343338906538338903016338895502338889377338885242338884097338877974338874943388743703388650513388382133883756433883483633881589433881475033881327133879717833879217633878287033877747338773493387644653387436873387436653387401663387291323387234733387182873386961923386936533869274433867112133865271733864685133862663133861628133861381133860269433858480833857229333856976933856804133856422433856036333855933133854359833854335533854319133854132133851554033850903533850839833849941133849486033848439433848356833848050733845615338455869338435903384314253384215453384211983384146503384061553383889863383742833836823133836056333835794833834803833833289233833095533832630433831775433830471733829343382927883382919793382776733823327633823264433823108633821736733820898933820673233819625133819483633819310133819168233818986933818421833817526733816567133815903333813414433812981533812696338123900338109503380964053380866723380804213380631983380612903380555643380552233380525363380479143380407333802213733801879133801302338011447337984283379807123379741433795587433794510133793055133792531433791243733790509333789950337885753337881115337874577337856745337842082337837579337824722337824504337815988337810301337806833337788029337775782337760403377593303377571733377496213377481337745355337744494337737813337692988337635250337631123376286363376245033761787133761463833761374933761080633760263533758420333757255333756946733756606833755388333752963833752292933750343333748913733748132933747770337473034337470064337459894337454498337438738337427863374239883373955033738596733737965233737631133737293337367782337349872337346866337336543337301806337260863372556433724748233723070033722677533721846433721301433720953733720668133720548033720196233718613371639963371558583371549593371542553371539853371529083371192843371080863371041363370914733370876823370603733705925033705746733705392033704841337048023337047906337031246337028549337011733370084533369884633698359833697882733696628133695365633693645333692978336924913336912283336909003336905443336898050336863748336838546336833830336833817336802504336792070336786905336779507336775697336759343336757568336754961336742871336735836336722701336717362336710500336709989336701593336699343366518733664301733663647533663140533662932433661422336590341336579675336570169336551641336549451336546933336520057336518373336512914336511835336505821336490103336486781336484607336484368336467707336462582336450878336444893364417303364357053364300033364235633364191143364081423364001613363882833638318233637703363720023363713333363705743363481673363480843363420893363181593363164033630565233629826533627613833627335733626245633625296033622020733621954333621806233621599133620972336208236336201925336199136336174726336170473361575843361500533614984333614522233613228533612086433608301533605099336040453360397743360390143360287943360188673360095423360090133360048283360005243359699003359627343359625303359580583359421073359154203359056033590482333589866233589780833589577433589013358768613358747083358722853358699923358661963358586543358564853358488003358484563358299543358211713358106533579926333579765333579495533579247233578859233577994633577860433577482335746558335738453357353513357237323357023333356829783356711203356589653356256943355963633355878943355835043355744233355629633555330533554376033553866833553807333552915335515541335493433335493065335474335335463027335425063354152223353935863353838623353758443353724613353678963353632873353614693353444973353441073353435533533169333532360333530829333529680733529495833529350433528605233527914133524996733524702335233247335226223335220765335212365335199124335178692335158802335147733513607335134822335118953351180593351170533511572733510549335078906335065533350608013350314763350122923350105593350033733500163233498001933497125633493759833493429033492825633491710633491341433491302333490588733489025733488708333488000833487583033486752334865753348645483348580323348517033348484533348333123348138603348104513347884123347723973347719503347436053347292283347007533469855133468930433468565133468547733465197333465169334641716334634931334546953345453693345314543345152353345133253344947163344910633447269633446809033446668633446331533446286333446259333443565933441917833441736133439970833439196333438805233435587933434820633434633433434468533430741333429819233429487733426765433424403533423129833422408733421833342162253342059103341987493341833833341817483341816863341714543341664033416622033415996334144179334135347334101861334100339334082385334075619334059394334051237334048393340407013340125133340011334000877333997469333995959333968484333963663339591953339541143339512443339493433394923133394413733394410533393440833393345433393320233392831733392712333900342333899864333890880333886113338793783338774633338718193338291153338057413337954343337953253337910753337775633377399833376034233376031333376024933373529333725405333706967333704803337010563336973963336642383336543333336543303336467723336388433362955633362774733362287333361614133361124333583861333568149333552195333541390333521720333514742333483142333465660333461686333453138333447033344414433343916833343781333417643334060733340552933340054933339948533339723933339636333390266333378375333376539333366333336536633334138433333991533332736933332345233332175733331737533331278633331205433329477333328049333277201333254291333253472333249088333229343333227794333227091333219080333214208333213903333187323331526063331522003331468993331446893331358553331302573331150253331146533311028033310986933310922233310703533308544633307831933307129033306705833305313733302126333298211933297484633297397633296195233295617733293167933292961433292593329135383329030143328759603328735743328701633328690603328688103328572273328448733328435332837622332824385332804577332804142332795017332794983327900503327464923327167433271637433270878333269500233269354833268995633268144533267521633265454433264733733264203332638940332614292332612173326087423326070633259499733259187833258745633258405033257542933257309233256369833256194233255519733254503633253724833251163325057803324945233324744513324627133246076833243292133243177933242600833242494333242093633241499733239340133238235933238160733237996033237941533237647633236585533235472332353702332340795332337929332314017332288947332280732332274338332265055332247590332241414332235700332235446332234391332234041332229343322223893322191823322187983322003733219528833218594833218348733218182233217810033217606133217218233216855833216377233215567933215120233212841733211377633209433333208980332086998332076402332071401332051170332048395332040674332032984332032820332010197332006853331976261331970754331966524331960773319573733319562593319462983319408623319310533193001633192579133192071833190903433190408333189692433189321533189089433189083318799033187484333186954033186679833186186133185658933184628733184334833183182733182148833181829833180623333179530233177630033177504433175585833174963331748324331739975331733346331726596331711142331706461331705944331702668331701699331699923331674210331640000331637384331626330331624737331623128331603692331566372331564171331550640331535399331533634331518783315147943315024733314931523314800583314744331465712331464131331445638331421249331419467331384404331382358331373641331371667331362780331357584331356653331347533313334033313211423312986283312964583312857953312826833312713503312653183312587233125611433125439733122681633122551733122082133121938333120277333118844933115862333115725633115364433115186833115063133114323233112314033111244633110959433109375333107513233105307733104947333104171233102998533102923310240233310184933099093333098068233097832330977733330976853309766553309733583309678093309596263309572883309382863309375583309353003309101183309025743309011533308973103308872033308864733087182433086579330841910330814775330810754330797377330766852330737743307364063307294063307192363306910173306860043306778113306721593306708423306521923306384993306288233062441733062130933062085533060234933059909133059296833057957333057815233057256033056909433056849033056359633056284033055292233053107533050620033049350033049073633048626533048207733044592233043611333043504133042394233040747933039151133036818333036006833034995533033530033032510133032168933029784733029395933027333433027155233026813533024034433022917733019884933019300133017199833016007933015978633015813330134953330131859330107172330087967330079881330074030330070680330067921330038663330033299730329972713329965765329958653329935517329916962329907027329904721329899137329894734329894653329885800329883430329856637329854583329850253298411693298272223298257873298206483297975873297859932977864432976704732976025432974416332973867032972736329724967329719753329716826329712231329691082329680569329656636329648768329636033329616653329602918329590868329590358329584640329583242329562803329557555329556223295452343295445732954405232954124032953586329530458329519413295155213295110613295092032948143294720973294690983294488713294265132940785932939739832939031332937827932936261332935810329356870329356717329352662329350645329342492329334287329328983329328829329328357329327592329318583293055453292690329266640329258903292544993292523453292496133292384463292384432923571329234254329230119329178144329174513291641093291566983291365513291246303291143173291096253290758173290353803290333733290259513289681853289670433289600753289484863289469173289362433289304363289122943289083633289062573288990363288949832888618332888262532887892432886381732886200732885707532884461232882845332882511932880777332876159532875227632874775932874631832874188328741460328720896328709880328709167328702523287015573287002103286735332866046432865514432863365932862585032862474732859985532859586328595386328588453285813233285722573285668113285617113285496753285490963285484813285413223285384353285338433285281373285217693284996633284950032848985432848335032847138132845903032845815328454904328452091328437893284320503284260328421695328406331328402280328397680328377341328375925328357132328355660328352250328341599328338938328334003328333908328332495328330483328330125328318830328314463283136633283096803283053213282951663282623743282589313282577323282499433282494483282311043282251733282111063282100683282046503281998323281881843281697903281596523281496273281488583281480833281458713281435603281277053281181963280868763280779143280703183280659373280564513280549933280238083279987313279916632798923232798868632795260332794858132794776327947281327927325327917573279039473278971173278944283278898803278836993278826832788184632786943232784581732784174332782986032780727032780589432779897832779224432778678732777252732776448832776342632775979132774861132773710232772525532771494832769108032768978132768819232768273327659291327628573276257733276082723275983853275925353275914873275832593275825232758049432757843275601253275475733275333893275319973275243327522106327510829327509945327503801327496320327493353274928003274864413274860693274834943274685913274587173274450523274439273274337823274112763274089732739807532739259532738675932737724032737405732735951932735497327354211327349094327344749327337715327327896327322873273196833273191383272944983272923113272840432728376732726002932725601532724698232724537032723978832723778732723555332721478932720062432719623327181464327173573327173016327164143327162410327160870327139268327131026327123747327122702327115467327110075327096178327093183270855373270820183270786883270650043270379203270319513270296053270088813270030173269957413269862643269822823269780253269756032695332432695147326941003326939504326911238326900579326895370326889851326870666326868315326861022326855632685193932685157532684595132684300326835369326835361326832903268328903268085923267754443267645973267462083267366243267158932670570932670259232669867532669389232668777632668266632666754832665228632664205832664016632662070932660566032659384832657367326569413326548976326538703265226832652025326519253265004783264892383264618903264244643264141303263924793263884763263851732637660326368126326354560326338614326331633326302517326282941326268107326252674326241148326239002326233204326226756326223793262234753261930923261808403261781032617487732617251532616313432615735932615209832614834932612935732610588332609663260936143260927283260804763260563633260533543259861823259802033259735583259522193259434393259287393259158463258938532588927232587915325878562325870941325866971325860215325859791325856924325855859325842915325818648325813951325809676325787675325763083325745921325745797325738044325735719325729293325728548325726492325718718325717842325711613257042393256990183256890773256857493256833073256775423256735903256714263256617813256346303256147325613768325612896325606094325601432325600106325589833255824963255795932557927232556728132554174432553598432553426632553223432550355232550096632546525432544834232544609832542209632541992832540520532540503232539337332539336832539039325389123325376333325372040325366618325363907325345067325344283253325923253325403253312332532066632530554032530548325305451325298733325291949325278719325273672325269883252668123252443343252309443252295753252096343251997573251752543251588653251549325154759325122543251218403251173813251141813251061543250828193250737333250707232505782232501578832501234325010452325003212324980408324949456324935179324922113249192103249167373249108373249038053248998383248510632484508932484346732483662732483451132481108324810226324809778324802622324794106324787064324784801324768503247670043247354843247261343247217093247112723247079293247037432469891732469747932465329732462986432462928932460929032459836632459091332456884132452977432451537324515123324477993244722093244623823244488613244479213244472732443347432442724132442707324416919324413613244096163244048043243958153243948683243858213243849332438401932437763232437229232437139532436928532436545324364163324352653243497953243372153243325443243193032430115032429512324277594324256657324233223324225823242257453242250323242198733242124863241972983241888324140365324139743241393673241318493241214363241068463241063543241052573241035553240796223240774463240742083240731532406991032405489432404885732404203232401699532401057432400726732399746832399364323977766323975754323974667323970099323962582323961319323941660323927713239239543239083832390744532390463132389702132389608432388767932387882132387811732387237532386752323841119323839333323826782323809353323807999323788058323772466323758610323739036323728813237285843237237513237155032371523032371076323705091323698755323687326323686754323677201323672561323670485323668977323649364323646695323634625323615143236148413235812643235521832354286332353780832352814323511901323499623234910843234824403234775263234756313234722903234708553234590693234554532344309732343794832340448832340373432340026832339727732339133233731023233703863233699063233546793233447943233435653233390553233386823233351293233062503233054843232717153232687432324891832322874332320678132320425232320400332318354232317125323163799323161891323156734323155468323150149323139761323132482323130481323107623323091251323066237323063621323061126323036443230354673230342813230335953230276463230193383230014933229769313229681333229551473229314353229284843229268023228814253228791132286073228497732284890032284742632284413632281459322808195322802775322802551322799197322776729322776153227624373227605913227450883227450643227425413227138322707504322692289322679132267574332267253432266727322656793322649087322640823226381813226362383226195573225811073225659983225562993225515883225446573225445213225431923225273733225222932251679432251260232250811632250723932249263322491807322482178322473889322469990322467821322419280322409697322405551322400921322400169322398492322390832237903223737703223702483223695163223611263223551573223491232234289732233976332233189132232603732232542322320083322301629322299501322294159322287538322279656322277379322269428322267574322266160322263160322256993222466803222465733222252013222217743221463063221434132213564832213179932213099932211015432210902332210683832209716332209515232208310132206912432206830032206633332204907132203405032202178032201628332198952832197994321968569321950627321944619321925275321913983219047473218983403218771732187390932187178032186984132185005832184680632184483132183980532181996132181719832181332932181123132180739332180500332180089832178704232178289232177125632174516321742247321735863217306503217236103216974843216907383216889513216836643216737321663743216465193216157993216145123215932203215570993215484753215430563215391623215320413215139593215063563214895513214702213214628293214587632144011932143816132143518432143308032142460132141323432141116132141020532139109432137158232135325832134082232129822032128969321279915321257868321253902321244670321242996321231144321228002321224582321223380321179003211737273211317383211230223211121903211121013210978753210929013210862193210721473210662932104304632103633632102932932102632100972321004275320999753209971183209879813209856333209618563209519893209374032093642432093356232092590232092177320917314320908100320901830320879713208764273208695753208421263208288773208218132080679432080667132077640932077559732077232832077154332076738532075613832075331532075274132074615332073402432073241032072662232072106632072026832071655320713217320710552320709149320707038320706257320687770320679303320675784320671074320655542320638928320638590320635096320630846320625483206240033206079893206075532060632059371532058496832057278320563743205591123205465243205441013205423403205310223205189573205138283205120263204821320481373204811933204736732046532732043863832043572332043424432040426332040098632039806032039632332035304932035215732035038732031503203091753203080573202959343202951633202663013202440043202418293202295983202227803202208632021973232020703320193594320190773320166306320163464320158473320155985320154032014250932013590632012547532010561832009670632009253032008219932008158032005919532005733132005227232004809032004789320047782320046095320030314320021229320020493320012043199682533199624603199601323199580593199475863199343313199221223199140613198738543198639933198639853198632593198555033198554943198269253198206523198155643198100731980840631980006631979695131979309231978207731978149531977799731977221319758704319752153197520931975000631974807531974328631974059331973785319717663197084423196976913196763903196519203196507631964989031962950231962761131962165131961937831961336831960157231959072131958442031958428931957843031957720131957422431954651319543980319529317319523066319505097319502953194922431947297331946672931946432131945772031945565231943715319426011319417850319403210319392671319390571319378710319350381319337052319328254319325893319317632319311553192685943192647463192630531925873192522053192212703192198131921534319214469319202137319185990319183802319163813191243231912089319108131319095326319089213190837163190781823190773163190712793190638493190638453190630203190588443190549263190505703190493731903089931902028431901911331901416431900540931897040931896866731895587431894099231893631131893021331892440831891186031888917531887887931885620318853299318851841318840837318829683318818205318810946318795320318773159318755561318735430318728703187188253187177093187025431869853318683993186732443186699031865408931864413531863925231863537231863030331862139231860689331860660631859630131857557231856337631856169831855783531854624231854529318538480318537973185300113184930983184824123184698343184691393184656503184521233184502553184422813184339903184247203184233513184098303184060803183907903183780433183641473183543853183345831832758531827835631827542231827514131827449131825633031823645631823635731823521231822617631822072431821402131821055831820641531819601631818829631818096331817105331817044831816681431816673931815907431815866031814701731814173131813940131812963181275453181258943181048583181039083180951243180823131806203318060942318040336318038670318024534318024444318003289317995429317990773179902353179882823179866753179701473179570331794181931793324731793167631793049631792721431791847931791306131791179431791015631790330317903135317894903178926443178879553178873083178810793178801983178770683178727393178635531785968231785453178525813178499631784453317835792317819363178182233178061431777940831777541731777157631775641531775175931774475131774319317723848317719925317711436317704027317698586317693786317693249317693223317681583317680702317674344317640417317624733176140623176042973175912543175449983175388131753682431753403131750900431750139131750109931749548231749442431749319531749040317471649317460323174518883174445873174363073174331973174314543174120873174119093173867293173856883173726323173624753173494531733200531733000131732604531731483172659713172529483172421243172413843172122843172027443171839853171839453171818573171739973171734531716774531714437931713600631713291831712762317112473170931373170926023170894983170679331706296831706218331705880031702816631702094231700133131699975031699163631698100631697767431697489631697006431695787031695657731695293431695231331693829331693257731691256431691102316889435316885183168796643168750433168509933168468331684001031683555031682822331681910831680896131679237231676598231676285231674574531674511931673992631672407316715342316685538316684284316683557316679922316679393166782623166572631665101331664742131664015316632482316625766316613393165587693165448533165418031653977316535748316521808316517123165056483164925703164919683164786493164715663164705723164579573164463123163981573163978443163753343163745463163717983163617363163536633163457513163424213163231953163160853163120113162934963162822063162750933162727513162631713162528331625148331622899731621798731621229931620588631620486831619481831618901931618651031617970316171093316158256316141232316129608316123819316109369316103115316091255316086935316064911316055340316036993160109783160095933160057143159961813159838143159830631597822315960328315952376315931113315925325315914726315907059315899703158874623158855093158838943158709613158645643158603203158442023158354613158015243157958523157957593157910553157767063157698813157563933157387283157362363157306893157274953157215253157152933157115663157000663156891703156841693156721823156712873156503803156334833156089031560279731559474231556300331555580631555219315549725315532113155102831550138131548641131546157531544761831544188831544106331543427531540952315406658315405733153960163153918773153852343153728031536666331536411831533517231529807931529548631529272331529087831525243431524871231524390231524371431524105831523997931523761331522939331521944315199759315188292315167837315167797315165508315165260315160747315132108315124347315123784315094255315053617315050604315013968315012336314989732314988794314976234314951419314943089314933682314912396314911388314894937314893183314890699314889190314886500314885186314862239314859879314851645314838889314831251314828915314817202314801986314797986314792474314792103147778483147679253147669093147647053147544953147334323147203733147095583147075373147039633147006093146958233146861543146623831466226931464801631464012531463286831462692131461760231461276314594840314592000314583145314573024314570827314566223145637663145591183145576753145506431454484331451695831450961314506669314493942314476897314476828314474722314473494314473310314469828314461362314429493144193513144147053144015831435935431435232431434900631434050314323533143200263143132463143094231430483131429119731429044031427675531424588431424339314240484314220582314209040314208069314201274314195777314192849314187063141855903141783243141671993141659223141656443141582331415241031414556531413900631413895931413608314127271314121240314095588314093512314091288314075682314067328314055934314052239314044445314026033140252113140231823140160123140112931400989531400459314001051313996483139949753139900853139827431396176313946032313935542313924040313922903313918299313917773139143673139117573138866173138675863138669343138635453138605103138558113138553833138446933138343931383120731382690431382239231381976431380603831379481313748741313725479313724951313709995313708081313703003137006243136959083136912183136770983136703173136651963136636803136618433136595533136539731364439631363650631363204731362508531362271313617571313612129313591939313580605313579155313577500313573022313571703313571356313568927313565280313556352313556004313539684313532223134980003134873493134839543134644903134572133134374793134340333134289873134260173134086333133954643133880763133850833133768283133749083133735963133652713133498953133274983133120313300853132967831328954731327401531327007231326873631326778731326057313255088313254948313248899313247855313231792313226223313224018313219963132147393132110743131950063131814633131775783131744643131685193131538333131337303131237631310965831307717231307202731305949831305838431303809831301820531301253931300064331299557731299505231299430312993879312992167312985663129699163129563312954171312935245312933413129286613129202793128992633128536673128368231283529031282848831281709312817045312810520312805644312790633127903213127842203127835783127794631275683231274437131272186931271380531270799431269007312687936312683553312682770312681509312672536312658653312657019312649653126428853126007731259666631259662531258219631257787312565643125540183125477133125147883125061513125050213125039103125007913124979163124918703124907531248743124702313124538163124533163124282873124155983123943343123828831238002131237586331237148031235347031234971131234275431233561931232673731232502831232416431231723631231327731230736631230178431229688131229572631226948931223472931222711831222378131221362631220662731219509831218614431217694631216522331215774231215301931215022531214399731212777331212145931211961631208660331207854131207550731205577931205322031204459631204029231203651131203004531202348131202039312015644312014273119885663119876563119517643119345543119344403119117393119093133118841233118822443118774131187561311868395311863758311862433118592513118560933118388123118277503118065423117768013117748943117603513117591063117499331174722331172399331172127931172051931171764231171411731171296311712374311706583117035923116924123116777763116645083116510013116501983116213863116169063116154953116117713116115313116044263116038163116014373115858403115849231156687731155890031154352311541908311529931311526204311506143115057363115011353115002573114958431147821931147015531144774631140500131139216431138678031138534431137989131137334231135589731134817531134170231133523331133436931132061431131088231130714531129969131129361231127390631126480031126138431123852731122983531122570231122414311214990311201843112007743111995163111803231117400931117127131115553531115239531114658831114109031113991231113376531113276831111526131110445231110287331109871331108036931107219031106953731103631531102963731102690631102028131101372131098610310980343109801553109751713109664093109596483109568073109395633109373573109337203109203843109049783109045903109036543109032303109013753108993423108856743108809223108614393108440113108092293107979831078661531076937931075977631075023431073647431073149331072401031071069331070992531070986631070378310694977310678965310678467310674602310668486310667324310664794310661020310658713106549933106425193106306443106097943106096813106018513105929133105824453105747031056702031056456631054502231054200831053939031053374531052957331052676531052244731052091231051978731050667931048081731046906310468384310460117310450947310448113104406503104386403104341403104228943104224803104013693104013323103932863103905231038841231038143931037886131036315031033662631033158231033077531032810631030538131028582731028350231027360310270240310265685310259429310258120310252594310243946310236524310232203102269963102117253102107531019080131018353310174501310171733310169970310165590310159310155295310150224310145863101406083101405783101384603101266693101259093101102993101005673100951503100919733100906243100701283100676893100549473100441673100425631003313031003207531003135310029873310029121310025984310024252310023773310014431000960631000114330999469430999201330998376830997829530997625130995766130995513099542823099443433099401183099389543099363230992570330992100230990886830990689630990061330989783330988246309848816309842479309840422309838394309836528309825683097870463097638423097406383097340630973069830972725830972232530971886830971338030969762309696394309690527309689793096800653096764203096728053096702943096653053096563303096543753096504703096408530963112530962088309616787309608071309587857309585557309579283095714653095571843095561063095404553095348953095280833095110309507822309500505309499247309486093094849633094742003094626530946009330945961830945592330945566330945317830944688830941523930940863130940543309396606309387560309384921309374746309359538309356747309322826309314073309305559309303232309296142309267953092644283092609863092528573092411893092328653092167823092055733092048813092036233092018513091872673091859723091746543091741643091725743091467343091382633091353913091324843090948453090860623090800053090750330905659830905319830904352930904110230903900630902453090147823090068233090062583090037863090000623089776030897233308971469308967253089600443089547333089528283089524433089514353089471973089452103089420253089413463089401213089345713089328483089291613089279193089205263089099413089046863089041503088941243088891323088727883088720430887187430886471830884164830882079130880490930880304130879939030879901330878601308784164308772536308758866308756021308754840308754328308737535308734829308728283087179163087055193086918653086800393086609833086580530865718930865033430864984230864531530863989730861295930860827530860655308576282308561948308560883085501973085426830851750530851709130851674030851370130849644730848621830847798330845970230843966230843284430843134830842407430841907308413827308406592308399669308396946308391784308387197308386847308382254308358493083536373083493330831813030829417308289237308287138308270085308259923308255728308241613082377263082297483082291243082233173082165483082140730819735030819688530818922930817386730816502330815343230814958330812676130811958430811287830809324730806823230805838230805690530804455308043173080344813080324403080295683080095233080057773079960883079943193079797693079689330796847430796469230796450030795892730795325330789334307888003307876674307876296307870005307859515307853483307847301307837756307829293078285173078156043078109063077763793077728823077464023077415593077350663077286463077274333077175503077148273076910903076793630767164730766898230765769530765581830764098307621089307611866307596065307589046307578165307557294307541813075052230750074630749943430746717030745760130745522830742983230742442530741976230741239330740478430739771530739097307385719307384778307373032307361262307357933307339740307331721307327471307326688307321608307319700307314021307313794307310112307309433072715613072686123072679933072508673072443763072440430718852930716860230716044630713997130713824230713682730711390930710747307095421307081176307073299307064962307057368307048024307031979307027349307023730701487530698031306968407306962031306958700306957853306950819306919707306914836306907158306903278306887351306886393306881642306880063068725823068576423068562393068491933068470773068325083068258463068217103068070713067980093067873623067761393067718630676758330675998830671998030671267830670041430669815530668173730667082306666417306662524306659513066478383066380453066357043066184730661501130660791030660401430658933065885713065808923065758430654289530654024030649573230649545230649131306488771306470384306428951306428797306420043063609253063136113063129563063094573063015123062846293062679230623371530623221930623033062290343062241663062168030621376830621358430620894306205787306203642306198270306196613306182768306155225306147290306146695306129610306129593061128630610782530610707330610416430610347730610223630610065930609332306092781306091663306090883306067468306067145306063225306059583306057573060274993060182943060178030597498730595607430595320430592627530591818930590863305901310305900943058980243058775083058735193058655053058259963058249653058124453058113783058063183058030903057958230579445305792097305785372305777554305768283057678003057658883057299305724542305724150305721225305707595305700420305689649305672050305670264305647907305622894305605489305604082305571043305547454305539136305529836305514890305500891305500570305496823305495203054769293054693363054668183054506353054487013054473903054460593054449963054433263054257913054178113054104553054043373053945613053647793053590403053149923053146513052952803052946293052927123052690593052414603052293063052281023052257433052200433051932363051801730517932330517007230516624305161281305152423051497330513492830511484730509930305084983050709643050627023050491163050339603050284863050214963050184653050143663049965273049411373049411353049350603049241843049018193049011473048826613048821923048681930486348130485653730485641330484686304839553304834415304821681304817101304798281304788979304759660304745013047194433047152453046965863046947643046909683046593653046566963046507903046462403046434030463461730463149830463055230462279230461989830461557304608841304604914304598530458361130456846230454517930452092430451850730451416930450468530449863530448909330448555030448381630447187730446416930446292030446121304448727304443831304429685304408696304387113043741973043713853043672823043564663043506030434770304347352304341839304329383304328322304308403043075363042763613042732293042683773042487083042482133042446943042354393042234333042052973042024283041833963041798830417056830416253041601373041582693041534613041510833041468030414457330412717630412336130411181030410638630410062930409438430409264730408595730407941930407831430407047330405840030405194830404944930403728630403623303982388303961918303954761303939178303938248303931063303924603303916106303913086303908353039078493039045703038978643038965430389005730387060930386030303798569303796325303792873037906923037885163037853453037845533037693043037587663037466673037450853037416503037219053037203230371830530371749330371375330370363530370350430369013303688293303681134303668487303663504303659953303657330365637530365224730364506930361568730360751330360422730359658830359592530357640730357285530356028130355285030354497130353072230351514130350976330350447730350414930349007303479550303467344303463523034614253034566403034549413034527343034318923034312093034289083034193673033979143033740663033738553033631073033372743033335883033315983033262230331551303303211303297692303297485303294555303276796303251263032500463032432130322650730321784303214402303206343031939793031854030316977930316796930313675230312183530311571330310623330310212630309665630308555630308446330308367530308173303064663030505483030480453030385613030260233030238053030098543029401930292634130292382430291776930291125630284738130282985130282650630280605930279923530279862630279805302775721302770867302745681302725365302723260302717506302709918302689681302688596302680831302648030302646277302643086302632252302627857302626958302608091302581100302571193025659053025627313025527643025451130254419530253651730253453025306853025302373025256493025183383025045753024839843024808873024708073024624253024596503024511230245074130244448302442359302441967302437190302432828302417654302415643024057283023971130238398230238243130236469730235087730235013302344797302318888302314532302302073302264684302264273022338030222809330221736030221203030217270930215912830215493021469693021445953021339530212246330211723830211166430210984730209401530208978230208255930208135730207828302076146302069918302068330206122630204636130203000430202821330202609930202257130202225830200342830200227130200025030199857330198658230198551301962129301959935301951995301935463301918197301904943018906353018766503018725223018460753018407330183657130183303301825259301820575301810039301798391301795231301788474301784398301778103301777482301776103017683653017493663017482663017234983017106583017064423016965393016906483016655030166021830164214830163958330163347730163189830162975030161168630159189830157963830156972301559175301552723015506633015335073015237423015113563015066303015025933014852163014739323014415483014329363014284513014084033013796613013785233013771183013644130135869030135670730133347130133184630132307530131854230131514530130315230127612530126287730126174930125654230125417630124971830124889030124405130124031130123507630119786301191153011890053011868423011791930117323011519803011093733011072793010941583010783353010690873010660833010437623010258153010171613010164763010058483010056013010047253010016053009875753009859863009828530097768930097408130097128300965403300962779300946906300935991300935818300929552300900925300847738300834771300827300300824977300809079300805527300799043007711253007621493007587173007483243007395093007280230072742330072717230072064430069790630069374300692385300676177300668846300658438300646316300646257300635876300629479300620867300589230300583452300568357300561033005502033005279063005234343005159183004799863004635730046041630044991230044397230044127330043545630042681830040054330039042230038574630036344300354705300352938300345516300325338300318933003144930029294730029218630029174830028951330027806330027622530024552430024538300239900300239771300232506300230013300220428300208640300197735300189442300186833300163768300162854300160429300157441300155013300149793001479830012181830009119330008892930005697300046672300045859299988896299973012299963242299957632999536042999492829994585529993872229989354129988929629987564729987376629985247299849879299841413299837162998170412998132752997586932997576302997523912997415852997361832997344122997134822997080742996635882996570462996546882996465792996413442996347552996227272996133452996088182996062152996052129959992829959850229959642629958445429957690429957687029957551129957526429957301229956042929956006229955990329954766299537342995197402995154852994951162994829462994748842994685729946843529945508529943957129943700829942686529940904299406507299395387299395174299373771299370582993629322993519592993510129934129029933647629933340299332420299327966299326750299319943299318523299316276299298764299293986299289292299280201299265258299257362299239720299232904299229508299227660299224931299208486299204192299188402991704432991616362991594712991563112991559852991525432991304152991127962991052632990943752990917232990866429906441329906297299062103299061675299060358299058893299045185299037282299037192299022474299019249299018265299006162989987862989718022989705682989679642989673742989583829894690029893174298920948298908746298888180298884342988835062988697392988652612988632462988570132988442332988269729877971298772762298772156298765936298728930298708970298708271298673648298669152986671629866381129863645329863129029862141029860875529860080129858761029858291829858263229857975029855346429855124329855087129855086729851882985060802984974602984947462984940829849047029848378029847563629846417229845994829845748929843115429842594729841939229841299429840909298403983298401865298400757298399707298398816298395620298385002298383440298382710298358382298316512298309498298308595298290329298280587298256512982541062982524132982513332982420612982397529823366129822066229821295298204079298198836298198329298189434298189382981869582981827812981802852981767492981741722981484429814246298136837298121729811862980964902980958732980801612980770529807245729806923729806206629805137629804690829802931529802042429800657729800444029798372297976002979750302979748542979677782979642979554422979533329794504297944390297939991297923800297907399297892231297854992978381072978366302978320702978284682978257342978223922978204632978085882978073952977911292977890622977694622977631562977626142977545202977436512977395982977332112977230092977228242977209432977087072977078802976973662976854842976854452976489362976487812976370642976072832975871802975804652975687942975628842975595297543584297541363297539998297532889297525844297524679297516970297503062975007352975002662974833282974825442974545822974528902974483132974471112974460082974363092974344022974316862974187012973996332973882482973868772973828732973798412973673829736686929733863929733345129732739129732419229731013529730794729729465329729222529728742297277162972586322972528772972474322972364362972300029722895297189438297182962971768502971614652971576297154121297148265297138462971214182971198212971195522971132662971109712971073482971016322970982782970971029709500729707214029706743129705141729704868929704502729703161629699279229698204429697463229697117129696361829695675429695355929693233929692189729691366429689967729689719829687123129686976629686104296854050296850740296841926296826417296821766296820810296793702967879002967794592967731682967614602967252966979632966922429668780929668520629668191529664687129664653929664053329662865229662709629662481329662244129656222629655145529654303129654010929653791529653621296529655296521712965148442965096202965021312964907082964689212964643122964564852964470929642956829641787229639864529639255129638318229636741829636638229635912629635875229634509296320262296300162296297075296277959296275971296272190296251737296248040296244660296229572296217346296203884296182173296154913296141169296122808296111305296111291296097731296090625296088955296086852960830932960787782960643702960579322960552282960503392960455542960455032960368029602351529601368729601182729600907529598001129596959629594324429594096529593561729593288629593195529591656929590720929590533229589012329588104229587667295866144295860994295840086295796904295789369295777239295766440295740146295698731295698076295694525295685363295683189295677467295638815295638656295629284295627952956230492956195629561950429560123729559293329558502529558190229553212295526008295507700295504879295502760295501016295491043295488504295477386295467851295467073295459665295452542954391102954352692954279802954133512954072612953933692953678329536185429533996729533402229532997529532483729532139729531135629531043329530931729529693429529353629527606029527015429526050929524324729524219329523149129522947529522798229521683729521391329521028929520696229518850329517953129517129329516449829515759529515530929515131229514374729511575029509354029508830295088244295086376295079816295077952950718222950638729505344429503851295037324295030574295016368295010774295007391294979214294977863294971115294959170294933321294932942294932639294921490294916808294895722294889482294888938294877053294870766294867221294853152948399212948360952948240312948175532948149702948042122947912252947779602947767212947740632947738402947647729475211729473215329473161529472847929470406229469984229469934529468659629468637429467369629466050029465690629465518294643697294641886294636122946206329462038429460514729459439729458503829456764294565566294552115294550543294544429453878529452926229450581529450133329449766429448257129447903229447242329445709829444062294429234294412937294409897294406967294398133294390440294388677294368672294356510294345995294345243294343884294337215294332393294317794294315846294310112943099562942996992942970012942928342942717492942712712942673629425704029425567529423216429422426294223418294215891294213732941664942941628129416103429416059229415435029415407029415136329414569329411091329410370629409793029409180429407809729407504329407420829407273529406999929406015129405282729405008294032721294021894294014902940086992940032929400183029398736629398209029398183829394768129394603529394240729392786293921822293921250293916216293902540293889173293872705293869119293863178293856898293856211293842932938397472938382652938166692937949952937803129374534629373267293730190293727402937192692937082772936901312936810212936809702936734822936615112936523562936464992936425982936401082936372229363710629362918029361526729359375629359153229358726029358326229356010229354952129354587729352062529351968129351927329346892934681312934411492934333162934183402934122552934036629339033129338722129338138729337673293370193293367499293362412293358862293358408293348042293343103293343019293338225293335320293324208293323487293321106293317343293283078293220592293208388293194531293186589293170717293169067293150976293130658293120444293117202931083172930926242930527562930527262930411882930371129303131529302599229302410829302188929299882029299588629298248829297903129297564129297216429297154229296004292958811292953991292950530292949715292943871292941130292922136292895938292889896292879527292878457292876797292863448292858753292847947292840692292840541292823285292818173292814630292811352292808183292795350292792324292790516292785314292777463292775081292774318292771438292767298292757273292755399292753228292713080292675882926750232926683152926471792926465472926224929262151529261825292605452292588973292585052292578846292578136292576053292570118292568592292565599292565255292542959292538637292535022925180312925153829251499129250008429249749229248920292488693292474192924623802924531262924433882924329392924239429242167229241550529241042029240986292369047292367798292364126292363520292351810292328310292325356292309972292300086292293495292291744292288887292281545292280967292280741292245329223908292231761292231491292230872922300329222825329220110292180888292179015292171491292157264292156733292153628292139839292115428292103792920613202920419992920380762920352802920335742920321402920272492920221172920108702920036552920026429199421291994079291991090291987613291981805291973290291967372919562072919554882919462282919449422919292572919266072919236262919203632919158502919125329190977029190729029190416029190086829189119029188895829187950729187303929186842429186201529185959529185421529182455329181327629180537929179030291781859291776730291774266291770542917596302917547592917033882916881272916741302916660912916540729164949729164195029163999029163949729162998291590047291589241291574601291544022291543170291534503291523627291523239291519490291510381291502958291488349291479193291449934291447815291440917291439262914308942914201652914069902914046142913696922913630552913520112913436429133373329132402429130524291302817291295277291293132912727532912688862912506212912212662912185582912136542912024942911982632911827072911594842911528572911511592911341312911097182910949772910911162910882692910879692910827612910776292910746682910566492910551229105222229104225429103806329102444229101424529101225429095594329094672329093431529093219290927465290915076290908351290869782290866129290864406290862393290858774290849662908474682908302152908243872908179829080980729080714229080353529079807329078516729078323629076678829076543729076523829075684229074880329073286290728013290722166290706780290705672290703276290691156290666166290664843290638244290627931290585086290575672290569107290561554290555642290550495290543041290527685290510412904839712904715632904619252904485182904378502904369822903974502903923792903915092903637132903628832903574992903481592903465952903381802903333802903320529032981229031507290312697290298251290292062902811702902755582902744862902691672902690742902460752902334129022201329022155929021853290211035290191337290169961290168602901655532901421672901312102901229652901101912900982352900910722900908462900823929007865429007455629005513529004901290048913290042348290040712900354412900194492900139702900046192899870902899837702899782792899696312899644012899638562899500362899186472898887428988821928987292898704182898696462898551552898537272898508792898470902898468712898367892898282582898093862898077702897826382897669528976142428975657289750928974498128973799828973511328973257128973177928971725628970872228969647928968947128968872289684797289684685289668847289661936289660373289660063289659656289637955289630527289629265289620322896020672895955322895947062895837052895695662895581028953597728950779128949756928949622328949338128949052228948065289477629289474191289456420289446081289444485289422032894113592894100802894077392894068972894059672893745252893701632893701328935465528934408628933254628933253828932366428930096289271859289247072289238132892346628922472228922464428922220928922196128921465828921149528919990928919004028917559828917280128915470289146750289142237289138982289136038289131112891206652891189972891147422891119272890993042890991782890837028907862289074452289074124289063472289061993289050095289028430289006368289001001288989257288954806288930651288914059288901960288859522288854813288841119288836199288827392888115772888111072887968612887919828878452028877795288774238288768541288767445288765458288740052887240628871873728871026128870827828868630828867704828866937128866287528865504028865337328864820828863623128863087728863025128862782628861456428861313928860785828859946288592241288586522885858482885823162885785782885722262885711882885707782885558822885492432885229242885168822885123562885082572884941312884881242884833892884752272884713332884647122884238812884124428840850528839391288387902288350009288343816288310049288308809288306430288303558288303211288295337288295222882932628828888828828753288258612882577422882364392882280502882154288192313288190579288189221288147181288144505288135718288132676288129377288123952288123695288116222881157262881143352881139122881043432881027528809952428809443428807306528805681428804982880460682880453392880388132880374328803622328803455828801649028800773928795575528795203128793454028791471728790665028789678428789079128787296028786762928785430287845012878254112878108532878087402877924012877869772877703802877676872877669752877470842877331028771593128771517128771382928769541928769143728769013928768642287680843287680234287677072876750762876698428766529328765021128757814628757355328756811228756292528755350128755155928752724428751494528750760728750329928750137528749899528749572128747032628745463828744035628742925128741582028739762287397306287397122287394329287387757287382634287381242873759492873695012873693792873637042873348992873245128732397528731967828729746528729743628729555228728128228728010287279875287277922872755287264028287233270287229782872185752872155272872024212871966642871841882871836462871672287166929287155878287152835287132087287129176287095512287094065287094052870809382870750302870723182870556942870530902870437202870366302870336902870045542870003122869972802869822712869686882869661432869659292869569028694291328693790028693239728692423728692277028690935628690621228688037028687979528685713928684745428683373628682465228681655286813885286813397286809102286791633286789864286782483286772962867709512867630542867627802867552002867391052867383112867349142867285552867253528671220428671190928670226528668836128667928628666781028666752728666655328663900828663729628662370828661642628661316428661274028660554728658979528658706728657734286577004286576398286572926286553023286551155286546364286543958286533422286530636286513147286490062864810372864767432864736482864611842864601742864595162864492692864452832864316432863926332863887062863750692863695262863328512863227402863088722862864652862670228626499628626209528624031528622954286195945286190728618862528618078286174612286172549286168082861677528613270328612706628610928628610607828610499728610118428609763428607875828607552428607075828606469628606211228606096928604392028604026228603781286031383286022682860187002860117428600472928600102728599927285990334285988274285979709285970065285962909285961000285952212285947647285944245285942542859418172859394542859387872859387442859358522859315442859288528592469285922174285917409285875925285874454285868972858682072858612552858515532858284832858199282858072732857949352857942802857884922857843182857782262857699285769310285756134285755872285755742285741741285739094285734756285731979285720199285715698285713370285701937285701342285695193285671330285652651285651682856434782856408272856255662856251828562084285619751285612133285604290285588392855839212855775292855735252855676522855674242855555285553463285544240285523905285516490285507807285501927285499410285492726285492720285470464285463132854536542854457372854402322854353752854132942854029528540238028538098528535065528533725628533000228532598928528587528527983528527516028527512928527004028525905628524320328524310028524221928524023328523596228521418285206892285204820285194543285193732851934428519271528519147728518379528516974228515986228511265328510949828509793528505346285049620285029712285016058284999557284961172284959332849554672849337712849128812849111428489705728488898728486939628486303028486167328486128228486087528484857284843953284841182284835330284828288284817605284812139284799755284784993284769636284768395284755853284753102847526092847520222847452672847381128473256028469598528469428284693974284676373284670999284670566284661051284649879284639506284638659284615554284613617284610479284599409284589172845817902845723728455932845232562844798352844643362844518672844404782844395002844384732844383002844328682844218742844214482844210082844198728440850128439266628438500828438290528437597328435451528433280128432098228431350128431207728429499028428804328426023528425913284243184284235335284230652842296162842209112842115472841921792841843482841843352841614302841387962841273922840970562840947528409038928408988428408132628406632228406545128406464528406097284038554284038096284035847284030596284029474284011587284010774284007972284002485283999738283994406283993235283984574283983742839781822839676562839632228395423728394783283938772839272772839094142838925932838919522838760842838666902838656283857162283850344283841422838332528383285328382962837956262837841322837581922837566402837301432837249722837111702836877492836840682836794622836745432836607728364539428359799428359336028357358428352152928351678928350243328348258728345934628345774628344786528343882834362682834348352834287462834249282834236412834213792834193122834163142834003112833970252833778262833739662833525122833438842833420212833147428330506628330320528329100028328756128328449928326494828325918283249085283246660283242129283231808283231163283203757283177783283169387283140802283140042831380128312043283111902283095477283071856283056716283055775283041263283037632283033768283031353283016038283013668283006128282998366282990994282978815282972192829583402829205542829184432829034642828888062828782162828685772828642352828637828286021528285671328284078528283426228283132728281771428278576428276919282759212827449122827206392826985342826980732826840592826730462826692212826638392826436802826385192826049722825999162825918462825897962825823802825723972825467222825463822825442932825399202825242712825186228250860282504444282502609282492010282483928248224628247936128247844428247692528247337028246978328246464228245589528244918128244854728243908728243446228243439728243066528241460628241208028240912428240853928239797228238911428233778928233343282330512823086428230045128229353428229210828227997628227316328227096728226969282267726282257103282255242822542728225285028224926328224740928223632128223002822237152822117632821876882821733412821520112821386328212464282114892821032922820976082820893122820678942820553892820291328202239428201294728199742281985132281981434281980721281980312281974002819704728195937828194528428193906328193611228192368428189839228188798428188080928186022528183150828182603228182443428179712281793052281786455281775423281755120281742172281737728281730757281719952817199052817013572816895792816871292816866762816864342816860582816779532816473462816425912816259692816148832815962122815904602815902222815886442815712528156509428156491828155182328154662728154058228151938228150565228150382928150183128149872628148131028148109028147356528145178228144988281449653281435029281433947281422675281412722814060328140583228139268328137855628137494728136916028135970028135710428135670628133034228130842281301422813004002812687912812675132812575862812508142812439782812430072812428328124222128123262428123019228120780128117980128117171828116089728115873228115574928114274928110722228109545828108852228108427628107258728105344028104383728104322281027902281006250280994368280994182809795828097532628095696028092298128091630228091401428089198928088652280878472280860483280849352808434512808167082808030542807917102807893452807815322807735452807720162807641092807631682807539132807496522807473528073057128072377428072039828070349828070094928069114428066163280661094280659372806490128064554280645243280642748280636357280621378280618109280612109280603896280599783280594240280593497280592408280588612280578910280577621280577074280557852805563472805456752805429472805309132805299782805094292805069662805006392804963092804959122804872792804650752804631912804625772804560728044851328043768728043409280420880280418323280416025280415793280413501280412826280406731280401357280397163280392707280376026280372969280368787280355259280354312280351820280326877280321963280318652280295127280291222802681012802646582802570932802466962802438122802430012802339280203930280201627280196267280194754280175451280168394280160176280141185280136061280132757280131788280130751280126558280126314280124004280110102800875192800773172800602922800546628003630528003401828002970028002548280005490280000645279996171279984562799796052799639032799470452799331662799284472799146152799137082798987952798961522798796522798793227987056827985154327984122827983999327983433427980201327979686327979534727979522527976993279764259279755279279747774279746612797200462797183892797163402797157872797141727970259527966071227965409727964958327964217827963817827962885127962827962646279619306279618830279595991279593311279587412795830112795817512795763279572618279564022795627792795301442795251992795172682794926142794875582794686527946526027944330427939711227939251627938755527937868627935955927934378927933201827932473279322071279317573279309295279307758279303753279303396279284689279276770279263162792571382792563612792559542792551562792460232792442022792382492792334492792263272791967962791901622791794242791781492791482052791471362791459342791456782791371902791273532791164502790892502790838692790730412790729592790694652790669742790587802790561732790553627905476027905198627904791527904070927902283279012114279011713279006187278999951278990584278989507278987008278981828278963683278962883278960314278938699278920330278891432788913102788756052788701442788648262788627262788555622788537772788513527884295527880856227879876427877456327877268027877003427874407827874359327872909727872464627871590927871279278690307278689402786867427868477827864160427861224427860935927859401827858951627858850427858612527858459427857180827852982627852859627852114827852009527851826827851031827850973278503035278496553278487646278479918278470228278466372784649882784568772784482152784471112784383462784117982783967627839181427837552783692272783589727835636427835324027835288427834983327833860427833304427831996627830632227828125327827305027826616227826372827826214027825535527823178427822038627820514327819385327818555327818257327817203027817006278123662278123544278117857278107197278092477278087187278086712780680392780568692780547992780426782780352227803227027802570627800961627800757727799402227798385027797345727797023927796954627796853827795351827794845277939812277932927277932297277922974277903266277901430277899874277891651277889808277883400277880072277870089277869775277854622778215542778018642777879362777830522777823652777582872777546862777233432777191832777182682777080072777070112777023602777003802776981672776970192776904622776899932776863882776734462776508882776413502776285472776161902776089527760821277607559277604694277603623277587509277582131277580671277577780277569782277557165277555038277552282277545098277542029277540599277532488277530757277509930277506037277505536277496593277494552774935362774483932774237772774204212774178322774158232773973127738534827738134627736905227736843227736396327736381727736293527736259627734467627734042427732676527729797727728409127728288327728195227727945827726924727725773627724055527722296527721964627721703627720539027720363927718458927718044727718037127716371727715839227713075227712927277121134277117480277113450277104022771022832770949827709456127709092127708623927707446727706828727706493227703648627703593827702012327701838427701667027700242127699646527699155127697985127696354127695127276937463276933170276929608276921928276918631276907727690077527689820627686901627686425227686148276845352276829422276827911276823887276821147276818491276814623276801968276778369276764868276761002767586092767542882767474592767365132767355942767317682767302512767152602767019372766902542766508882766264052766053282765988232765975172765865572765746227656703827655434327653346827652840327651637327650855276506227649879276473842764736972764720632764594462764555132764445827644206527640446927639082527636970627634188127632599127632449427632197527631976527631535227631081627630806927626190627625916927625155627625125727625026127623658276232103276230533276227778276221040276216649276210784276207552276205874276185524276160593276138884276138576276136181276118992276117360276110452761059792760873882760540012760528882760441302760420142760340012760321602760026372759628462759567192759525422759332275908214275905886275898165275877036275867445275861415275855076275849090275827347275817893275799012757936532757717275761163275758393275748322757258662757203522757029732756999312756872092756825822756819672756768962756759412756723162756657772756597275659073275647151275646759275637962756370082756339362756315802756279322756276127562718927562337127562331275605958275599423275590827556872275563282755584832755400352755393572755313112755295342755231102755094712755062472754905082754742532754551512754539027545188027544842127542054427541243275406172275396094275383262275379352275365595275349652753491282753478962753473722753255602753248782753038627530315827530266627529661127529354527527402752731562752593552752454052752441262752428122752350122752308042752172112752024462751986132751946972751831632751727942751727442751595727515339275151564275109659275103669275095371275092254275088805275082885275069496275062190275059723275046473275044458275038028275027322275025575275015632750092052750046222750014482749998322749849742749823632749715082749669352749456502749400852749219362748999327489459627486876274866106274863907274859482274858251274858222748574182748322342748280292748170242748078222748053392747996452747971162747936852747855172747568472747543582747446642747434332747426352747391827472032274715633274702712747016427469582274685777274673527464810427463863927461181727461149027461145327459716327458602227457347274562357274556562745375532745247532745015982745014352744889572744786392744777302744712927446981727445367927444774927443816127443584027443097027442873727442494827441525027440983127440674127440363227439173127438676427438400274374752274360102743560492743459512743433827434083027433512327429507274292144274291729274262883274256873274236045274231662742026062741830712741722632741654342741557682741500092741431127413982274138621274130698274130267274120728274112239274111636274111352274105607274103180274094304274091963274087772740822072740760252740757792740681702740642112740487032740407352740239852740198382739992522739967342739940022739867162739473812739437592739232627390596027390329927389790527389600827389493027385027127384911027384624627383124827381880627380105027378393627376978273763942273757690273755451273748502273746410273746255273723742737132427371241327370354127370298827368722827367775827364341827364154727363851927362538927362020427361783927361597527358528227358142627357663827357305727356853827356827327356762127356196427355933927354727127354286427353435327352665327350816027350781427349970527349515327349412734922322734910552734813182734804142734783142734763392734726442734513902734490382734477232734452082734354342734349592734211672734033562733867692733863972733743362733710102733631572733322762733310922733292122733280022733206592732977992732904882732850552732697227326930027326313127326181827323845527321778927320547927319026627316487627316247427316097027314745527314111127312604827311591727310809227310511727310424727310325527310056127309865027309857727309721427309247127308281273080958273030798273005855272989240272984665272977100272976441272949908272949716272938033272923199272914712729095212729025912729014172729007712728963492728789532728687492728548572728500032728452252728439662728123692728050392727984942727979902727810752727774902727756427277520327277186927276820327276680027276033272747006272739671272736587272731509272727684272705538272705170272692281272650450272622385272621182272604770272603543272568794272555791272547047272545122272539951272538330272533471272524302272505563272498191272496752724468102724098632724022052723834582723590932723414172723310127232108727231257327230125327227921027227173027226526627225617527224997827224818627223778527222934027222701727222283627221818327221746272214039272170273272160832721417927211154527209395227208520827207548027206175527205589027205320727204210927203552227201650727200956827198622719823822719633032719597542719595727194771427194151427192633627191972027191909627190955271905775271903392719029372718993112718932992718876482718838172718659227186359327186146027185489227185076627183920827183904327183205271822932271821622271819212718134572717962892717915271777894271772240271771860271761943271761129271746030271737115271718082716999702716983662716632812716434222716424682716140727161389927161297227160192427159888327159042227158617227157894227157831627157386527156893527155060727154846227153276727152923927152185527150711627149590727149206271486262271476655271475724271461158271457835271451672714492322714442812714405702714367827143062271426392714211802714070482714012432713810552713720762713656272713630142713563271324511271322990271322552271314140271305212712949222712870942712853502712833922712818842712592992712453372712371782712340927123347227120837827120295727119877727118990627118932827117686127117588027116232427114947327114282271139773271131737271119929271118637271082043271075755271053762271046676271022458271018095270994214270976268270971414270971373270970117270965529270960509270944829270939915270921560270919045270917545270895028270876042708737427086960027086942027086723270862858270858321270857057270846832708242702708236652707971992707847527076550427076035227075807227072340227071188427071156127069644727069534127067584270675508270656622706497762706387082706339827063011827061998270617347270604187270596742705906222705896242705887842705770252705693042705673132705653270554762705537532705533342705302152704777592704752412704640282704455527044461427044258627042096227042084927040950227040642727039607127039060427037412027035888927033069527031990227031575327029367427028659927028031027027921627027414927027302227026200727025272270252502270246602270232001270221062270219696270208102702079502701674372701596127013680227011858727010975827009849627009412627009328127008622327008311270079172270051046270050784270041965270038112270017663270016123270003161270000490269997682699868126998488926998457926998303426997454926997353426996820526996123026994928926994234126993556826993003026991652926990953826990847626990742699039162698801812698760826983701726982891326982677326981563326981197826976719526975255826974813426974202926973455126972522826972387226970668426968690626967463426967458626963592426963549726961603269608209269594771269576384269563677269550309269547101269539054269513284269500468269487902269485816269453812269450449269445937269432483269428067269421290269417344269416532269401584269393904269392198269386914269385434269384338269368836269347867269342252693348622693324872693314582693295426930348126929039126928779226928253426927125826927075526926945226925768526925178269248566269205106269182576269180421269167222691600412691319952691126752691010526910049026908376326907573926903689026902007826901814526901657926900450326900316826899454026898690826897678026895146626894891026893987526893618026893597426893476268917826268908385268897463268894831268890072688848452688714332688598372688572332688392032688362942688330252688325602688106852688055252688018268787788268783504268773074268760426875328526875305726872919526871857826870475826869070726868956226868403026866992268646126864523126863873426862622686158882686137422686018742685933502685916526857640226857316626856118426853913726852409226852267268513114268504820268501642684894132684856492684833682684804242684598262684552532684543492684507362684480082684263952684254292684233302684124522684077342683992452683888462683865732683792826835468426835467226834967526834904826833712726833200526832693026832307126831173268301336268292989268276706268262166268252842682521882682500522682324422682324052682263912682048872682048362682042052682007672681995826819785526817977226817943226815885926815215826812997626811862326811804268105582680979662680737732680677022680673582680575726805330326804947726804692680314926802027726801883426801404426798387626796313026795738526794887726794022226793944326793826826793655926792132226791699126790918426790521726789984267893660267878215267876714267864758267860040267859667267858670267858553267848057267846777267842023267835268267835055267831961267830183267818202678064802677877382677868032677736972677720592677700202677642422677628842677599712677596772677585882677553032677387462677304267723196267723018267714340267709619267705626267698706267694150267688909267683101267673910267671682676557092676549382676353462676309592676207226760370226759594926759135926757083326756196267557026754267226754246426753355526748096126747807426746985826744242726743253126742707626742252626741623267407582267400721267396294267380771267358997267353300267348796267327732267327663267326006267320980267317304267317140267310735267306626728091426727110267269921267254512672309612672119026719974826719851626717985926717928126717341426717194267163064267156805267150312671404122671338142671335002671329932671255726711263526710768626710642671048492670874326707689426707290826707166926706441026703980626703467426702625726702543926701700426700667826700511426700155626698254266978765266976670266949302266927661266920488266898574266895755266889285266883630266877252266857284266853417266851943266840592266839747266836444266821189266819437266811357266810334266807688266803362266797652667935126678433726678264026676155026675606326675430026674585926670867126670392026669920326668547826666802666547826665135226664997226664028526663101726663061826662620226661434826661235726659829426657602926656237266555012266507758266502742664987212664916226648342664804872664739932664728192664500322664443826643040226640089526639234266385809266378369266374176266363943266351864266349433266327101266325198266322395266319362663138532663094952662959772662959142662934162662795532662771442662720352662551492662523942662337932662283602662230266201916266199892661937412661904472661851292661762412661753772661706212661609626614202266139256266132603266132350266130010266129932661230082661169212661169132661151042661059882660969142660892602660846982660785732660780692660689662660591302660564926604841266040690266035111266023056266014100266007513266001421265977022659760672659755926596517726596150326595177726593662526591573426589620026588719426588680726588584265882995265855895265852038265851673265844413265843894265841026583337726582783326579551126576779326576635265750148265747545265704543265701220265700861265693087265667562656629412656574592656522842656407426562708226562217265620995265614633265609670265601132655975672655892812655665126555677326554432426554312626553422526552988426552945265526569265523718265519392265514402655031326549872626548947226548542926548449826546675426545661926544880265439754265439372265437109265430262265422922265417178265407192265403615265397622653927052653820902653758026536813526536542526536357426535480265311912653100432652907826528448026528251326525335126524607265243299265234797265205072651890722651265822651131326510543265092283265084838265067988265062530265054539265050117265045799265021353265019092650183426500068526495957826495937126495615226495499826495275926494702326494152649405342649291126492434926492198926491611126490802626490511126489570026489061726488214326488063826484384264842291264837202264834248264819702264819368264811072647929552647902632647870952647762726474924264744303264716993264713780264710737264710548264707799264701148264694782646833772646785326467434126464417726463601826461869526461061826457590126454820826454798264527072264513441264510332645057152644851262644850212644754226447142726444367426441677926441386626441132526440644426440360264401550264393624264370469264353672643440232643277662643260326431615926431339926431285726430108264299122642801232642616702642478022642338062642285872642198726419897426419146264187881264171877264170069264164147264130052641300472641145264113318264074258264070229264062068264058808264054569264034190264033865264030199264025928264023982264017435263993092639876112639861052639832482639813042639637662639582042639387082639356892639339852639258772639005752638965032638905682638858526388088426387876263875485263862157263854691263837506263798224263787974263786841263782565263772737263772237263768321263762714263761056263757008263748104263746647263745569263743685263726822263726802637174792637093012636882636757822636539632636277626362768826362564926361947326358958026357103726355888263554202635436022635426742635366242635078762634988882634932172634888602634827872634811352634558622634447792634355602634348832634194182634179732634059482634055872634037512634006482633892342633695052633658062633634012633622292633519042633472252633397162633256442633156022633049332632987202632963263291033263281872632785342632736302632672262632603362632602122632553502632545162632076452631938892631907342631866772631838292631831432631752422631583912631533082631515926315024126314635526313681926313420026313128626311955326311816026309964226308803526308355926307613026307441826306788926306683526305793426305471726303557263015209263012527263007442629914712629893142629871582629858902629601292629173652629110212628897792628743642628689272628675742628644162628505982628461182628447452628411226283034726282491326281323262810332262805080262800882262793561262790136262776248262766279262764215262759558262751924262739942627375072627306342627061552626929592626759382626727052626694226266389626265986526265707726264641026264130262636082626199052625934602625914212625893902625774262576447262563285262562397262527265262508882262505228262501955262498857262474248262461582624613926245132624477372624365902624301502624264892624247132624226772624167282624142882624060422623995562623858426238517026237348226237245026234492026233076426233053426232579126231762626230657262278599262275712262272801262271806262263012622185732622059622622049372621931862621899042621883912621848082621800092621669902621578432621458626214393026213953026213745726212703526212058262120438262119062621165872621133326209786526208896026208621426206532620545282620527162620520482620519622620507732620410662620234432620153892620131926200215926197683261974102261967892261956186261950374261948910261940058261932612619204462619139926190646026189837326187068826186971026186551126185153726184927526183946261836430261832675261832366261819862261817852618102826180671826179680026178605726177629226176391261746168261745632261741122617322242617292582617261162617244126172321026172138826171790226171668426171523926171416726168119426166823726165709326161052526160952626159952726158878926158490426157871261563126154629826154027326153912615364726153136026152373726151349826151317826150017526149222726149019626148532426147373026147262026145136226144654826141967426141844226141590026139544326138654526138155626134321126131818026130343426130325926130063326128236626127386626127134261266965261257858261254943261254391261214927261209365261207705261204812611864652611814142611491212611339502611265322611234122611190662611140302611128426111077026110484826109907226108435326108339261082335261075640261074722261065502610539942610229872610205422610074926098753926096633826095838226094680326092426090297726089641526088086126088043826086429526086079826086077326085552526084491626084422608140152608130902608056822608022832607893542607855726077292607677432607437752607297326072277926070461626070155126068165026066596926066408260661993260650762260648834260617539260612810260604230260596134260581789260571002605666526056384626054559326052689426052276226051772026051494226050392726049319826047490326047445026045781426043002126042597126042542326042481826042236826041058526039782526039773926039546260377022603699932603580442603540202603302692603137712602903152602820542602808726027898326027340526023160626020289826019662126017796926016796226016582826015917226013492726012081926011463926010709926010455126009582526009434260082663260082243260071750260061938260043623260029636260023686260016936260006411260004783259991006259985572599846692599827425996193725995634525995529225995362825994768425994599925993824725991665259906922259899769259898407259888778259873025987300259866089259860672598578025985708325982713525982650225981154259800182597856232597659825975158925974803025973752025973025825971433259713533259703130259701335259694815259685906259663338259643342259632809259630793259627918259611940259609581259605090259603247259603095259590278259575096259567999259563739259561798259543654259540727259537035259529572259524716259507357259505584259501157259488490259466288259464366259450443259423274259418944259408259259393940259391571259374382593735025936169825934171525933611425932620325931713425931453225931128225929101525928848925927757325927174125926299725924742225923493625923286425922125825921490525921020125919647725917481525915995225915044259146630259133521259123031259097893259096089259079936259078185259077879259071441259064262590565522590562512590543702590509932590369992590332225902293725901043625899920825898947225896263125896053225895716625894720125894241325892797125892685425892028525891945825890492425889542588952262588903372588822588705892588561925885399925885140258850859258847442588448162588439452588370552588284942588190525881633625880496625877819525877674125877571825876539025874430825873586225873430825872581725870301258691999258688608258673764258662609258659926258658228258654517258612972586070382586051982586031712585984192585831432585709102585669625856225258551074258548106258532057258515642585030432585022325849912258477480258476228258473016258472044258470641258467225258453586258452950258425422584190222584102502584034782584008625839850325838824925836693258366137258340524258338777258330611258322562258314517258302646258280057258265212258263582582611762582610212582572442582553072582373282582289802582026732581997712581747402581734142581687525815607625814677825813374725813176325811175725810879258097425258093168258091253258080750258070252580664482580644025805944525805840625805435325803566325801773525801559258008116258005224257990253257986072257982898257980470257970532579696332579646642579610362579603202579503302579383725792197325791947825790893225789940125789905125788946625788625225788314125787886825787394025787303125785708525785539125784287225784265225783997825783237525782942325782515257824765257824527257822681257822250257804621257793400257790141257782422257764406257762742257751952257744582577359525772654025771714725771286725769379525768975257677865257670630257664225765831925764766825764562825764381725763569425763569225760569825760219525759440725759196225758647725758535225758127257578989257569196257564909257561652257537884257534883257534430257517031257516200257514344257502659257499702257498821257496722257472473257468063257460302574575992574445822574433712574350072574271842574245492574196462574191462574074812573922725735695225735507257348092257347914257344070257340513257312721257307036257298630257293602572844102572763532572745542572732242572702492572696702572149212572037142572001872571947902571860922571854562571794312571766342571732702571647322571528272571500012571479292571397025713620125713443025713419825713342225713216225712492825710024525707905525706357325706179925705422125705018825703195225703067325701446257003705256998609256936232256927331256909563256909040256904399256902085256899877256899670256890218256889662256889620256885356256884954256880279256878293256877782568737062568689812568619392568364362568211532568179162568108992568085172568018162567910492567830152567783192567741692567688925676630256755865256755515256748707256745041256735980256714301256708959256705025669240725668962325668335225667106825666340825666026525665742425663358325662444256603030256602003256587246256584900256583544256572922256571937256571414256568170256559152565430852565401642565373812565241342565206332565155882565094362565076942565076572565017256488218256487252256483119256482282564796822564775212564685925646606256459033256453419256450241256435866256432918256432695256430809256412022564089352563887022563871292563734725636835825634449025633979225632990256314160256301951256300726256276232256275504256271725256225937256224019256207423256206274256205647256191375256184844256182826256159297256144322561015992560892325606719925606305425606076825605062325604073425602756525601955256012441256003885255986632559602502559437902559428652559370362559363712559216542559134832559099242559069292559058322558952782558950142558765052558658032558432392558396622558394372558268032558180525581013725580875725580628125580340925580174925579492525579465125578819255729929255729688255703597255701272255700608255694339255688412255688262255683585255680785255680722556787872556747522556699072556539112556515172556502312556307832556273725559921525559860225559752825558004255547962555433292555422902555363632555334592555182762555055462554990912554945982554943252554926192554711252554457672554414442554346592554249412554237732554135192554115932553951692553582542553420242553406942553406725533311825532299325532290255304248255303305255295003255290722255289762255238248255236301255224755255205280255205002552034925517795325515763725515468725514894525514684525512948625512829425512546025511724525511420925511317255104423255098591255098352550759142550715222550705982550502372550389092550103792550055625499135925495370925494539625493755825493287625492701925491988254911381254909588254901084254898782548976562548893392548891532548820032548723192548697325486483254862585254861090254857682548479525480065825478177925477735625477706525476914254767451254766188254755214254740554254737633254734057254720713254700552546887254667199254665532546623225466215254644894254642424254629931254629360254626853254622002546194625461404525459830625459790625459366125459332545751042545664472545474362545464692545365752545336125451425925450263925448756925448112025448033525446129425445956125445645725444539225443943725443493725441768254416492544141122544033425440198025439973125439243425439178225439121325438150525437506225435417925435400025434191225430836025429786325425242254229097254226926254220294254208236254174103254169829254168678254166442254148545254147950254139083254138319254125610254124263254122017254112583254111728254086939254083289254066955254060524254047430254046602254045363254027800254025390254006662254004235253994680253976911253976908253970384253967565253950738253947834253940519253937896253928738253924479253914882539049025390136025389564925387065925385833825383684725382697425378937825377519625375916225375436025374934625374899625374600625373215425373031625373008325371903125370175725369559125369513725369353425368312325368311825368090025366954253650879253646692536118492536098562536090302536082922535996502535563912535489712535465612535372625352698725352201625352141025351935425347135325346870425345065253420709253401555253400224253365694253364892253352104253345326253336654253331418253328749253306895253284362532768712532732542532694025325292253240516253238615253233292532160872531724292531720132531521702531271825312324525312047925311709725308197325308145525306278125305713425304943025304337825302145525301626725300797252994102529887922529822142529181842529092892528974842528783042528506752528451922528442132528409232528404302528364125283277525282555325281807825280693625280428025276947825276536625276112527414292527371732527165712527019182526887325268573025268200225267237525266553325266440925266399825266379325265913925264843525264776025262559025262224925261738825259739425259552425259516325259231825257910252565779252564009252563017252561684252550681252549231252547062252543323252531687252531010252524373252518932525136802525013082524505512524502132524489012524432262524431392524300752524257102524233672524144182524082852523964602523937925237693025234408825233816125233446625233149252330612252321435252320604252314854252314701252293643252255477252248472522474025224721725224518925222594225222044125221389325219998325218725252163867252156014252145779252143562521278632521273902521133125210613425210542025210495252101631252094325208858525208428325208039525206969925206640025204992825204914525204113252039379252029446252026769252024089252017032252013839252006742520067112519925592519787102519510152519257772519063312518838625186484825185107825184780251836988251815873251804607251797640251797252517934732517924442517906742517895402517761572517702142517694562517614542517609722517574442517571292517561092517455802517244052517141372517052442516927482516926782516755892516746425164326425164323425164314225163644251620755251601140251591899251582136251530124251521583251514503251511832514905802514738902514673225145928825144816025144378625142922251420912514208682514204525141484025136332725134487251343089251334025132598325132593925131022825129876525129266125127843251264224251259801251231719251227882251219022512123632511914192511791572511671402511596442511548152511427202511411625113152525112936225107807251072920251056216251051226251049006251039339251028469251015416251009441250991520250985034250974474250971777250964541250963844250949639250943986250940798250933543250906174250894525089258925089035825088569125086950525086813625086232925082735250818157250798056250789638250764034250763081250750232250733224250725198250707195250704115250694620250683902250670634250663518250655917250654046250634907250632486250631951250624677250624454250619034250596502250596382250579425056982025056703250546658250539237250532780250525241250516835250495042250483085250481837250480824250472629250468765250463734250462553250413607250411595250400589250395552503888782503877692503669025036205525035933125035786250352202250349411250345182503091272503080925028122325028066125027975025026530825026280725025555025024667025024233525023425250232309250231532502219942502108132502077392502076912501974792501939232501846652501797250171523250155691250149953250147282250134747250124492250123776250120394250119521250118971250100952500937632500913250040145250035973250013014250003061249997765249993956249966732249963711249949732249944678249941489249936709249934782499201249918604249912062498985182498873524988453249859334249849600249826247249819116249813038249803771249792097249787496249784041249783600249777116249774749249770453249765101249762489249753955249751473249750368249744052497219342496945532496940312496801172496774024967640924966741224965426224964901524963798024963622724963340524961300324960941224959966624959214024958109324957322124956641424954477724953441624952105324950632524950007424949332924949231624944666324944304324944155249440231249438829249435080249415345249414360249409845249400612493967802493953249381316249364194249355902493425602493390192493378722493291482493264592493255702493227172493195249310958249292241249290970249257765249236298249218519249208556249204700249198158249188312249173782491670824916304249145792249137536249134626249134147249129241249124712491234782491174802491124022491116732491066692491055132490857712490843524908305249059942249047029249046133249045109249039947249037187249036395249028664249015579249011118249010425249006564248991920248987199248972907248968472248959838248942592248931623248922392489126282489046382488935572488905902488704842488629702488312724880340248803302487944924878857824877545248740536248740228248735398248730184248718212487041202487021372486990382486973772486923182486911248689948248671578248665545248663789248662484248659959248628675248621937248611187248595663248574906248551234248535321248530898248530179248520569248502040248492003248483677248473549248458368248435406248429224841574324841441324840500224840377724839054424838844624837996624834988924834695224834314524831359524831232324831178324831121248294620248280038248272352482687642482535422482515832482496632482426122482376282482310624823094724823020624822819924822649324822633424822574124821726424820872724820069248190352481816262481807742481731902481663442481662282481625842481585632481434922481271272481227982481113352480961892480934162480900002480829032480669852480663992480649832480594724804744248039778248007247247989030247987108247976642479675872479582472479571592479437362479388892479284322479216592479195722479174212479169522479092872478950772478796124787690424787171824787011924786479324786440024784675024783023124782265424779831424777869824777715724777443124776829824776577824775451224775278924775161247736462477256342477074832477067382477031462477022612476968842476922432476922362476882462476879542476743902476607552476584602476580247646272247642416247630974247629698247628745247626312476212572476048082475871332475850612475840024756925424756831924755196124755082475312532475303932475234942475218702475197422475189032475145224751318124751015124750542475045222474749612474674624746002224743988624738832624738027824737475247371936247358038247351843247342388247338556247323538247301147247298209247288012472769672472665142472634122472515302472470324722313824721301424718699524718522247182047247178388247174819247174132247171398247168927247167658247163393247142644247137309247127987247127257247126044247119041247117003247116312247114369247106546247105914247104510247096333247090577247087522247087180247085167247083421247070305247067775247067343247055070247054235247053509247039752469989742469920932469864212469669472469623852469194352469146832469108562469107562469025612468984102468918672468888352468878122468620382468431322468422852468254932468144692468021924680210024680057124679447724678268824678094324676535924676473924674229024673863624673706324672776724671260124670093124668586246683202246672762246666747246655564246640597246629853246629124246627907246621712466187472466096222466005612465969752465760162465740982465632582465581152465427242465425882465400712465382752465370962465130922465101552465083472465053612464804392464688862464559424645266624644234124642766924641675524641641524637413246367842246357902463543824635151246342563246316446246314224630388224628426246279322462738912462646222462620922462419622462399402462398532462279822462226282462202692462162024617602824616891124616772461623502461617842461414812461325652461290612461219182461026492460948932460728262460719224606482324605651524605245624604684124602016124601781324600310024597354624596400324595128724593944245939164245938898245925036245918220245910846245908606245904737245903062458969342458762462458721024586348024584121624583634624583207624582476824582357245802099245793796245792825245779242457601524575634245755605245752723245752346245751018245739771245725415245722068245721843245717188245704679245693423245677672245675086245663038245655904245651282456467752456365442456245742456185992456040712456020272455967302455882924556000424554864124554643524553987824553958824553731124553477624553099224551678924551660824544466824543820324543487245433665245421457245412096245404662454023124538019245373032245355039245352113245349318245349237245335369245319572245318567245309665245309513245306024530423224529236924525604524525249245235362452281062452267724518914024517959424517064124516899824515468245137734245136870245128352451244662451072412450876112450780972450653522450618012450574222450551242450527124505156824502486824501842424501128724499810824497943424497756924497261244964098244962972449616332449475992449340142448859082448844492448825732448768244858952448587112448554024485255124485133224484470324482197624482051724478348824476484124473265024471579524471141124470804324470566624470108244701002244694166244677243244674608244665326244660638244654732244654717244650910244646119244643859244641624244592995244591343244584966244578859244569339244566752244565683244564159244543504244542778244542605244513778244507071244503831244500689244499262244490956244441181244440622444344822444313852444196172444064622443644832443573462443419132443123532443118582443033402442845724424344824423618244188602244175259244174963244166908244153862441502462441403872441390732441285092441280244121084244118243244117364244116329244090172440865892440702224406412524404665244018366244006289243997102439966212439944382439854352439725724395595124393336624392989324392253224391855024389037524388453243879872438444772438427832438403572438338612438271002438122502438084952438068402437808992437770052437715282437697243742969243739361243732475243727682437134672437074524370349524369940424369442424369426124367013024366700243655368243627451243617124361588724359995824358618324356521124355997424354747824353921924353717424352647024351032024350766724350168924346822724346276624345992924345950024345002434329372434296243423843243410378243398436243372302433644243357492433320424332852424332544224329150424328443124327025224326331243250012243241532432355172432333824322402824322383824320158224320098924319980124318846424317962624317239824317196024312758724311755824311047024310275224309104924309010924308947824308122324308084243059494243025691243021614243019745243012749243001110242982100242981564242971003242958747242957715242955600242945488242935096242934599242924832429155172429056424289736324288839224287546224287459924286784824286265124286135124283709424283572324283507242827628242826672428187732428174802428117272428058802428046824280446242800732427979622427929282427829812427763212427460424273092427271562427223972427018202427009482426988582426809182426808172426720424267201224265590124265421242639434242638823242631574242629251242620920242614626242606465242590822425723982425653802425623742425622592425381432425332602425320632425315024252679424251932124250232424250084024249772924248526524247674924247179624247053242468202242467624242458367242458140242456366242452256242448704242445090242444032242438452242430495242422033242400909242395029242384550242358724233857824232871424232359124231672724231643324231132423072382423052332422970732422944242293061242284578242281084242248577242234194242216128242215622422121712422117724218200924216095242157101242154022242153282421307612421055232421047572421039224209566242070702242069812420687024206193924204631242045041242041115242034661242030682420236824201444824201419241981917241970228241958599241954450241953374241944110241939487241932465241922282419222172419221482418884342418621412418466724184608424184348424184297524183746024183437624180192624179912024178069224177725924177719724174271924173803424172279624171322124170681224170571624170353924170211824169378524166854524166636241663804241637222416228322416185182416148562415798412415745642415731024156942415543024155383224154601241545468241523934241516212415009102414964592414914332414819372414689272414684252414646022414593782414587742414479832414418422414410652414312612414203241413332414083192413880232413743172413728142413693632413680552413414992413371241331307241324879241315432241311806241296536241270562412558902412555302412537762412504372412501432412271342412245642412202812412178272412177422412172862412143282412083722412061652411987382411978412411745092411429482411371222411349302411273132411271062411164352411010572410911832410891002410665002410634412410476002410432652410258624101648240999232240983328240979208240913652240901053240898898240893422408788102408757272408584532408487522408465772408462924084475924084096824083843824083567124081520024081472024081185324075728824074739224074668724074518424073727240720982407209240701272406848802406830482406748622406417472406377642406173082406152972405872124057827724055403024054737924052819924052629240519001240514424240512434240509639240507735240502455240482622240481465240463330240462507240461176240452062404461124043811024043693424042693724042558624042512424042326124042229724042053240404466240403278240400230240373056240370602240368112403595282403594212403559512403554832403552562403450862403337372403144024030750524029537124028233324026789624026007624025779224025275424022789324022388124020017724019428424018841224018672401548522401513924014772401392362401280542401224240096857240096792400905524009010240081432240076584240048917239993392239992375239990469239961302399510532399382502399197372399004482398879602398620572398567122398434423984041239836519239835911239823922398201002398200223981753123980489323979623123978581823977306723976968223976361223973604523972677623970309623970236723969794623969556423968832923967958523967952396792852396716772396561812396560772396535239650770239644971239634880239622374239604050239590538239572500239565972395650792395298542395294142395205323949339023947500723945913423944883623944343239433318239419536239413036239393134239389532393841782393806862393763392393604123935766523934893423932000223930684623929365923928620523928619123928550823927998723927660239256207239255732392397742392338872391809952391534942391483002391446512391434242391421923913354323913289123912683239122950239111662239110373239108658239083192239082242239063028239059307239042133239009312390028692390013782389968782389936452389873423898470923898462523898239423897932923893390823892427923892025323890614423890514723890039723889541223889420523889058023888897823888040323887197238859382388423512388055962387984092387977823878228123876999923876666923876264523875329623874428623873777023872265238721242238720214238711297238698206238692023868631238678500238652802386526872386335462386177692386081672385987622385690323856067423855746923855534523852423023852318323851822023849438223848765923848337523847581723841637623841364123841142423839856423839022923838884423835815223835630623835192223834751423834050423832187223830983238287688238265882382637382382536982382373392382364982382255312382234832382227542381871442381859612381801723817605823817339823816862381508452381374623811153238109455238103742381035002380956202380952552380902122380693772380530423803383923802355423801964238011931237997199237977756237971801237971469237966742379393042379327912379232692379207002379065002379036902379022622379021942378873502378648723786322023786224237862038237836332378346272378315123781227423779858023779763923778955323778762423778602237782732237761136237743557237736916237731887237731563237726422237726042237720543237710417237709142376957952376884323768574323768236023767669623766434723766176623765937523764311323763117323758382523757947523757188723756508523755667623755636023755606123755094123752769623752427123752194237509781237501806237501789237490601237472870237464504237453750237440447237437347237434020237420785237413709237407832237405032374046132373943882373895622373880962373563902373530602373231902373128682372902822372889502372806523724235223722390023721990223721826523721010523720004223719738523718170923717478023716568423716386323716166923714447023710405237087642237084290237083113237075572370691292370605202370559882370381392370125272370070623698283236975717236973094236965683236957801236949720236934251236917682369141223691376323690525236894987236890892368895852368780702368737012368609823683867423683823523683428523683302423681800236812898236804235236784023677802367753392367710062367619923671063423671030623670989123670697323668752423666757236661741236652405236648703236628772366047212366030822366015932366001952365900462365866422365848342365692672365645012365538922365513542365308642365294282364991852364878142364860122364834522364601552364597562364592812364549092364510122364372523642924423641414223641376623639662123639563023639200023638889023637847236369145236351207236341658236329275236314060236309185236307423236307258236305900236300494236293399236276142362654732362508762362442072362397642362366372362358632362305102362227023621479323621348623618630623617828023616979236149519236147489236131497236122999236118449236113665236113390236098412360860723607759823607537323606233223605711323604479723603582123603580123603376523602864923602597923601660823598576235964832235950605235939293235932892359179862359058202359006582358947582358821852358802512358696712358612023585232523584630123583594223582760123582182223581454623578470323575484235748726235747709235747523574082823571333923570507423569248723564624223564469523563408235630077235616274235597515235581592235574118235566606235563423555772235548176235532196235525765235519300235499583235468269235444714235441031235436441235435752354348582354144272354109012353959323539389723538005423536019223535725423535117823532657223532170523531602723531022523530981623530092235298894235284947235273106235272742352721992352662772352562852352536832352347712352236952352154972352052022352027042351936912351906872351823332351671552351578432351431982351352312351255142351169122350929342350744023507054023507044823506614323506330223506113235040555235035468235032667235028978234993705234988862349811623497396223496593423495068923492382623492127423489723323489263723488403323488062223487254323487130234860662234848026234847541234842562234840402348321872348258132348076092348034912348008402347824312347823832347771234776272347503882347404612347357602347215572347146022347026732347024002346993752346889882346743772346734772346663212346554022346527023464930023464784223464769223464577123463258623461494423460348923460251323459881823459065023458982223457326823454936623453920423452850623452192723449585623447793423447357423445560723445331234442761234419562344167023441254423440855223440702223440213323438984423438588723436596234356229234323608234323345234319489234318880234310768234299528234284858234271714234268049234250579234248014234245729234238416234231639234228099234218249234213308234209608234196268234188681234183955234183846234183526234178106234171666234163760234160692234159832234152400234145613234124672341204362341173492341095422341057232341025122340980992340975102340963712340958512340957412340892792340888182340752072340711692340645952340589362340494732340460662340375723402684233997892339959802339794032339782602339706342339626912339623322339550792339422339406212339398123393895923393860523392586233895509233892543233875132233865083233841504233833073233814102233808081233804472338022212337780582337749732337733392337732122337679042337668742337481942337459702337248722337225123372140523370750723370705223370542023369630323369346023367459233662352336534962336496432336444932336382892336322642336255022336085922336077272335903352335618523354259023353062523352645323352624233521604233513348233509041233508102334984342334837872334811823347463023346384233461343233439647233435728233413594233403994233398335233387080233378923336266923336137023335939823335813523334930623334189223334144623332875423332861323332493523330470023329549423327851423323062023321792523321056023320348123319416623318954023318090723317175233168432331677082331626023316146023313805023313513623312435423311616523309454323308242823306027623304818123304580423303601233031182330189162330097023299855123298529323298394232975723295988232958743232952121232918471232912217232908153232902932328978623289324823289275223289050123288758523287874923285974323284727232845992328423402328411512328218832328141302328083172327962623278641823277559123277494223276436823274041023273947523273581623273473023273170623272291623271357623269724223269183123268815423266923023265111323264852123263834123263551423262998232618319232617355232587534232587202325801492325795662325771942325762802325714952325710472325692982325686102325640323256128223255947423255535323255523623254735523253905023251029223250275123250113823249887923248693123246428423246337123245402423244846523244516823244390232437826232435342324266882324064002324060652323979323239576223239203723238129723237656323236073232350187232345236232340226232329059232318101232307026232289347232252181232244662232234158232231253232229275232221100232217452321891262321620752321469023211473232106609232105150232102942320972552320853572320828942320806923207058232059293232048960232045641232045449232033015232032856232020782320185602320127042320125682320060892319934022319798282319742472319656162319654323195548623195391123194632723193700823193478123193460423192158123191090323190972318940231884226231868952231838235231836572231832802318313542318125812317943412317863942317813502317766722317602562317487702317486962317208692317005723169422423169232231691622316834202316817622316777582316721242316373612316013742315866082315846712315731362315722623155997323155440623154258423153956423153112723152253223150677623150490223150318723148682323145644023144625623143526223141831123139947723138322223137938023135293231348672231336001231323837231318367231287389231279308231273268231271431231268165231225721231223773231210660231201780231193916231183065231171254231170098231165667231164082231162930231156327231154491231143141231122584231121573231115156231114358231114129231092062310883562310580582310517972310335231009847231001691230992329230990979230988799230982893230981185230979362230972723096831523092862309211942309096622308937712308822652308730742308559542308490823084629623083612223080331223080310230799562230795505230782621230752294230740439230736578230725487230713545230713483230708920230707855230659412306589522306577382306472623063470523062899023062215623062104823058952723058870123058469223058297223053598230534556230525356230521272305132122305034682304936682304740272304727072304574132304358582304330212304269342304150323041448523040931423040628823039874423039829023036955223036770723036534323032459230316346230308862303055423028200123027729223026772423025665230242750230234455230232762230228284230222681230220650230213169230211604230209757230205417230188303230180914230178962301737542301726352301712582301486962301033712301030642300934542300933512300928623008647230080363230073982300652202300646182300616292300488512300406712299917062299883682299881722997127122995948229958299229956932229937156229927228229909872299070282299065192299049172298568322984379122984292222983593522983210022981344722980905622978137022978124422977958022977217322976971322976642122976495422974800222974270522972241522971364622970647122969118622967733922966741922966571722966271229651203229644269229643529229629817229613947229597722959236522957682229573987229565732229560662295420822295395072295376332295264532295204252295146229510977229504943229486931229484871229470362294685229465322229461155229457447229450979229446692294459712294430132294381162294283982294250372294212232294185122293817572293624122293565752293546052293455092293140822928766222927516822927282322927040622925562022925171322924342292418892292344712292167962292023372292014542291954052291909802291908012291742902291706682291466002291389122291365032291058182290934872290901232290862212290856592290786062290758872290699742290561672290455192290434062290393802290371882290346622290142732290100722900581222899376228985555228984345228961506228959794228939796228933400228930742289300022891230122890456822887520122880523822880203422878374222876552922875390022875115422873630022872883422870933922870905122869669722869069622868930722867985622866940922866876422865499922864095222863827922863384922863213022861511722861248922860507022859593422858892722857217222854403822853859228537999228537372228523641228520045228494928228486293228483697228475200228473069228471288228468792284586392284477322844111122842394122841764722840982284063732283912582283798692283784792283572792283538822835382228309871228292696228258617228252722825240228238759228237574228237091228233292282293082282264692282229122820712122820024228194553228188083228177270228162511228160659228159617228145164228142042228141172281360922281278032281254612281247692281052512281022862280814722280491842280408292280362222801319622799815422798119522797266522797135122796468422792636022792225522790736227905357227904136227892411227871541227859570227852133227847670227822496227816067227811392227804502277965742277855432277509592277463112277390422773566322773275322773073922771415822771326722770796022770376227700717227699129227694011227677092276651922276630202276623342276498462276466812276225122761393722759748422758843227578032227575022756946622756635422752188422751276522751238622750557422749194227489116227488986227476021227474059227472013227471126227455292227448868227437978227431166227429160227424674227413902227400116227394348227386770227361166227346722734639422733731222731654922731413227313522730399522729215722727854227277683227270836227258658227241870227231092272264542272137962272099882271992242271866352271847352271737082271713222715494422714954422714822722714673022713526322712284722711982422710089122709859722707780422706868922705713227041895227040765227038141227030242270277532270224712270209227005189226994125226985092269615282269605602269521002269372662269322172269131542269094802269062422689932322688871226881653226867288226864665226838243226832712268298202268269922682519922681716226803602226776552226768558226766900226735830226727481226715382267009562266963292266693422666666122665663226629850226616515226614505226606232226602052226596449226584240226572617226571085226570873226566892226557694226554069226545909226531934226511964226504139226498742264947112264928702264837052264738152264542482264542442264515552264471402264285882264226252264191002263995192263937532263709922263662322634354226314913226313180226311079226304860226285734226278396226278013226260502262502902262496422622022822621625022621352261897022261828472261817872261685132261673052261659792261656702261630252261573262261548022614363122613932022613112822612791922612040322611239422609766922609594122608907122608393226068583226067491226026153226019426226004652259930372259869742259674922596659022596168522593999522593997822593007622592457122591712622590918822590629022590364722589451225884226225881084225875356225846382258441742258230642258141482258133932258133722581097322581051222576784922575504922573958422572034122572005722571371522570556022570485122570161122567971822567969222566632722566618225656669225636881225618842256143622561284922558067722556719122556527222556372222553028622550248322550149122549093122548229022546596622546301922545363225453561225448481225445188225441916225439175225437128225405817225361280225359425225355773225329372253163782252873312252831232252691692252602322252445682252320902252279922522442022522119022520652922520464822519510922515381122513671322511722522511540225050966225049452225042664225033893225029502250269222502610225019653225013356224999778224988693224964108224956173224932542249254542249091812249071322490199522489618122489520922488935222487556422486655622484737222484492122483777322483257922482651522481010224807598224802822248014532247988292247843752247686072247523022247474012247425322247366322473483224721599224705008224701794224701319224699500224699178224680512246763252246733642246711492246629462246541542246496122246465992246423182246412292246260222462098122462026322461735122460800422460772622460134322457548122455542822453850224537614224526536224516722245162522245073642244965982244961922449036622449032244856002244753502244668582244652182244651422244642672244580922443921022443690922442697224423897224391162243828342243500822243491224348521224336051224332952224331523224324263224318565224315452224310843224309085224305233224287466224267273224266538224254272242542022242280502242125752241783772241735642241269452241240572241234422241081802240809122240769752240767822405643224048642224045195224044621224043031224002582239990392239934002239901682239875052239834412239803332239772482239493302239334742239157612239069722238972482238903122238861072238813642238806692238788592238784552238759572238659632238385862238267052238189632238115642238049462238046842238011752237974722379342223785165223770922376645522376379622375147022374307922373947922372879022372198222371262222370048322369359522368453422367262122366300022365749322365454822364807223646016223635863223610690223604614223601949223600930223594283223594227223580663223561323223531398223527807223524422351672223510722349422422349400222348194022346625622346472223460005223443908223439669223430732223429091223399712223382753223338172233376122333416222333047822332861422332476622332282322331566022331045822329960223299252232959822328261822328235322328123822328053922327614223260113223255548223249493223227924223214859223206931223154691223143274223136610223135517223131598223126592231246122230992072230964172230906692230721902230654992230630812230467562230447722303737622303119422302841022302794322300483622298932122298702229748162229722122229610742229249662229177942229142022290951122290618222895789222893217222893202228887452228713322284617222843913222837218222830782222828111222825994222799448222785458222783966222777997222774790222770973222764211222742228222739821222729483222722642222722150222708539222703034222703008222701941222681385222657368222652330222644331222630277222627072226152942226128692226123442226077612226011842225922812225839292225838532225649872225479702225407892225007392224979532224734262224622782224592522245511222241443222398832222398348222398342222394291222378312222373712222371308222365242223481632223379222222984722229671422229394222225454522225242222245024222241481222239202222234580222231204222227896222210138222206323222205436222202612221934622221826372221759432221751412221714112221672762221555352221375082221189222211281522210249622210159322210110722209810922208809622205266822204917822204622722202234022201188222000562221997094221966278221964754221961958221957228221948680221934779221932052221926128221924326221919444221909682221906774221894452218871212218724532218715072218656221858622221817836221807334221800859221780089221769527221763783221752508221749376221741329221734932221732243221725129221723465221711622170824221707283221685322168319922168068622167018722165843022165522522165401022165011522162994322161017422160858022159291221589932221573982215689732215488402215471082215339072215290422151163322151107322148911222146539722145980022145692322145333822143578522141909122140707022138612922137482221360292221357144221325355221318476221318044221296954221291221221282439221281702221279944221268694221253844221226173221220732212184032212176332212136822121252922120966022119904922118876422117068022116912222114849722113440622112960221116096221115190221080789221075182221069441221067300221060892221041575221008388221003470220993624220985609220979018220971882220944462209374752209215522091690822090724722088252922087697422086212322084548822082147122080835122079153822075788522075513322075422022075300622074740422073113722072487422072079322071574722070973220699260220689382206882092206782822067072622067059220669088220640220220638592206384622206349192206149942206000372205911112205860592205685142205515722052555522052458220503417220502934220493532220492815220474296220460644220440755220438714220436171220435516220434786220411055220409942220404904220397051220379528220377135220367185220347014220340532220338362220336500220300657220284199220275441220273362202485092202361382202180962202089752202025502201950232201883462201643092201465922201303220120174220116356220116353220106527220089203220066926220056648220030994220029597220023324220021732219997759219996267219961831219943248219942327219932383219906672219900139219878125219868522198582892198488302198449602198347532198330322198280132198201852198128862197885921978328921978315321978088321977797421975851121973794221973556521973244421970467421970437721970342521970061219692921219692711219692626219692212219689019219678676219662821966124219656732196142202196091892195779642195543982195302502195240302195215352195175572195146322195134812195126132195085462194975702194937332194871762194728821946759321946480421945839219427387219426078219413449219381964219371489219364626219363690219354776219342411219320253219319495219312750219303731219285562219259013219257420219249962192438822192433202192363921922294621921678821920012621919896219197655219194151219186020219180172191706192191701182191583192191367302191324962191093102191092282190999521909675621907490621907065521906313721905316621904442021903229621902653221901001321900178218974734218974679218973643218960455218945902189448102189444192189389592189386021892990021891233221889889221889119721887116321886070021885117121883671621883294218830612188236532188149512188117682188111142187923262187880221878182021875135721875053721874372421874287821871814521870970921869039218663042218656424218646843218629953218626769218621622218596339218595890218592312185865602185788282185694362185505421854664721854417721853797521853573321852732621852297521851988521851132121850793421850456121848747821848324021848233721847869321843046121842498521841576621841394221840973821839256121837670721837350421836232621834763621831321621830277221829594921829371621828029621827043721826695821826365721824851121824833021824301021824245321823555321822556821821089121821044421819931821819851121819300421819135218170066218147540218127117218115520218106583218100044218095939218071575218071421218070431218068906218058977218050849218049059218027522180229132180100752180051332180026162179916892179822352179699121796704921795061421794952921794840521793749821792642621791899621790392121789748721788672621788089217878546217877932217848442217824378217815725217812984217809120217769116217768014217766908217758651217745565217710643217708352176926921769218821768801921767768721765696217643562176357682176327621762470521762051421761201921760601221760055821758135921757436621755961721755900321754243217538102175271542175180782175140621750806217507923217489149217486500217484952217481291217471061217459001217429845217424486217404225217401802173744792173677452173624792173530802173526232173485052173253412173005642172880321728702321728594821728355521727736621727595621727347021726722217251800217246861217245544217229730217211127217199366217185063217180520217136185217124856217121090217119727217099556217067622217056584217055102170509392170329942170199962170104332170021852169984522169956532169908322169814421697695216964372169506092169490721692808721692248216920429216915050216913812216894552216891065216887736216855960216845994216840548216829294216824445216823020216810972216808202168026592167881692167754421676826121675761221675530321674170621673504121672774421670607221669038021667466621666993421666966621665078221664411121663889721663835921662643521662230321662217621661807521661613121658132421657652421656468021655346321655222021655101221654395216539919216537088216527179216522862216432123216423392164227202164225782164215972164113721640965721640249021639766721636822421635323321634219421632705821632351216311348216305666216294019216264842162498822162484962162409132162313921622790221621513421620490621620476521618260621617912721617431221617289621616372621615945321613806821613215121609476121609438821608784321607324821606203721604917821603607721602659221597922821597395521596132215959922159559142159511562159289892159203272159136052159086912159052462159048782159012552158511821584837521584238221583294421583286921583275321582423921581042421580317621578678121577640621576758021574611215738977215736583215728966215720948215696336215691906215690297215684345215680688215678948215636142156277942156164712156024421559471821559273221559164821557074121556889215541648215499242215471677215471207215468403215465037215452121542813921542753215425931215409568215403262215390773215385744215383537215383274215375602153698142153682621536149521536104221535592215347450215319155215315036215310687215305311215290412152799242152797752152788552152617322152407502152398622152318872152206215217205215214014215193936215176680215175942151734221517275215164412151515992151425772151367202151237062151222812151195922151168382151087962150859142150325742150262842150221372150106432150039802149778892149740821493290821491960821491017521490095921488875221488794421486412021485566921485399214850792214837887214837376214830244214827934214812432148106392148059472147836882147809214774986214766062214758626214754746214750885214746902147380132147317592147132362146994412146920182146915842146843422146493092146468202146402292146388121463516621463472921462513521461792921461137921460621621459472145771712145632202145454002145343552145253214507014214498072144938812144906702144852214445942144416022144210912144095102143999082143878842143838252143727212143667932143614652143571202143523502143505982143496482143459132143385372143361072143357752143157992143067282143031812142963652142913272142809252142725312142719252142665012142637952142291192142071172141995652141772821415955821414756521413929921413344921410594621409442214087811214078141214076572140629302140613372140567832140556442140351692140221562140150221401423021400901021400315021398096721397868321395725521394869321394507213932738213931099213905816213900330213897380213889428213885180213881929213875887213870473213859178213852659213849242213844892138281612138241382138200092138185992138150421381107121380132021379507721378300121377326421375061021374626321373565721373266021373161721372875213727829213721169213706936213685918213685690213666838213658149213648187213645760213644528213639607213638224213631176213623124213615215213613959213602988213601032213577579213524381213523603213517048213515987213511874213507087213499852134910152134787372134770322134705612134671821346708821346192134510262134472522134394112134079642134054372133731312133668772133551562133503242133456921332299213313746213303684213278770213253837213250809213208977213200921213192932131825902131636782131620462131557321314470321314019921313902131321321312546421311057121310748321310118621310086221309566321309397221309162121308730621307904921307419821305700321302226821301887221301053321300733321298439521297954221297835821296650212959972129578692129406942129390862129203702129127572129108942129102762128930472128876772128836062128676602128501592128137642127934172127714972127555372127362992127256412127212492127189092127178342126923062126651512126643362126605221265627521263976421263006021260513921260374021260327921259566021259413421259092221255648521255594021253370121253356721252575221252459212524008212486624212484517212459486212458855212453014212447769212434932124303622124149322124121272124047242124026542123936242123899212384318212381684212381283212379172212377036212375800212352754212347275212329802212320567212313119212311069212298985212279267212276443212268144212257545212248844212247290212247243212246095212245721221776212201978212194288212193033212182943212169932212153836212145033212140584212135872212126342121245021211300521210091221209656212094569212094207212093422212089372120750502120688492120668932120575721205238821203533521203125521202588421202281212016352120091732120073612120047162120026021199136321199064521198557211981771211979866211977327211970210211962171211960373211955188211939822119348121191992119163342119047772119008972118650172118592442118467252118370332118345662118287042118095062118076522117999152117886242117744321177300921176433421175755621175572117289962117259452117160211706402116940832116888211680664211658093211654104211652674211650742116500022116481862116406872116379821163032721162684821161999721160861521159741421159286921158800021158566321158543021154951821154387921152392211513192115101142115064752114967392114869142114812082114732122114511021140576321140273221138541221134901211346860211344623211325833211323948211321992113117672112633832112480212112464032112269632112240172112119612111846392111745692111725752111698622111665722111617122111529121114321112699421110429821109032421107544321106422110549062110160452110048842109990742109989302109682502109571552109560472109425722109155482109124422109113102109109372109106162109067192109062912109046462108985792108896072108887942108880962108818142108781512108771421087451621087277821086916121085998721084216721084142621082466121081366721081161821081129521080358921080237321078642210759342210752102107486972107341512107305072107247862107100092107006662106993762106759302106699772106667252106620222106455432106403362106287952106282892106259021061993521061334821060136021060078210600303210596327210581824210581672210572921056542721055782121055232121054364121051567921049189221048028821046390221045850821045313721044703210444223210423530210415388210410185210409838210405902210397186210392560210366027210346946210335075210334572103217072103162821030454921030266321029402121029312102896502102879512102875802102845642102800662102762272102759642102654921025018210233027210221088210212143210211442210160012210145451210143482210143417210140940210139043210138743210105226210104092101031982100911242100877622100757002100725502100673432100411692100321612100100721000552820999269920999085920997341020996584120996556620994921920994856209931310209896091209888152098832662098738892098665612098417172098378822098375582098365020983592320983441020983373620982323420981374920981187720979399420978370620976157720976139220974770220973466120972995320972618120972162620972053920971067209708756209702420969781420969592020969479620969304520968817020968217720967700920967479020966562120966471120966444209639547209620037209619732096163382096111382096011972095867962095845620958107620957577220955091920954974820953694620951556120950900620950645120950341820949196120948778920948741220948391920945282720942050209413050209404960209389630209377262093617742093562192093538552093517042093288942093183852093181320931136320930115209300695209297688209265482209246322209232163209222023209211006209197323209185256209178276209170069209166103209164270209147404209146600209143473209137414209134096209120064209109510209109264209103712209098012090911552090866912090820472090780762090735092090709142090691982090669062090376282090357812090307732090200209007606209006049208997091208987348208976904208938023208925822089066472088926852088820652088785012088754712088686672088673412088605620885986420885797620884966320884478920882560208825166208822776208806892208777619208776371208750599208748966208746912208731885208726433208721560208720728208720463208719682086767792086725692086710802086568672086544172086495820862344720861835020859741208589968208580054208579194208577269208575518208574121208572952208572679208570252085597222085589982085580942085294822085288282085251192085245282085047912085025492085019342084882820848516120848365520845837920844990208425792083984292083911472083860208380929208372903208371502083681520836620020835961020835845220835146020834179220833710120832570920832157420831761620830637820829297820829084208266573208258315208254271208253627208247110208245359208244243208221967208221622208215154208200496208195119208192774208190306208187776208178652208148726208143172208141097208136821208094556208092850208086172080703522080603142080513922080403532080268842080252772080214832080148292080076820797865020796906320796572420796460420794977820794750720788967020788788207855395207839115207826161207824470207819759207814045207800750207794649207791286207787705207772990207752643207752452207745654207742441207741683207740915207737183207735269207727482077219472077184512077140382077038732077027072076998922076993620769302020768833120766542020765943220765716720761986920761052120761049720758717920755739020754937020754422520753876207531691207468704207448747207446734207432538207426547207422213207421304207417641207410706207409173207409092074017320736709020736350420734803220734575620734263520733881520733701207330819207330245207328131207323369207322772073196282073153720731384207301110207295588207280084207257864207236998207225302072088002072015020719442020718822220718229120718143120717545920716938920716704320714863420714556720713379220712979320712012120711289920710397720710342520709458320707932207060715207055502070464352070446552070331392070184702070159012070079220699995320699839820698692520696644220696301620696261120695528820695467620695460720694693220693093520691196420690545720690434020689863420689562320689287020689250420686356520684139120683839520682751720682736320682361320679335206786456206770509206768635206757076206749542206740442067379822067365002067285702067240382067145982067028292067004792066971942066914192066791222066706012066688782066679872066625532066508332066485852066475342066367722066361472066286420660888320659371120659226220658322520657921120657843720657224720657054206565802206547521206513033206511652064889452064848520648388720646604220646382420646077206432459206429682064243352064197832063923920638638206383782206376284206374177206367705206357607206347280206341402063347752063290432063057920629433920629063620627174520626081320626072062585872062585092062424022062411232062386682062286020622293220621450206201470206189132061539132061274832061227952061203820611753206108489206093757206085333206066999206066244206028517206023563206003554206000282205995852059841205976455205958062059516522059454832059435942059340442059187172059032420588567420588405220588240120588046205878639205878016205871527205858444205852447205848865205847255205837673205786896205771332205770581205767122205766370205753706205746606205725614205717310205714262057081092056856462056769320566435520566097520565919205656342205651971205640603205636585205633995205622589205615493205615407205614223205600056205586816205574849205557569205553189205542615205522493205516942055084732055043082054835220546316520544471120544376820543210920542269220541606420539972420539322520538340820537669620537353620535398820533176120531035220530592620529947720528544205285418205262555205256552205251448205246947205238442205216426205212477205210752205185721205180690205180432205170572051597882051596062051589512051567620515581020515066620514781205137915205135646205123823205106386205094820509113220509071205085140205073266205039506205035416205021812050156552050145792050079112049945172049942262049687432049684712049586572049538612049386992049251242049136452049069802048877482048410122048368422048199792048199472048114652048113720480635120479877204794133204780678204774522204766851204758744204696195204695542046875042046872342046841072046703342046675302046448622046429412046420592046387372046379720462937920461504020461242120461132046064022045968052045911952045590922045530882045333922045158204513802204499162204484536204476346204466758204449628204439340204437843204422539204408806204408204396199204384889204377748204357357204342427204323377204310492043040802043022242042934022042717072042533392042520462042500092042458332042453942042324582042207220420929920418803204187054204165932041449872041409820410224420409918204091104204085116204072629204071750204070454204063272040606562040519762040392272040153732040072652040027322039759920397282520395383820394099320393149203930970203910885203909812203904503203884790203876686203862749203855820384572820384386720384128520384026920383477120382912037937942037903382037876192037875422037823942037808192037695912037660062037457920373663020372413920371373920370630220370015020369455720368156120368149320367094420366721220366274320364848320363694820362925203606122035987472035985042035913082035872132035548032035542232035534382035495292035476942035349120352737920351968620349767120348316520348134220347857920347776520346122920344637920343888620342731420342126920340939920340462203371344203331535203329756203324972033103112033095182033005832032833220327701620327314320324537120324319320323789420322613120322471920321453203211390203196176203195151203194541203180959203179488203177371203172459203170609203165589203154698203152512031506712031355972031325442031321072031138682031123232030909952030871922030814492030798412030546620304173420303677820303240020302814120302721320302233220298704920297933920297545220297445820296903720296454920296320620296253202958073202943142202942433202938081202936581202933613202930080202920847202916878202915189202906931202902373202888733202886434202875831202863346202855116202838412028343920283197620282572820281674220280797620279293520278545820277480202774112202746234202742499202734761202716301202715193202698430202692414202682170202678943202671747202664685202638206202636984202628340202623467202597439202589613202563623202559512202546949202528222202527420202513929202491061202473814202473118202467825202467288202464739202442248202419556202416097202414856202413279202413041202409966202376302202373406202357928202355802023473822023463952023407302023321652023172162023017112022915102022827062022712612022688142022558402022551720224436420224255920223936720223907020223728020223675020222519202224771202218682202216882202211451202202912202201781202192679202191422202173302021727162021714732021528220214065320213318020212291620209950920208179320207894120206453820206259820206091420204855520203695020203354620202824520202407320199974020199828720198929120198643201986285201983364201981365201974500201907957201887854201875003201860941201850602201836124201830069201829720181602820181255820180780201800144201779892201777852017748152017396432017358982017316722017229392017065732016828922016561320165368220164584120164184620164127120164041620163896820163307020162977220162892020162596420160486720159570120158702201580442201573666201558571201554341201550189201548263201541020201528713201515430201495452014768282014714622014675320146586320145985120144484620143584020141727820141321620140121520140026920136203320135867420133733520133568120132198920131794720131718520131717020131455201306125201297431201287062012791952012788420126634720125360620124284720122846220121980620121429201181586201169502011678052011632072011439282011431772011210912011152192011148822011058302010938720106932320105474520105306020104824720104312220104309420103811920102566520101233520100826120099600020099274820098363720098027820097033620095819620095269200939380200920152009021062008847620087351220087125920086166420086163120084262008360382008230192008124762008078802008070512007933920077108920074714120074566220071944200716116200710192007005952006938752006843602006639682006577562006486122006398042006395120063458220063394820061977020059541320058945820058362005823972005766792005697032005679362005576442005559352005525952005486612005455672005342592005295472005203482005075732004906832004860220047567820047453420047413320046931820046864220046072320045093820044938620042077220041895220041877720040882020040772320040310920038478200382319200372004200366438200364216200360706200344252003338802003294582003221120032076020032001120030399720030133920030041520028590220026302820025888420023746820021505720021006820019873200194044200153785200145221200137412200130778200128579200113504200109217200100172000997352000897802000882242000872712000747642000745762000718972000712882000703420006772320005618420003017720001483120000761920000504619999564419999200919998764619997557719996068619992063219991014719989689119989667019988038419987747019987397219985727219985669419984395019981411519979698319979392419979229199786380199775501997718471997608701997395461997277519971793219971306719970237519969511919969420619967124219966602119964518219963272119961962919961253619960624199586384199584853199569894199556689199551821199549436199540447199537750199532221199530511199513131995086819949954199497589199497232199496348199489762199482199478876199474769199470734199459220199455701994300111994112151993904721993844341993775291993743601993722191993559001993522611993489381993383101993140661993126051993084731992965331992852581992748321992627101992598871992583341992244791992153221992008371991920211991891681991698541991688241991528881991415731991387319913716119911800119911275619909026919908781919905193199045098199031172199024565199003190198996171198991450198976550198967519896694419894150319893325919892607219892563819892383319891348219889019919888917198883176198883075198872459198862851198850366198848275198842127198814937198801244198784738198783937198762661198751369198729748198723845198712475198702236198699548198670351986672961986537119864649619864006419863725619863623719863373219861100619860923319860539319860171198561991198510631198510033198499311984933919848500819845701619843947198400985198400410198393602198364461983387191983357421983303781983286011983211921982941801982893401982624281982257631982231531982108111981977691981915351981692261981671441981533161981514119814624619814380198138631981084011981019871980911141980779519807730019807304819804569219803408198028877198022590198011646198007597198006748198004679197999498197995837197990030197975964197972657197963431979443761979325651979324601979323771979300451979235901978945719787710619787506119787028419784357197831020197830040197816994197794405197789254197782271977739481977697211977651641977589521977579841977558231977527661977425741977345119772944419771664119771622197695301976844471976771111976749881976722051976713619766130919764800919763644319763271119762687819758429719757698019757454197540621975335821974945119748466019746970619746215519744115019743311197415992197393480197390978197365331973650681973642161973636261973634501973580221973486361973424301973416851973321281973294971973183541973028221972978331972887701972831519727879519727226819726682219725629719724341619722766197219573197213917197208524197203373197202653197186901197174294197165959197148209197136471971144771971057871970945881970872111970796071970773521970636471970632381970611861970590451970559319704641619704142319702842197001504196972586196957902196951139196951127196951051196932866196925889196925067196919214196902221968988921968955991968893111968867991968750471968727819686562919685937219685739319684929519684881119684444119684442619684342719683931819683688019678939919678740319678511719678366119677624119676755319676625719676364419676103519675261719674213719673991196738251196729805196722728196713963196707021967023991966903991966869521966849031966483931966410211966401819662411619661605819661012719656965219656931965686601965682761965670051965551081965485311965445441965424521965204291965144201965130671965029601964977791964889301964686691964668591964663761964445301964259419638171196337105196334495196321461196319571963019461962868421962743351962662701962587471962539691962483041962290991962199301962117381962075431961730461961640681961631171961460419614174019611576196108485196099801960974319609182219608972119604906619603668119603496619601788319601574019596948619595670419594637219594240119593594119592518619590997719589229019588850319588647819588113219587316195869036195868757195868466195858195850351195835508195828328195813260195803481195792234195790029195766786195765802195761107195756559195754672195741360195734357195728440195728191957139531957117431957080511956959111956868195681519195680653195673641956309719561094219561042219560843119560428019559494019559207019558339019551782195511711195504630195498481195489624195489457195486591954813921954806181954774571954704431954554931954393971954326741954195821954141919538726919537357919536877619535638195314544195300876195269435195263732195254018195246550195234113195222465195214547195212006195197940195194664195180804195163521951617421951612311951522751951478841951423171951313501951285195107628195104129195084002195072310195065587195064691950557019505168819505165119504269195032397194985138194982656194981601194967720194967615194967469194966723194947919492361319491866819490946719490885619490614619489637419489268119488107819485103194847881948402401948277819482041948055911947807741947792921947789321947723161947651019475778719475198719473010119472130319471185519469852619469006819468612119468483819467890919467260519465058194643260194620379194614104194594611945926151945903319458608919457248194563367194561633194558373194556205194553791194535327194534701194522597194520496194509503194496237194495495194477999194473904194469970194449444194439531944270361943850021943731481943704761943683361943659411943612431943572651943386131943171391942977431942841819426042119425885419425142194251296194246599194235781194234371194231666194230462194221651942184961942170391942131641942106521942067171942050651941960641941913981941779201941748671941715891941572481941572341941525621941460251941440931941338101941317611941300331941262991941209101941188611941137801941133371940993221940847281940841461940826651940746519406954919405765419404471319404029194028130194016830194010221940061119397950193975966193961648193948935193944884193931882193926642193919667193905026193903029193895192193888252193884971193839132193836727193828601193823912193821171938197251938192301938068701938028619380187619380134519379922119377681819377165319376467119375895619372299319370860019370778819369209219368150719367300619366185419366148719365815619364333419364251719363644419361624219359937119359588919359259519357958619357438719355550619352266193520158193498316193482459193461320193458577193451377193417815193388968193388619337720019337522419336693719335814319328086819326559519326128419325755519325420019324253619323726119322781219322295319321972719321045919320696019317069019316792619316148219314794193147634193143563193129991931235511931055193098225193091508193089991930861711930828141930718191930579041930532619304090919301926919301863919300710019300232019299526192993069192972998192961475192946281929367971929219011929182101929032111928914991928693731928662919282821928190192814540192812825192801812192792697192792129192791506192772626192763125192760507192757098192738927192736259192735041192731924192729512192718552192713761927099691926946321926868121926854831926848819263676619262203019261867192616491926105311926021925976119259413819258335219256034119255595019255402519255139192549552192538251925377019252731219252283419251728419250582819250426919249389619248606919245988719244929219244591619244430919242779519242407719241931919239713019238638719238611719238551819237272919236588219236235619236234719236001919234852519234756819232989519232910919232873919231777719230262519229979319229658819228935419228812192274286192224061922184119217795319216878219215135919214597919214579619214392119213472019212439419209106719208772192085126192082359192081111920798391920779431920765671920751731920730421920618521920453251920432951920420619203848319203722819203489819202665019200574819198776819198404191983922191956581191923953191922411191905223191893831191888249191878593191876730191865491191858116191852612191848981918451381918394091918389681918309419180564191805084191789956191780644191780205191770562191758807191757528191725643191718424191677071191667139191666829191651390191631406191626476191617548191615144191613404191610555191602311191590618191590165191579522191576475191570149191563613191563337191560338191532628191526069191519145191512473191508410191488245191486627191486485191482040191474569191435464191415930191414229191405856191395733191394921191387440191367236191367179191354950191354726191351873191351276191346471913371801913325691913263141913126061912934391912914671912762281912636919125773819125619519125269619123838919122921619122647019122618519122033519121451019121253119121172719120494519119748519119727119119258819119074419117732219116943719116276191156552191154633191154620191132845191132466191125571191123550191114152191112838191112749191097457191086911191077950191072731910698481910392291910342591910193441910141919100952719100738319100668190980611190972823190964006190956993190951089190949167190934132190933258190920121909156961908954641908803419087146019086691719085643190851289190844442190833917190833513190829142190787601190781304190779954190779830190768341190737716190727621190707261190686876190677928190677281190675971190672269190664752190657032190656915190646702190622519060964190609573190606028190603252190584355190576331190561763190556726190554891905327441905171771905163641905141031905074231905015641904845711904641781904613711904442811904418371904340661904228011904177531904163501904059351904054451903981781903895041903766331903753261903615311903523411903341181903310451903145161902558319025283319024753719024601619023054819022283819021418719020733619020521719020181319019835019019689919018898719017002419016002719014176119012096719012043119011679919010756519010275819009796919009782519009360719009169219008559719008040819005104719004296219004095619002503719002434919001689518999025818998052189971072189969740189963438189958533189956879189953873189951231899449581899418201899410841899375441899309531899010671898998141898859231898782118985430118983590918983494318983466718983302189831771898271801898266221898198731897941101897917401897819518978189189780408189778233189756585189749994189736302189728141189723760189715843189714954189711920189708203189707464189703606189700302189683185189664625189649597189628060189627966189620891896187761896128571896093371895930631895723618956970118955433418954609318954475189539172189523286189519041895166801895072331894870581894724941894581611894530011894446271894336561894275561894269571894261051894020918939272918938285418937916418937614218936584218935828618935709018934539218934519189343102189335766189319445189312394189285244189282736189277051892381721892281411892217751892161941892118581892000301891914821891886641891806151891800091891583131891568571891435051891396391891064871891042341890933221890892531890875901890836211890793191890790841890711171890659618905331818903348518902773189002843188989075188964006188955012188946610188944557188927673188893403188881544188875605188862357188845271188843534188836839188821324188816979188815091887948581887948118877174418876240418874431218872365918872303818871093188708901887015121886999931886997918869916818869546618868798718867906188659797188645433188642413188631192188615498188599787188588709188579211885742291885723441885650551885618411885415118849957818849646018849490518848690018847512118845515418845476818844620188438380188420278188414907188402474188398322188368949188367791188365541188361281883560181883518991883514031883455991883441883379361883166251883056341883031281882987481882968618829609218827508818827307188270497188267335188262057188255543188255149188249084188244501188243186188240072188237144188235111882257511882235021881886591881870581881799171881792481881619671881579761881569318815555818813885188130691188114224188111056188091627188083114188073255188024394188020368188020156188015401880136361879935171879917187975906187955429187943939187942891187935123187927221879230201879180551879158221879142611879064441879041411879005451878966531878913511878803171878664501878612551878414871878340071878288941878175731878166318781661818781019218778836218777713118777414718775758818774371818773030318773009918771941187707752187703451876838511876747381876610261876597891876513591876431187614190187611005187601164187588181875821218756292818755676187545860187532841875236181875216461875108818750923218749845618749034418747522418746639618746334018745030018743270187431669187403543187400223187398661873917961873908351873898961873825331873767141873731581873686981873653918735027818734884118733672618733483018733225818731825218731052118730096918729027187286604187272392187272337187270635187264483187262447187250695187247891187221299187213387187205893187204571187193651187187623187177819187173454187168378187164859187160899187153649187152468187149282187133664187130221187123361871064101870773261870771741870623821870597051870436131870416561870176318700717918700421818700035018699923518699485518697757718693873218692646418692382818691674186905581186891012186886424186870248186866714186861286186842951186821448186815661186802835186796723186789221867866418676354718672300818671118670577318670234718669551918669145418668785718666014318664975518664891218663303218662570218662020018661020518660982918660113518659772018658495118657168418656731018655520618655220918654637718653096418652841865260171864797171864738821864675801864590711864470951864436718643819718642981818641178918640266186397850186378131186376592186370837186366840186365013186363988186353320186344081186330665186330345186326724186321681863042311863007418629436718628831862873231862870991862865961862616418625498718625409618623958118623790186236292186225980186224976186222924186196199186191333186185735186179250186160021186159291861540118612282018611941118611106218610900118610231118609761918609657318607830918607722118607706618607284218606721186065971860543471860467461860461211860438218603989418603919418603505718603310818602791718601285718600456618600141718599505918596249818595883185955546185954944185925311185919637185915077185914198185910293185896013185871503185861731858551118583961918581236718581089818581025318580922518580676218578823618576610118575550918574394018572118118571593185714449185678920185659465185649120185637460185631270185621624185608480185567908185567277185564691185553518185549663185541315185538536185535335185518344185506516185500391854810571854681118543926818542975018542946718542822018542514018541716318540217218540011218538790185384081185374595185363222185361251185354955185346029185342699185318704185317964185317343185316982185301994185290941852812561852731461852564218523486718523007118521650718519338185192558185182281185156580185151235185140705185139012185137139185126398185107827185097583185097185185088056185061915185043163185042511850303531850020321849613181849595191849499691849471518494386918492995184926751184911678184898472184882210184876062184826832184823220184813301847983791847954841847868081847779371847433821847298018471956918471885184707427184694589184684759184676442184671270184656121184654079184634758184633892184622749184613152184611971846015681845850641845727731845655691845640371845473691845458711845410201845340621845301211845151051845071191845065161845041751845008018449347418449258318448843618448221184452617184446501844417211844353961844300811844233381844216431844191471844178821844120521844087791844067551843959271843922621843873441843854561843824701843759218435207718435077184343328184341209184340242184339314184318426184315687184299332184288972184276462184275752184250981842439711842369218420782218420671841777831841624081841587571841380331841344251841334011841292311841287181841278861841276951841209591841128601841117931840921291840622821840566301840547918405375818405320218405289118405261218404502218404049184034922184030069184026191840254061840233401840023971839991818399040718397686218394592018392774818389955018389357318382522018381402218376992918376410183737312183736644183728451183710161837095141837048718370374918370063218369546418368275183674341836712281836652118364477818364263183637586183635532183634688183633514183624678183624011183622651835986761835897461835806741835785371835765391835672611835432401835419161835115701835060361835010381834998871834834321834563151834210631834163318341086618341043618340194183401167183397542183395850183389314183376627183365579183358943183347241833391971833265021833251301833225351833130251833123318330907618329400218328809718327836418327196218326356218325783218324450918324443218322518218322082118322028018320494018319466418319306518319203618317939618317385418314514918314186018313965318312869218310664318308693718307508818307267618305611830474371830345721830306818302920018302768418299968518299320718297642318297601182959456182945295182942345182941868182907403182899292182892510182886941828861061828670581828581818284840418284411182825899182810774182797802182789818278541827822421827618118275515318274239318273493718272463618270827182702076182699678182679268182674551826744041826475931826441931826398411826285981826207761826204818260990182604334182595661182549423182539738182518058182515200182473347182466996182461374182456975182456537182450614182448822182438020182420023182415879182414407182375887182359570182357285182357151182351055182349289182343879182339141823315371823295961823268111823141018231295718230249218229720818229504418226893918226893218225882618225458182254390182248275182214024182204363182174731821746061821656971821604601821511641821436431821374171821312918213046018212722018212714818212134018211903318211053218210829418210805182100521820867871820828518204480318202333018202311182021628182019809182001405181985841819684531819669781819624201819468601819437021819381621819332218192664518189341218188631018188067181873585181863007181857610181829465181813109181798811817909861817876801817786891817624971817599881817465501817455221817226111817220481817138218170745818170162718169610218168871618168664818167234118167023818166954818165310018164086218163907181630980181628884181622292181620805181612362181603472181597585181587118181582415181577681815705731815703371815584361815471581815464681815462418154314118153889818150772218148513918148217818147093618146625118145530018145508118145339318144017818141161118140336418140024318139871718139631813643001813636971813602281813244171813157041813014281812944251812909871812900171812733618126486618125964181248726181247701812475461812352231812328218122908518121476618121421018121179518120912181186094181184407181182541811631061811575541811357318110314018109884018109161518108890318108872018108867218108169918108107318107893318107609918106106018105491418101980218099722318099430918098169018097952180973223180971737180937148180908643180907370180899220180890589180871893180855098180826201808074051808000041807985261807978331807434521807361761807157418071302018070958318069506518069430180678806180668736180666487180664607180637503180633111806308851806299001806232631806215618061862618061635180615791806080341805981918059111218057961180576656180576272180574153180555121805542441805444781805427991805306231805217081805208918050754818050261718048570180481332180447921180428784180421395180418720180417477180405650180395509180377361180365567180364903180341457180341401180340885180337551180333913180333266180322168180311292180294507180287548180285321802723218027061418026150618025381418023591518023371318022932218021719180198099180182551180179251180170890180148438180137241180085130180071981180042958180042291180040570180034338180029813180021109180016775180013321180012501180011490180001912179993821799905221799886431799758071799591841799497031799473701799123511798967617989059017987660317987656317985847517984543917984269417984164117983843417983558717983117179829444179825083179792117179787674179781437179765095179751494179740789179732024179712848179703731796797331796794411796745341796709691796641617966280917965784517964911517963940317963264217962868917962505179616184179616126179615046179610621796021717959041795888731795809751795790271795683341795517331795444917954089817954076317953670179528976179518168179506454179481582179474806179469500179453150179448764179445579179427565179400167179395094179387129179381889179377750179368526179368311793435561793309891793279351793256871793242411793224121793211451793155551793065091792862117928353617926015117925157017922368917921184517920668817920383817919592917919282179189653179188051791814681791745241791614041791597971791514441791286291791206631791100417909129717907756317907052817905198217904422717903737179035294179031349179016177179003607178998757178997121789700111789682291789681991789677817895708517894969217893269178932619178919688178909408178906208178890195178881859178880699178868939178864518178849967178840293178836386178833891788305421788173451788170231788019611787995281787938421787732671787526081787457871787438517872649517871797178706113178683420178671527178669530178664916178650748178649611786473041786428017863606217862301617860444717860174817860126178591245178584323178577708178565828178559926178538411178537723178534371178517688178512701785049731785001817848041417845969817845208717843840217841525217838703217838446317833728178330601178321097178316044178289167178282547178277723178275037178213791178207341178195659178194206178180730178172531178167783178158021178131721178125684178118591781109061781078971781078621781050101780953178087213178085644178077880178073740178061130178049673178048574178043634178041791178038061780135711780117991780113651780067351779921261779801511779796121779748401779692031779677881779510611779510417793538517789742317789253217788743517785389617785122177848690177840399177836367177789471777829217777950917775493617774885917774733417773695177730681777294911777275961777198641776946401776882971776780641776688971776597211776545317763918217762371917761341177603393177601429177568191775451671775440901775156621775138711775075191775069401774954211774936841774800181774782941774494021774460021774365317743554417743363017740499817738497817738139917737817177368941177361932177337771177322509177319951773148801773027391772990261772664381772515881772307221772010217719284117719269817718354717717360817716585917716290317714741617714479317714418617713997717712870217712662177123421771188017711471177111436177091331770807801770761901770715641770630061770521381770449861770429611770324431770207141770192531770165451770143517701162017699810217699333417699332317696227017695505176949282176947988176947181176945721176945568176944145176941300176928219176913217176912501769020741768912417688964617688593017688379417686204176860029176856677176850782176850766176849711176847305176839290176832918176828671176819368176811579176809546176802479176789055176780521767796661767741391767679551767628617675144176743211767284141767053241766890701766737271766719501766662021766623361766621517664602176645376176645064176641686176634403176628911766165881766113061765970317657437817657361176570893176565777176558863176556579176539469176538319176532417176529400176528059176516640176506820176484676176468884176462281764438921764430176438550176435541176434171176433225176430070176405990176404712176388524176386168176383383176370833176368735176357099176338059176334417633138817632679717632553617631866176302539176301089176298221762965041762883341762874017627090217627044176262293176258395176237597176234117176231508176204876176199277176192331761618141761541851761440891761428717614095176138632176137341761372331761093201761071271761066811761059417608967117608909176071980176065341176060740176053147176024949176022022176017056176011444175994739175994200175985187175985122175983746175982890175982510175976992175974821759566251759554301759346117593354117591606717590787917589894217589149817588961117588522117588210717587098817586207517585263517585081758422421758420317584104317584056175840081175837478175826497175819406175803922175803166175795089175794961757883751757800711757667021757630241757547041757458661757456417572442617571512817571302175709617569698017567741317566751756646641756617681756589211756558881756536171756427011756227311756014181755906801755819031755661001755345031755229931755100517550897517550459817549274017548992817546230017545077017541970175419443175418287175398338175393537175390071753852281753792541753628751753605217535640617535407717535240217533694217531739817531475617529301917528630317528038017527642517527284417527030117526618917526333175251757175209365175208944175196890175196851751713901751518851751299291751281131751251417511487517511177917510838117509512017501657617501528717500115817499841917499400017499174017498927517496521817496240717493649174911931749088411748991531748802661748777451748760361748645381748631461748399461748385921748343651748257201748200761748165511747935517479305417478167174774720174769710174752027174751206174738521174717200174700059174699287174698786174692917468416174675251746647541746647181746592361746391751746357321746244591746191901746191817461540517458604617457290017456063117454258317453520317453286174519488174517082174514481174514241174505114174504577174494815174465389174452531744494741744467201744342617442923817442812117442695017440857717440663917438394317437906617437903117436977117436206517434375417434323617434164917433798417431757517431572517431536174302901742926881742806651742723661742681321742673951742673071742605601742595511742553241742548517425144174248781742432951742375361742305241742147591742041021742026531741941271741867791741777391741659851741657831741536761741412331741331021741219517409773174096962174096348174092292174083384174068638174066033174065448174049797174044497174034650174018384174006614173996762173996155173986134173975889173975100173963972173946018173944648173925231739147301739104231738381017382930217382319173807990173807427173792523173786899173786784173760345173756405173723424173701979173679248173677617173677191173671783173666606173656241736525151736456781736391731736379081736148173607717359867173590966173587504173577136173565118173544066173539129173521319173520715173518871735174791735152771735122541734974431734877351734773161734634041734613511734360617343603217341711617340650717339675117339483217339021733784341733632231733604321733538417334906417333498017333416817332887317332681517332101617329085017327852173276167173275056173268504173268355173250895173248521173233921732213121732144971732121721732044751732036111731925131731851471731666871731617471731566441731454181731408617312292317309975017309622217307941117307425817307335617305120517304331717303658417302341117302227817301600517301292717301152217299870517298770317298365217297801217294731117293247317292834117291026317289765172895823172893306172885116172883096172874927172847961728405061728306511728265691728187301728174851728144301728108521727955811727914841727851301727793001727608141727602031727491101727475641727413631727289201727219051727184191727136091727074481726965211726912321726758051726545081726166617260906517260647517259971172589993172585784172574125172559339172551397172523738172523611724968481724950471724631771724577917245726717243991917243648172424439172419638172401846172385678172382725172371671723706411723654601723637511723621517236137617234246117232599317232162017232023317231163217229697317229663117228680417227811722665961722589121722492471722475601722474417223523617223292517222659617220716417220566917220476617218619817218125717215899717215606217215478017214169017213104517212531217212175517211955217211824417210300172102417208861617208748217207319617207162417206814317205789817204849517204799817204532417204518517204311517204045417202287017201262917200371719965501719916031719823581719660391719646521719607301719326051719306801719254717192499117192079417191565517190969617190384417189873717189295017189117188130171875006171872410171863801171855719171822471171818872171818705171811956171805061171801190171785848171782091171766904171762479171761676171747195171721164171720478171720449171705481171700080171697701171696030171686350171675651716752417166367517166224017165859217165823517162551317162399317161235417160718017159944217159879117157322017156013217155498171543551715386891715354561715334091715289841715253971715231341715078941715066141714965031714825771714817411714817121714596621714542261714505621714489651714468021714423241714334491714330141714231317138959017138291713821881713802917137383217137258117136498217136120017135292217135197117133545317131686117131029817130283171301016171290355171285943171284041171281190171271701171244211712285191712221601712194217121049917120992171204550171203032171198826171198014171185296171168581711669511711418371711204317111971117111967817111235317110960517110178171097066171096895171091272171086360171079571171072419171061794171052486171029437170955466170954185170947175170943037170940085170913041170913002170909895170876431708749221708670617085345170851775170850423170848832170835329170831674170813615170805321708052371707641161707635571707615421707590721707452881707438341707412617072787617071288717070969317070272717069002017068157617067714617067635917067165517066942170665466170654134170653797170650310170645709170645467170640960170635631170634646170624741170613176170605348170602634170593836170585627170562723170549827170547552170537161170535597170528549170523963170477804170467804170465943170453822170449539170448961704394017043876217043760317043422017041551704062871704051317040471517039919170393883170392284170383585170374483170371903170347045170334424170329263170311324170305540170292091702834331702745281702694261702690411702676017026250217025856817024633017024363017023950217021336717021066517019933717019819817018048517017556217017245417016852170167871170158923170153623170144287170121306170117417170110976170109242170106708170085780170082566170063561170062245170059803170056145170054991170034008170024193170018754170011558170008871700078041700068351699845501699749601699715671699713016996812516996685516995713416994298516993413616992832616992754016991005916990855616990851616990825816990032016989447116987712016987543216984647716983615416983256016983123216980418016979652216979282016977590216976447116976095816975850716972171169715648169711816971012716968238016967614616966851816965827169631027169625222169610604169598627169587791695799261695727401695717501695678281695581431695439816952756916952468316950953516950731716948644716948283169482501169471842169461131694462301694273151694257716940103016939830016939227016938859616935146516934563316934206316934013116932764716929893169272933169270855169255373169230017169228059169225741169211912169207140169194146169174302169167926169163225169150301691339001691152581691050169103711690971591690876169085276169067602169057703169044141169030631690303851690183741690055551689899271689864481689680611689654761689630331689496671689468831689426311689387251689343261689260801689208861689060516890005716887379816885667816884871516884006116882528216882395316881458216881248616880701016880271016877842216876649616876562516873938816872576416870717616870472168688196168663401168619542168616300168614556168611208168604497168596729168581647168568069168560862168559342168558582168553400168549687168545749168541616168536123168530318168510411168484227168481528168473741168463747168450655168442230168441831684368381684246231684104741683716181683488691683402216832943516832386816831799016829844216828889416828219416828210916827795716827523316826094516825689316825400316825197216823896016823795616823618416823349116821925816819028016818835316816556168160446168159659168151028168146547168137693168136043168126443168117315168109845168091291168059482168044885168018018168006811168002421167986851679637311679616916794049016793052167925693167925305167901449167891904167864501167863334167858801678448851678362891678352167827896167825527167804825167796675167794331167786857167782578167780776167778367167771671677586031677500961677497661677441631677439351677396451677364541677326891677297916772912116772794616771785167717686167705823167680864167672988167670891676649651676646371676606151676586611676222481676074201675594221675532701675394981675387321675304416752088916751249167509650167505246167499494167494506167484511167463505167457458167455105167431850167431463167419946167416598167390606167390591673662781673121167295652167284091672692221672608491672537731672491631672174761672076991672014151672011571671611941671371441671302661671153021671086901671021916710121167098809167086256167073192167053788167000709166996136166993721166972041669531661669527941669464761669439351669313231669304731669271901669208881669135981669068081669065241668938401668785011668779001668763671668648831668518141668175781668094181668027321667984311667874491667757901667627931667502271667461981667113471667016281666889801666792321666738311666624716665155716664814916663373916662840166606886166591332166589412166577016166574690166573760166563507166537758166537202166530282166522037166514711665077131665003321664909641664851091664750571664721731664686216645733316645158516644651016643390716643269516642995116642434216642135216640155416639541216637863416636465816636424416635638016635069216633681663151416630625216625135316624889116624314416623881166234012166233423166226144166218730166200960166170547166167138166165889166165441166152429166149646166145170166142081661328641661327371661256431661088631661074661661037981661001881660603201660577981660520451660500166036831166035090166032189166026338166014329166010935165993011659813651659754911659660131659653401659535991659518841659425571659302165929994165907543165906956165902817165891978165883711658765216586904416586402516586256316586218516585133165851231658465216584627116584492165844796165834774165829098165818152165801211657950291657909921657784231657683711657583271657563471657525841657384791657302321657052601656940921656926161656916771656897501656762661656530301656513716564239165630390165608571165603701655858671655800941655781981655696131655583541655440316552770716552491516549467316549328216548661654767251654694931654612231654312261654220231654180831654149521653952081653933121653680165359656165355906165351911653424916532017216531947616527609416527536816524968165241087165236461165233856165233326165230519165225125165218529165214501165211591651913616518998416518520916517985516516781016516022516515225516514172216513113616512881116512715316512547716512186116510605716509534416507130116506209165059595165057501650360161650205091649939561649734661649685841649615341649578091649573751649294816492335164916876164911809164908519164898381164893508164874256164856211648479261648442081648356031648337911648179101648120271648105311648036731647906461647715741647679481647670931647533016473519616472522416472444216471255816471065516469744716469517164694401646827581646757971646735716467316316466531816464262016462833316462025516461265316458967316458566016457005116456630416456526416455963816455460416455394616454425516454383116454296216454133164540716452979716452691644954661644861341644835991644813516448111816446913716446664616446122916445380216443921716442822316440632116440019216439490164358462164356171164345956164340291643373851643357164331358164314481164312647164311533164302997164285487164263940164261590164256425164239060164235381164234051642321521642307521642263164222962164215550164201225164196012164193130164188285164178518164173106164172534164150500164139264164139218164136150164135188164126867164115423164101630164080030164056087164036159164028591640242281640240581640167416401597116401041816400780916399723716398188316395652816391685016390740116390106116389100816388805516388742816388683616388239916387196916386937016384948163837377163833469163816813163810590163807983163792601163790053163788080163757870163738385163737304163737184163733719163720413163715590163710751637095163706277163703090163702556163702254163701016163696191163693113163691788163689427163683040163681086163669750163669351163663737163640448163637371636001521635990651635825531635787331635673891635512501635288631635245521635219381635186971635123481635002061634940601634841221634832101634828631634756571634703361634574231634559163445939163439020163437642163435073163430708163424302163419251634147991634063191633978261633821321633756716336648416336576616335528316334758316333008163329381163328268163319015163306216163284941632704051632610131632571081632552416324492116323302316323014916320689163204660163195962163150294163137111631217341631174661631121411631112491630943781630929216309219916309195016308706816307129316306357816306306316305381016304831116304536716303090163028418163027285163003673162988744162988666162983873162981605162973787162972241162970105162958966162948331629134321629091771629039141628830591628664261628653916284238016283257716278988716278903616276305916276199416274696716270260162645447162637180162636992162622828162615741626153221625965241625855981625825281625732951625705671625651761625541761625537401625415971625217501625123741625055351624996701624966001624699721624392591623951141623883316238062316236740316236635916236495162356462162351848162345651623419481623370041623302841623291531623290316232346616232000016230772162304954162304724162296015162265273162253681162238730162236499162232268162232026162224514162221288162211374162207311162206996162172889162168824162168677162160312162159898162141968162140729162126848162120301162120297162098321620968021620963011620871441620826291620767501620688831620665881620615971620572971620458781620391661620238691620179461620073141620060781620015161981851161959953161958618161938467161918091619074211618897916187634916186329416180138916180001161787943161785641617821071617781171617754151617315641617277491617219721617147161699864161694913161679737161671315161640226161638740161627170161626821161618241616173161616145161612673161611284161601748161597668161591399161585173161566291615563916155514161544124161540738161537995161519136161512817161510389161505451615017716149968161493739161489474161489322161488591614865131614795491614781221614777116147616416146762016146435516146228416146127816143304616143055716142667616141166161409894161409825161390269161390233161389741613574811613529201613308841613195441613032731612820391612752641612731481612666816125842216125632816123547516122140216121674516121669016119869016119165216117738716117192316115372216112799816112304161114358161112251610701581610691471610519221610440816103789516103667416102461616101467616101308116099970216099733616099159616098490716097351160968796160963225160952879160949524160942200160927216092566160915551609149601609021261608982231608970951608822901608604241608569431608372616083413016079956716078108616077597416077100916075205816075099160724829160723016160703631160702731160697943160693947160692906160692060160677181606615416065919316064714716064224816062145016061511606052871605820131605812231605761116057238516055958216054072616053708160535828160528247160518620160496672160485824160470243160467734160461177160457100160451841604465716044643016043184160428542160388345160369130160358733160352156160303814160279753160279293160272204160271066160265799160264359160262929160259111602532131602375421602354551602196331602028381602008841602002631601854261601835851601735281601699651601667861601597791601594271601551641601502891601460316013236416011916216011761216011317316010998516010199816008369816008260816007924160060679160059679160041583160038549160034637160032739160024301600217161600122881599969341599838451599778815996500015996267315996109615995816015994457115991131315990139915987937915987332115986702915986633715986343159861376159848361598453115982233815981603715980654915980282215979284615979215515977443215976814215976560715975788515975750615973730815972548415971402315970834115970651915968305515968123215967062815966866815966609115962318215962224215961428915961201415960943159594384159544349159541859159524041159511532159503101594972601594929115948524215946337015945478215945303115944298115944232715944074915943827915943673815942586715941353715940821159394332159372428159366969159360061159354339159345874159344741593444211593341001593292751593276301593233751593220515931506115930193715929793159296071159294478159289318159284668159283601592778111592687471592617391592594391592588851592583601592483211592426315922295415920051592001001591985701591944671591899115918809215917240159172195159157401159148345159140531591372171591108841590729941590541751590537561590329201590215031590054541590053671590009991589987881589742115897417915897349215895854415895272158950885158946382158942265158931401589105261589061801589046141588984671588852001588743721588697581588630821588493191588336171588282201588254631588075715879114915878036715877907415877649115876671715875230158748040158741659158731161587284611587172701587124401586740181586427251586334791586306301586236515862338915861722615860824015859816815858805115858508215857983615857589815855960615855681415854776158544552158543826158541181158538791158535881158521881584954931584937061584704451584684441584670771584666861584555391584458381584383161584289381584289231584277891584232021584175921584094541584083015839966815839860115838372315836198815835982015835947115835612158350510158347580158340750158340175158323645158319162158311631158299071582976271582773651582710071582596701582483615822324715820822715819177315818467615818459158180549158179661158156834158151008158150415158149064158147721581326615812779915811343315810120815809947915807816158074961158070789158052976158041211158041178158033731580277491580059211579704521579635271579598611579563211579560951579548491579528241579505741579344571579251941579177141579172915790635815789452815788771615788579215787325015785180215783002215782875115781418115780525915779256115779253415778408157779390157749037157741471577375061577117515770120115769693415768368215767147015767135815766272157660982157653764157648970157638911157637982157637747157634757157625441576245561575995091575984531575855891575628015755656915754400415753663515752884615750987115747039415747032215745226415745037215745026315744839415744535015742401815741721215741338915740540615740302215739867915738276515737384315735266215733401315732970815732911415732015015731838715731044615731023215730542915730374515730069815730035515729622015725466215716141157143915157142972157136011571351915713137315712254815711553415711525715708484157077395157058898157057855157055362157052387157044216157036173157034780157031218157015439157003290156987081156982441569783215697788515696574415695920415694908715694561515691694515691400515690971115690632215689879715688630715688035215687001156866564156837421568330041568310001568220971568204401568123571567789541567770411567638831567293215671173015670524515669444156680586156673202156642538156620891566183311566159601566068801565677981565641501565609881565514671565470061565271131565238901564926321564907301564887581564853631564771251564743651564679421564604961564485531564396081564389415643586515642748415642182015638815915638439515637875156367947156345652156344381563238131563135391563128081563063491562912931562810215627167215625797015625409115622374715622299156221991562068611561880051561823311561704751561685681561668961561627101561606911561541661561468571561343141561234931561096491561086301560997341560973521560908351560795115605443015605338615604927915603457515599904815599614515597639015597313715597133615596245115594394415593301415592925715592359515592181155912200155906951155905508155900086155895921155893911558904621558688231558664501558630315585701815585263155851611155841125155805124155800807155796272155785906155784566155775710155736351557339021557312361557259211557068521556797131556735041556662071556629315566041215565220115563658615563029015562749815562423315562093415561105415560920315560773315560105615558523515556648215556331315555021015554248615554185715553869315553803715553163415551372915550204715549800615549670155465892155464545155458341155450674155438321554210315538857155371271553701981553648781553594115535544215534437155336226155329016155326781553263161553250191553154701553119221553072351552833401552801921552738741552731851552727101552639041552603411552423471552314901552240641552144215521215715520491415519670415517449115516825515515875155150489155150328155138184155134517155133101551290781551267351551155861551123881551105815509301215508709315508106215506729715506389115504176715503476415502043155003714154990022154958928154954844154949653154932441549266371549190261549125551549018631549017215489537154895271154869532154850134154839373154826833154823812154806678154795646154773291154769233154752704154752631547447181547402891547344571547335561547335115473160815469556715469142915467863154675592154668450154657215463419115462103115461697315461647515461596915461475015459453415459425115458877715456839115455945015455861154557847154537965154532142154528051545272291545213315451644154515331545026251544919391544785791544726661544711881544605215444681915441442154412561544095221544062991544032611543995154383664154361119154359169154352943154347396154344324154326322154321114154318122154316374154307961543070731542854061542636681542590651542513154244101542351441542344001542275015419944215419597015419590815417869415417525915416367915415447615415326315414951515414792154113730154112748154111071541033241540692331540520251540511515404278415403503715402718115400631415397170215396739215395894215395085815394447015393086515392759615392066115390840815390595015389751315388310153860377153855841538491871538469461538321381538309611538297115382735715382597215382359315382023915380966015380306153798137153781670153781564153769328153761213153761155153759637153757671537490701537487561537467981537423371537350211537139541537106815369269415368823153681631536656815365581153651460153634796153632244153624318153619040153615292153606471153604362153599745153596458153591449153562572153562233153561535244815351122215350735915349689715347085315346784915345567715345420715342809153427086153419276153417375153410236153401699153400158153376991153367537153357231153331821153323829153317760153317309153310191532537831532392281532379341532251931532228011532207771532064601532063153189715318083915311772915310595153103145153098276153091691153090569153079507153064447153049919153031766153005846153004611529959581529826815298214315296951415294738015292204615291036215289655515289411215289163015288746115287770152876190152855187152819447152816745152815121528081521527829615277879152767020152766779152761700152749809152747136152746746152745553152739374152731640152713046152712696152701144152687574152666323152665874152628554152598500152583657152558982152550165152531021152523693152513782152507182152502888152478447152475597152471637152439161152421861152417363152411311152395512152380427152366042152359780152344771523277841523056881522821911522774011522519641522300221522194231522062701522051551521993152191551521901001521591671521457631521445401521230261521199171521101515210066415208327215206735115206313415204516615200546415199116715199086315197210315197095415195495615194490151940859151925682151923791151922915191834115190622615190316151887172151883608151874589151834494151823981518172415181227151808242151791059151777311517695101517679221517571551517473601517316941517296891517216891517030591517026911516976331516927361516861201516841111516834315167107015166843015166581215164966815163990315163747915162932151625202151619265151608978151597260151582798151560137151553807151541031151536871515274201515236171515178621515102111515021081514969461514957441514925341514851991514658301514534151514516431514391091514129511514091151366490151355382151355131513488191513488081513432291513355461513078411513073021512625461512614021512610415125787315124575015122411415122100415121347815120335515119401151189659151179591511722081511712541511666351511663881511527451511440461511427421511425641511425141511405381511320151121475151117523151105171510942911510734931510629361510597915105674151047029151035235151018586151017544151011360151000513150987631509803691509617561509553111509485821509124715090654915085623715085159150842614150841529150796294150788165150778033150772364150769281150764072150754756150733570150720659150695334150694692150693699150689466150663421506567671506532811506395901506156621506057131505787401505779791505649381505629361505601191505429111505412581505374271505313351505291991505160911505129711504955701504748731504668715045214150444820150424649150419037150409861504051381503924561503897715038028215036539315035330015034481715033622150335419150332695150323805150316308150311581503023131502792881502629731502596901502482171502299961502240551502212471502193431501829861501790931501767661501754151501753351501634791501429851501397215013013915011081015010503315010400815008398015008082150075179150061433150057601500469751500453401499969591499906814998408814997793014997701814997163014996596414995834149955144149946111499422214992636214990747914990636314990343414989353114988809214982971714981227914980943214979385214978832714975861514975203149737946149734048149718852149713187149707236149673493149668258149665432149651648149646541149645610149633761496181051496161114959909414958948414958782314958427314957831814954841514954715214951391514948463114947912014946200914945285414945284714944024314943270149427771494118201494058101494049251494008614939297149392051149377317149355421149349245149330232149322709149312371493123171493022461492996091492972614929651914928931114927970814927278514924776514924409914923829514922459814918513714916547114915826314914897014913889014913617014912297414911118714910931149101473149099545149095271149081581490790021490608461490577851490486951490372011490368461490307701490223131490174011490127614900478614899803714897613614895181148946848148938841148928420148912972148902277148882414888174714886883514886705814886643414884383114881761314880997814879092514878520914878466114874620148741404148740534148736717148732696148732100148728852148716508148711951148701545148695294148686559148667051148649668148644982148642957148627992148588381485788871485788671485750141485708214856926148533441148520082148512436148507646148483814148460431484603514845922014845610414845293114845005414843821148432183148388811148388449148388418148388343148387300148378256148377889148374714836632414835824148322970148319078148310451148300441482768831482746461482720671482587071482322041482303814822738148212774148204435148182227148178376148177127148169465148166241481596131481580214815732148154216148153215148149527148125720148121851148119253148115170148109669148096713148090114808474148083274148078226148064041480553651480553331480401101480345491480324941480308261480233891480210701480139051480096148006158147996227147985236147978273147974384147967739147965206147951991147943300147934078147933546147923571479184891478949801478922531478887611478852914785633614784548614784383714783487714781486147812162147811075147784248147761540147750278147749108147734044147723932147723537147718311147711651477073821477024271476756571476743341476724341476646414765993714765713314764816514761930914760042214758289514757856814757790914757429914756921814753316147531348147529897147529843147526381475252714751583147488402147482931147472684147472305147466692147466425147458829147457953147452581147433893147433476147431482147430629147428884147424285147421070147419801147416619147414241147397931473960541473951981473934551473757314736830514736126714732300914731208214730261614726384214725647314725469614724301614722272514721601814721029714719960814719386314718854214718762114716262914715974514715657514715040314714897614713162114712543147121821471186271471136971470975701470810411470804714707695914707643914707388414707074814706338914705645914704313914701549114701481914701427614700255014700157014700054014699466114699183814699055414698480014697843914697823714697125314695733714695604214695460914695376514694824614694453914689482414688923014688804146883246146882111146846697146844661468399761468379291468325914682501468189311468181814681194414680468514680407214678175214677393014676764146762557146761235146755514674928146727165146720134146700762146700534146695358146681218146681175146679031146668080146657899146649505146648243146646163146637274146613918146602066146599491146592813146577368146575161146562509146554573146544411146542656146539024146536101465326871465325146530357146514572146505409146484371464768871464657001464510321464481464416714643507014643331914642296914641664514640915314640905014640520614640026814639547914639364014639172014638630114638617814638583914637404114636624014636068414635521514635262914634074014634043146337338146334678146333654146332146146327576146327097146326549146316323146313827146303984146303056146290501146290271146271868146266544146265833146265717146263147146259314625915714625687614624170914622341146221358146213151146211675146184693146184374146176982146169264146168842146164511461625791461561781461523441461521581461397071461246371461196331461136861461104761461086151460874714607431314606851414606474414606432914606088514604744214604618014604107114604066614603716414603339014602912514602330014602114146018617146011441146000336146000201459986941459976541459788291459753181459431414593463145921569145916517145905671458908211458724961458666641458637291458620321458619461458574141458288241458281714582359914580926714580835614580348914579829214579254414579141814578618514577653814577215114575638114572699114571846914571771114571603014569145714568864614568736414568631714568482814566855714566237614564493814564478614564050914563080714562587914562248914562140614562099114561830514560823114559612514559555914558577614558116514557962514557760914557453514556185614555088314554702714552874314551789514551025114548833414546750145463317145460586145453514544802814544624014544368914544153414543906914542823514542778514541709314541599714541483014541304414540536614539965314539452214538861145381398145376496145366494145362108145360257145343531145327773145325389145284660145281686145279695145266448145256208145250154145249295145243780145242750145236203145235751452276631452120451452035761452033401451930451451891221451889514518574145176263145175434145172015145165429145161241451604191451560421451524751451507381451479214513759414513752145134931145133409145132761451327014513005514512081614510885114509906214509723814509337314508246414507361514506506714505030145046852145046020145040788145035902145025031450242461450235111450142861450049541450027951450018601449885031449654521449633521449620541449472201449446801448953814489212514488683814487867214486520214485090144849151144847925144840515144833457144821586144820296144818894144818478144812212144809995144797202144793826144792759144789392144788588144788446144786651144786606144770137144763107144762028144757839144751420144730811447299361447236021447163521446759231446571841446510151446384261446382601446375551446371714461784414461737714460425144582631445788114456788514456549114455596014455399114455317144538481445211914449433114448985914448912314448506014447123714445800914445629514442624214442581514440309014439948314439761443816241443745861443698114436351144357885144344260144324997144317968144311732144310262144296277144288757144287924144287534144281880144274446144272187144265791144259555144256198144250670144247164144234529144220213144199123144196644144193211441920871441854731441803691441689951441636281441635971441557951441385091441366521441305701441263131441262661441212721441127821440957941440892711440752321440633661440551851440478681440478101440455351440314301440289791440229201440217721440000181439978001439945931439798143964720143962844143952705143951208143947692143941297143926126143923206143919070143917292143892453143890786143884313143883789143883687143879101438768001438757821438717631438674351438611541438584001438553831438454551438435051438412631438395641438347281438017561438012961437766731437696371437632401437475301437346741437262131437222821437090801437060731436976711436931071436910331436704911436670851436657791436610081436594241436503631436488614364466314362832414362711436213171436211561436150261436098001436021091435973914359575614357623714356614356315314355089143539701143524112143521136143503126143499691143485620143480724143471712143466852143466574143449911143446587143422994143422850143419609143417199143414663143407932143405450143403268143399230143399034143398644143393724143390739143367879143366780143363411143362981433619271433570871433525614334993414333854814333278214332780114331788914331663114330332214329489314328824714328726014328588014327318214326053614320496143194361431929871431851114318059114317868714316481714316305114314754114314390814313973014313553914313548214312965514312261414312048214311895214311810214311562714311265414310113514309237114308872914308544714308179514307815914306527914306437814306225143059373143052013143045246143033199143030451430282851430081581430016114299965914299271514298615014298103014297881614297624514297508314296803314296448114295771429518041429493841429366181429360131429286114292679114292229214291293614291009914288705014287584142872685142860873142857962142840510142833781142829837142824190142823915142816771428126501428101851428078971428033811428011441428002561427819111427779271427679514275734114275617714274929514274827614274654914274601214274577214274372314273910414273740314271430414271379214269408142689722142667961426654771426626481426434631426412714264040142627491426267851426208091426185514261732814261683814261432214261279714260003114259608114258639514258031214257088142568462142561937142560060142554548142552138142539467142533630142533113142529611425106701425050811425025741425020291424949501424916114248790142487309142478510142461015142444552142442258142436688142433271142426265142425402142425211424132361424057621424036981423925691423898691423890271423695841423609271423579601423504101423406591423298031423250971423223151423105481423085561423033211422997511422901681422845914228357514228171914227008214223424514223124714222720914221800614221572714221215142206650142186385142180533142161947142158020142149276142147954142144881421383921421374771421360914212214514212123414211725414208680142083739142081743142055334142050016142042612142041077142039805142024151420227671420227281420192691420184691419962771419862791419837661419775231419724514196703814196124314195126141950111141948496141946790141935998141927222141922702141904267141902667141895116141885761418756651418711514186685614186563114186353914185887114184995214184979414184552141843311418350121418326751418272271418225331418178201418137191418098171418027741418002041417928041417864914178414814178381314178104514177447114176685214176595914176169514176018314175147014174831414174823714173525914173043514173032514172925014172636314172150314171921314171413014171242914171000914170788314170347214169794141697929141684361141682989141676945141674118141671452141664911141655749141650926141638476141629242141610619141603686141598443141588058141584546141579892141576849141564650141562393141561041141548450141547848141544476141544052141517149141508739141506331141506065141498613141494501141491918141487375141483571414832191414754391414745771414712441414661181414586301414584114145341014145166141450136141438662141435541141432436141425413141405577141403732141401131141380782141369963141366805141364177141359577141359038141329171141315196141284016141279705141277993141268278141257350141256759141248560141238718141230661412301414121280814121142141209833141209141206003141196390141194379141193153141192671411914581411770551411722771411543831411432971411351741411285161411187421411180914111102814110984014110418114109316141090684141074104141072247141064936141059734141049579141048656141044813141041901410194861409959091409894421409876061409850161409837081409769381409726551409661091409491011409201191409191691409149311409005651408873351408785401408725801408590981408510171408386271408357391408263711408178571408159931408078261408043521407815231407648601407517431407513791407475501407474861407433701407430381407340711407323361407292801407285431407264001407230214071938314071606114070018214068578314066390140661575140661092140659976140656598140642081140635334140627969140624861140622505140620278140612555140595914140593667140582643140581702140580776140576516140562554140560313140555771405554881405450321405367221405362414052991314052689914052677014052623014052140214051996214051930714050974614049979814049668314049503914044661314044426114044023414043761314043697414042089214041803814041426714041201214041137014040751014039893214039437140391355140390472140385011403848571403740011403655714036179814035259214035059314033446414032723614032132140318307140316358140303029140297198140283167140280858140275534140271496140270671402688971402616581402526931402514261402407614023830314021270614020844914019924914019725140197184140192466140189382140188790140178903140173409140147760140126662140123259140120520140116208140106679140094843140090875140083508140074671400582051400479081400415171400390421400335661400262951400144491399969681399911351399901971399859671399805441399761231399755991399719821399716441399640951399635413995760513994501139937276139919453139908810139907485139900507139898955139880652139871530139869311398631561398612713985832713985671313985526713984842413983837513982080213981057413980155413979956139787925139769932139766741139753533139753086139752583139751553139744704139734012139721963139703408139701281397011481397004111396928391396908441396885591396872811396869701396613221396553421396503531396438921396187101395964481395892791395785711395709351395694011395637521395637221395611201395506021395448621395380531395356111395344601395309213952912113952690913951751513950925013949644513949495713949271813948826813948082313947697413947565013947361394713731394709361394706421394632741394618761394545411394500051394300913942499139414349139408494139401701139400245139400074139392662139390447139361830139349519139330644139329424139328684139305139139301978139283560139275493139275469139273661392676151392674921392639301392638561392549781392431421392430741392353101392273581391917391391704581391663081391637331391552113914664313914437013913030413911397913910483113910390913908851913908654613908280613907955413907859913907579813907023413906013113905841613905768113905417713904513213904370313904072113901352113899714713899587413898408113897661113897543513896755013896752613896627213895621138946633138943180138940355138934511389259291389225113891342813891222613890405138900625138892042138888280138884272138881221138870312138864642138860772138850421138849372138847612138845533138841388138838223138835102138821157138817525138816863138811466138811017138788852138783981387798061387625041387466151387413311387390151387337713872666013872347013872237138711403138697945138686491386826291386808571386768681386643151386466881386363641386114813860873913859791213859267013859031013858812813857967513857114713856905413856538413855996713855940713855860713855526913855359113853327813852554813851870013851799113849885513848344813848041113847281213847241138471923138460731138456813845460413844726613844417713844187813843334913842336713839028138386376138370151138365343138362850138362408138359445138353558138329380138321892138312713138292337138285001382780601382581061382546651382527491382411091382348761382232413821071013820617013819694813819462138188698138188280138186258138178613817849613817057013817045713816037013815318313815172138145382138139672138133959138132200138120289138116002138098441380966621380951641380942651380848621380700951380645611380410581380379011380270981380194071380050251380029341379721021379620681379594731379501061379417551379370251379344731379168041379154941379112621379101211378916311378851351378837761378647011378624791378437661378397313783395513783208713783171713782013913779703113778093137760714137745402137738326137737566137733082137732513137730990137728005137722397137715511377003931376856761376844311376809411376721581376601551376595041376568671376312261376292881376124213759976313758765313757418513757127213757093713755744613755460813755086713754488313754407213753368137520727137512280137506897137503932137502584137492474137487031137485681137483716137480887137471509137470667137461045137456954137448974137448453137440476137439739137439187137425452137421297137405947137402220137399715137397741137392771137387819137384285137383178137381993137360476137359713137343899137334541373256871373179101373021961372970121372895071372871621372813621372807891372738501372714611372660711372633041372514013724718313724536613724346613724071913724015913723572137215734137209813719769213718745213718725313717052813716027413715662613714898213714640013710706137095870137094638137086057137067328137056170137052678137050841137050564137036319137035741137029208137016940137014982137014237137007920137006487136986121369844041369772471369645401369566213694410136942378136941336136941196136941065136931427136928982136922853136918803136917371369123871369108841369100221369058701368864511368721213686496913686262413685791113685581213684911368475061368402813683617213682540113681944213681674613681397113680931013680881413680532013680396213679546713678423713677396913676085513674626813674078413674025913673742513672397713670192813668906413668822813668769913667889113665831413665822513665751613664662213664493613664262713663834013663464013661588136613748136602013659766213659429413659093213657924713657775313656291913656235213654860713654406413653953913653799413653397613652565113652201713652124713652003513651724713651625013650701913650187913649496713647891713647692136475682136459043136456883136455762136427876136411462136409134136405247136383230136382583136382077136380821136380410136376892136368922136353894136351751136325282136319278136314790136299679136277252136275692136272845136269078136254841362301641362290431362173761362162811362128501361888041361778201361729031361700271361486311361302501361253136106361136094206136092821136089192136078613136076852136070722136069991136069538136063642136061210136055170136051181360406801360392861360362151360058661360056671360014351359999881359969901359946971359774121359721111359717361359657751359623271359604801359540051359471081359420331359400801359395541359316601359258135922967135908237135906981135906053135903361135899457135899013135872863135870463135869716135858518135854742135853833135836766135830141135829102135825530135821043135806400135795803135794481357860811357825561357740021357469901357396611357394231357317151357224761356992313569454913568744713567800413567340413566915613565582613564805413564517135644629135644081135641598135612625135610431356049881355912711355906891355867581355811501355659321355643813556126013555378213554127113553177813551791913551332613551133135510729135507493135501104135498940135498592135478377135471756135470278135466041135464415135461186135450843135436331354350913543259413542884413542311413541504135414114135403550135402782135395906135386811135378585135355333135351925135351140135346402135339845135335644135333223135328340135327104135312208135309019135283370135280597135277265135270640135269420135255518135252360135250637135250425135230288135227330135226437135224867135223969135222214135208215135198841135195501351899413518533913518423813517201813517006135166225135159492135156834135156287135150736135148039135142966135128386135124199135110413135091748135087510135080332135079131135070761350676213506761813505777213505679813505475313504723413502098413501443013501073513500964613499435713497094513497051913496750013496509813495935613494158134936230134933857134931342134927172134907270134904217134875663134874916134872720134871671348671291348621391348551931348508321348490001348468071348456301348342481348325081348320801348113291347976171347807981347784213477750134774226134772638134771972134766251347632641347575761347387671347348451347309871347304371347150901347126001347084531347077913470705113470655513469896413469123413468722413468092013467628213466048613465438613464510513464280313464094134630755134625283134624295134623921134600296134585007134578790134576509134566144134560681134560465134553311345442711345275941345055751345032591344984881344893041344746071344674491344548821344488161344482181344375613440826813440731713440380813438328713437532413436420813435743513434951013433449313432543134323845134322989134322720134317742134314371134294261134289283134288831342867071342751861342601731342594111342417431342413521342161371342079801342063431342045241342026351342013931342009134197656134188972134164215134157708134151575134130201341210571341198811341180713411467134111113410271913409579713409141413408760113405825513405042134032451134021493134020131340195511340185931340032801340031681340001081339947971339886601339875951339851181339747381339605961339601211339547981339454421339386151339193421339079641338995591338951701338942001338839601338734481338550601338523041338452413383649613383426513382182133821139133813986133812442133808983133790202133784163133778288133770884133758467133753433133741564133739722133739145133739069133733669133727653133711185133702271133701579133698701133694600133693387133685804133674756133669830133641127133639988133633450133632407133616414133614977133614264133612857133606856133604613359746113359082013358929813358056613357583133572905133566213133562056133559757133556516133555101335317461335283761335227431335188521335184281335178241335156831334943291334867781334757151334673981334651101334372851334360861334338531334274811334258801334236811334182571334047541334045911334004013339622113339240013337296413335683513335535413335421013334245313333861613333126613332273713331275213330704813330571333010291332942513328922713328710113327411913327379913327314513327081133261554133258880133248800133221439133210224133208527133208266133203632133196409133179579133173550133166683133163245133160173133153544133151540133145379133142031331378331331305161331223501331158661330965981330855641330528721330492013304653813304277213303560133028414133018098133016101330104491330072031330031861330015501329972051329970211329912661329902721329880191329830301329729713297115613296421613296333513295929813295750013294240013293671313293358113293103213292556213289377813289153813288733813288588513288387713287653713286784413286778113285705132854015132849755132848813284367013284342713283766613283281513282065613281730213281401613280800613280668313280043113279709113279182613278319113278093513277776513276072013275878213275593513275203313274856132743149132721173132711937132694213132688398132685999132667451326647351326420311326325281326320221326277431326259541326160091326135513260445113259043313258355613258268413258147913257291325698441325642421325512251325479971325428561325404471325389421325370881325324461325287471325146261325134291325126881325067132503934132491310132485954132482346132479841324637721324592231324589581324551351324508391324447631324318411324238801324033231323757631323728681323696213236787513235965213234616513233983132339108132339063132335942132335898132332758132330001323256731323139611323045813229384013228967613227881013226471513226194013225349213224407313223769913222983132226761322255313222371132216846132212449132209674132202769132195131132187568132181944132175330132172155132171397132168170132146953132121937132117780132106509132101765132101271132092231320915813208732513208605813207655013207113113206844813206493013205849613205221913204090813202662413201222613200771513200425213198185131973498131963433131956121319558151319464571319400131319357001319351481319323611319303813191532613190890013190443613189204813188973313188660313188341131871769131866873131864454131862354131856351318556941318526711318494811318454821318412361318376113183205913180446513179026513178615913178478913177485213177398713177264213176563113176424813175872813175395113174926131738567131735422131719162131716361317143911317118811317020713168761613167809713166545313165325613164625813164024613163609013163203113161417813160746613158993713158149613157508313156675913155561013154491213154468113154375313154033113153896213153611213152869313148273913147794131477395131474231314688631314582331314478091314403251314376421314371131314361101314332891314249961314229201314218491314142451313878761313706101313689351313636371313627413135665313134625131337127131334766131332946131329466131326873131320221313018681312928201312859231312771951312672713124725013124212513123926813123384613121396813120551713119427713118286413117105313117058113116544013115559213115322213113236131128466131114231310987801310703421310702351310611131310548291310519731310390661310324731310312671310299561310070931310066171310042481309999651309985813098105113097707130974571309712601309700851309664241309663381309501121309473431309407571309392130935873130932597130932222130927021309263961309259231309238451309187713090462713090402913090334313089476313089105213088752313088266013087981013087259113086784213085696313085217813084532013083873313083566413082954813082714513082184613081916113081621113081241130812305130808649130799459130792018130785167130784465130783867130783751130771521307695721307552130747363130745756130737968130728213072563513071924413070491413069010130686484130682306130679401306748301306669411306538101306256791306214571306138013060934813060274113060261113060079713059509130590603130583205130582923130582040130580494130574432130569109130562091130546632130546422130533016130530873130527875130519502130519272130513141305055341305025301305021531304957981304916451304913331304882301304761181304715861304712141304617071304510111304502331304385281304353731304308391304212591304108181304082413039708713038803613038716213038503413036695213034829213033912513032896013031028113030740130299950130298240130292842130290147130288062130277871302762881302644141302640941302588011302574431302435371302393571302341501302316831302291401302287811302222221302217251302184601302114481301987221301857371301761571301686171301519151301497531301433381301210171301159741301089571300986521300958101300951361300888261300669841300519841300364221300340401300222271300165961300129741299769841299747012997302112997255012997132912997063112996624612994966812994778912993830212991557712991271612991083412989793612989507512989429312988198512987732712987422412985524112984380912984127012984016512983887212983471129823672129822972129816556129805586129802599129782753129771432129764306129746703129745851129745711129744598129741510129732176129731000129726721129712376129710129129704545129685509129682535129680883129680041129677366129674191296732971296622511296589291296562012965540412964780512964701312964542129644191296371021296250581296248001296228181296040211296028021296021011296008351295989511295980901295929251295831131295808721295775761295750411295606601295554871295436681295284981295251851295160571295081521295038191295038001294792831294748761294710312946844312946210512944170112943732912943731512941588312941430512941203112939650712939073712937601112936775912936548412936485712936421112936108112935852512935440812934375012933884412933457129316891293120411293020101293006671293000301292955751292940731292910701292873261292723561292720511292536601292375921292365041292315701292257191292220261292095612920736512920172712920157712920106112919773412918883612918656412916140112915720112915563412914775012914339812914063212914033129139763129136860129133791291302621291277411291212021291062641291050531291039831290928741290910631290878251290866851290861811290854411290824801290810791290795101290763151290609381290569771290502181290472941290466681290451021290361111290175421290103041289937071289910491289895081289849991289763881289739901289690621289582971289567912893901912893837512892159812889643612888669112887096712886407112885697812885399812884100712883917112883532512883030212881938812881116128802128789925128789846128775411128774787128769696128766412128763132128762552128745854128744679128729205128706326128691405128689145128672458128665916128657161286571212865067112865032912863306312862942612862541612862106512862089812860379812860103412860072012859441112858763112858161912857960512857862312856982212855284212854985612854440412853372512852170412850219912849833212849531712849423812848011712846804912844769128429467128425612128422617128418014128416640128412155128407518128403702128396764128396001283947131283745721283672411283654881283613721283568761283553191283544391283501711283449211283323091283313091283201221283093541283080841283072901283050671283009641283000331282998341282936911282807181282708351282593912825870512825618312824570012824546312824177712824093312822824512822619312821891128215461128214517128210099128204560128200812128198240128191751281905911281737211281682161281632731281620151281591841281580271281528931281390001281377661281271641281266691281264201281241471281115561281013721280954211280918101280870512806502128061829128058107128042688128037432128032332128015128128007325127998068127996677127979936127977411279741021279638971279542012794811112794435512793690127935386127927912127926358127920884127916556127916061127915675127898616127898200127892213127889480127879454127875968127874255127866679127866605127834055127831494127829458127825645127825317127816219127805143127805021277995781277991277931001277924512778103512777464812776006112775404812771791277046411277025261276992491276849421276808812767678312766959612766571127656157127647397127645071127642338127642126127632442127625658127621540127620320127617090127612686127610956127608532127607567127601212127594820127589151275837712758149912758038612756865812755988812755350127545681127524327127512639127509355127509290127506217127503201275024451274935101274669671274662271274619961274577091274472941274443141274093371273838661273821711273816761273794141273661051273577412733490912733173512731923412731732512731679712731121912730765312729956112727906612727591512727336812726878012726034812725152112724196112722095127218599127214230127211960127206947127205893127203237127193742127191960127189876127187716127185823127179869127179603127179101127177066127174129127166749127166247127165162127159223127150169127149179127148000127144569127138431127136821271365812713454412713337412713004112712667012712243312710642612709521012708939612708050412707786312707287512707165127065971127062127062018127058331270552081270442931270361531270359471270297811270163621270141571270096281270016126996706126987537126979995126974881126967913126965821269638521269511931269505591269473901269427321269411591269208321269179241269015731268984611268787451268753651268733801268667281268471212684035212683138112681996312681465712681260012681205212680870012679088312678700712678451812678252312678189912677421912677339412677303012676891512676676512676503312671999412671493126682023126678942126661975126660943126655316126654970126651021126644085126643907126643731266416731266162712661264612660916126600765126600451265925881265922491265851281265670461265631101265627361265599131265573921265503212654800212654585012653941312653560112653072126529957126527157126525283126516934126512823126512471265108861265020201265012631265005851264834761264825431264786641264520321264444921264252812642478612641958812640896812640524212640125912639073612638849712637452612637309612636986012636744212636523112636516512636309912635695112635368212635192812634605212634288612632935412631500512631217412629940312629758712629003412628831312628536712626035126258204126257069126256580126250219126248064126239283126234477126223184126212931126208716126199631261969731261900112618827612618039612617776812617721512616982512616889212616774112616645512616085612615958212615774612615672412615203912614513212614381412613084612612757712612587912611314712610565612609573212605864912605683012604548212603343412602580612602475512602088612601176126005984126005164126004634126002645126001851126001178125992199125991474125990747125985602125981391125981297125977454125973949125961389125960403125956117125955052125954932125953783125952520125947469125944954125944475125929162125927624125927361125913261259127261259122431259075831259050691258997031258931971258881661258823412587478512582491312581979312581961312581909812581719912581300312580833412580318312580231812578303125775945125769270125767496125763096125747703125746826125744651257319261257315671257213001257143911257123321257115281257111901257012211256976051256921811256919701256788391256593871256529841256318021256042301256006401255908451255682881255672911255550131255518531255321571255297491255260312552366812552347112549888812549771212549717712547861412547361012547276512547272412545499412545298512544710012544518412544098012543949125435808125432409125432221254318061254266701254237951254192061254137861254081012540327312540104912538926112538875125382471125364801253439691253403501253400861253398201253345941253342661253333621253274861253272201253253331253104271252992481252968451252836101252676841252604711252586921252541781252540651252525412525176012524943712524304312524124912523440512522387812522111212521999412521770812520299012519637125196159125189660125185515125176961251734131251615601251588751251471551251464711251344561251229141251227441251036001250959651250924531250916421250873561250802291250782512506587125065363125060054125059425125057691250385531250335521250327751250273421250174871250174851250119411250079901250047881250044731250024641249984261249979331249972501249925631249847401249780691249726351249708541249700281249698731249696401249544491249514111249372961249350912491573112490427812490303124895832124887980124886672124878961248773971248735751248691531248623531248613911248603361248599921248578631248534281248395611248326051248278491248270312482518612482477112481072412480999912479141512477952712477350012477119112476775912475897812475052312475039212473336124729487124726080124720473124715013124714612470324512469379812469178212467185912466608812466214612465712112464631612464563712460930312460923812460692112460345512458453112457839124576104124568135124562412455458512455053512454505112454324112453797412447747612447261124471503124469539124469239124461758124460861124452015124448974124446751124427237124425817124410538124408626124393675124386074124385680124384199124382799124379371124374169124369901124367541124355213124351780124341203124340471124332246124312515124300971242931131242865841242862821242840751242693881242678371242664281242612131242611421242563212424775112424195124197854124171539124170300124169425124168670124163682124152295124151683124143733124141220124135611124134141241325931241318151241190212410860412410721912410039912409386124093536124092260124088136124080005124073946124073591240701351240691831240679121240663531240592051240588941240396671240337212402210012401961612401299112401067124002935123995751239834421239701971239697821239612971239474031239418461239293101239176861239165151239164421239082201238911101238816561238711401238635161238485171238477031238455721238107791238098641238010511237989871237982741237693361237664311237635031237627581237545101237507851237493701237365512372800712372694212372352512370240612369118212368670012367446112366282712365884512365672123656401123635335123631575123627976123618359123617915123613335123603258123589830123561950123558764123558444123550853123545504123541412354087312353871412353210612353148112352716123501784123498751123492848123487930123482540123482489123480202123472809123459777123451614123450881234444581234362401234319361234295521234238871234222591234181491234049641233910312337577612337156312336703012336015712334436812333846512333206123330929123320667123319363123313975123312443123304589123298965123295421123293472123289136123288488123281652123265245123264284123254589123247750123240694123232621123230620123224383123224071123214364123203937123195826123190191123180534123174538123170445123162904123159609123157654123156306123151621123147902123143654123143611123136161231326791231270131231222711231217911231170221230985921230975231230966301230909512308569612307601912307409512307199612307090912306729312306465123050239123030695123030518123023112123020062123008495123004556122990306122978483122973031229710812296770612296021112295371229468891229343912292710112292436712292305112292074712291865612291857312288013912287904312286913712286751122861722122844871122836852122829479122820019122813796122798922122790125122788341227828791227802011227744201227682511227558151227510122737638122737411122723116122719733122695898122686657122685809122677942122667971122665109122658578122650547122646674122641238122632979122620079122594857122589331225807301225782661225779001225755291225706081225612321225569581225508001225435881225278261225228711225199231225124421225083551225062181225048801225001391225000051224944821224932141224911471224890451224717421224647691224635081224573911224417681224380131224307201224295931224207291224127281224109851224101111224058911224030231223954331223908061223832311223824501223743741223740151223704871223703671223697312236815122364802122363907122359247122352147122339851223344031223197551223176661223135771223086112228369612228365012227934212226878122268767122263293122259624122254505122251722122249271222460851222441491222439911222436651222334641222332571222175001222164421222078571222048401221959181221953611221949271221892761221840461221769641221569901221548921221534661221525631221378251221360431221333071221272681221268351221237381221207081221088871221069161221038491220931131220878641220719261220688721220623771220556181220479041220388541220252211220221161220131991220126641220058751220017021220015651219881171219818091219788401219747571219676131219609841219410411219279561219256221219109521219088211219057511218742731218724111218708151218690221218632751218603051218544411218483361218365461218363221218279771218265871218233751218231541218219901218215631218200301218196441218111741218080021218048141217849091217822111217751041217717011217657191217650361217631161217619731217602701217580121754941217523021217514812174015012173159112171296412170552112168652612168260312167971912167300812166371912166133512165792012164884812164296612163843412162514112162242312162174412162172612161188612159085312158763212158020412155581112154019412153801312152751212151956612150355121500641214953051214937941214880201214818081214791601214729531214627801214594801214534501214380731214340451214159001214135781214134271214112491213943881213837501213795961213506321213462881213378521213351611213350191213262441213164011213103251213092021213039461212994512129719512128842112127922312126144912124595312124332312123109212122088312119001412118714812118438612118168012118121712116997212116329512115995812115226121146931121143215121139889121129275121119113121104750121089116121087724121086303121079079121078292121077296121075872121075732121066115121065312104220121035667121033978121032594121022293121020839121019224121015765121010577121003016121002504121001874120986058120971012096805612096381209585291209484112094588112094182112093754612093060112092762912092611512092514512091314612090315912089053712087462712087233812086783812086689312086257912084782712083856712083063912083052912082924812081820112081727812081572112081329912079647312078894512078861412078575712078333112078019120768501120765507120761798120746833120744773120741166120738916120733591120728832120703560120702491120692412068727112067871120676077120670323120669839120661536120652605120640109120635526120635229120629571120628387120624882120624163120621060120620351206194131206165931206027161206020712060050212059815812059020112058602912058512412058410112058358112057878012057623812057475012056730512056547312056510212056145120547731205441212053784012052774412052732212052047012051247912051104612049292112048894212048831312047722212047504712046969212045157312044762112042349212042281812042040112041323212041057012040645612040065912039221412038815212038446912037119120367375120362677120345342120339437120333921203192611203130261203067411203050512030462412030137212029949912028606812028403512027956312027448512026966512026474112024798012024422812023976712022458212021948212021516112021067912020030912019541201835821201823171201745151201658771201655061201642561201550891201519341201494501201483801201451991201437321201378071201337812013218112012678120126334120114860120102288120091487120089555120079571120076951200764831200754031200733181200708511200701412006393312006370612003561012003262012003122812003091120015001120008825120002987120000464119995113119983721119980270119972416119970772119960591199374941199295271199103161199078241198950521198879061198861541198861011198723571198709411987081411986700611986375211985704911985281011984948711983634711983433119832658119807485119795666119783341197558871197475901197376811197331321197300711197229691197193461197146191197127511197082091197049321196974801196920591196849341196799331196773331196750641196702861196649031196518711196514801196479311964224311964021119628621119627441196196871196181611196089161196025571195985191195768441195753901195725881195115511950007711947851194648911945771711945525611945388211944881011944141111942910011942249119414549119410350119403797119398591119396755119395025119394553119392977119392862119387901193725671193683511935470811934899011934070411933146111932789911932692411932356411932116311931888311930543311930105911929635611928409811926616511925253311924961911923703711923289211920494119204444119200169119198601119192155119184096119181152119174893119173309119172661119151380119143905119135295119131959119126008119121515119114473119113744119112386119111484119106306119105931119101352119099527119092773119087831190753291190629011190488611190487301190483221190374531190315351190299981190210119016354119007897119006578119002717118997086118991441118990049118990033118988840118971177118969906118964686118955267118953044118945787118945219118940751118938746118935056118931776118911151189015011188916371188894081188838501188774221188753911887000611886944511885046511885042111884862611884420311883582811883044311882519711881919611881586411881294118812017118799181118786768118780033118769014118764861187626121187548291187190531187160631187115631187056771186991191186990851186848911186819491186807711867096411866960611866201711865006811864515118639131118638588118626182118611328118608701186083981185810331185793491185597181185491411185318161185256421185242261185209711185206831185125111850577118486807118486077118483725118476978118473668118462115118452010118448485118433208118429271118427551118401767118401612118399934118390418118390388118386729118374051118365010118362720118351813118351537118341215118307290118294600118290801182862591182820261182811721182793211827301118267414118263988118260772118246873118215063118211991182045821181983361181954041181867611181752341181714661181675281181617961181545471181429911181280241181251381181213191181194118118465118117137118110716118105437118089599118084539118082730118079971180731341180625101180582021180519781180424251180315101180314541180239841180119801180042151180004891179935211179833431179808921179776641179680501179679511179460811179446991179414221179393921179205081179171591179100221179068471179022811790039911788825011787343111787113911786476111785553611785128911784985911784517117844162117842611117842392117834863117834831117833595117827731178250271178227211178181601178130341178044741178022791177972771177853931177636711776351311776133611774908211774874211774111117739724117736077117723160117720155117694865117675762117672525117661155117655999117653667117618414117605941117603704117598882117579596117573472117569246117561581117557164117549231175473861175423891175382441175324651175227051175186471175177721175069241175064611749382117486452117485750117476342117467690117463503117462338117460585117450676117447996117443977117436289117426471117418578117393772117391382117382495117381411117379877117374351173668311173647151173632571173609661173584521173483581173295501173221991173091081172972291172912771172891921172884641172846221172787811726370811725540711725123111725072111724206911723828011722584911722115511721861211721308011721231511720971171990361171967011719157511718974411718644211718419511718390011717683711717015311716249811715308011715104311715016211714804411714037611712845511709735911709713011709109311707160811706214511706138711705331211705043211704929117044525117041983117041316117028608117021458117021219117018414116998391169971371169928641169539531169480821169464321169446841169413341169308541169211891168978631168885801168865911688239211687365611686860011684605011684148111684024911682868411682198011681831511679895511678324911678142811677429611677276311675410311675046411674858511674188911673573116722140116705777116704926116704650116674229116672599116667354116659891166588861166511663790211663554711663319211663135111662668411662051011661514911660701111660620911659574511658161811657775116576698116559950116540967116535303116533699116518874116516582116499728116499440116499142116495314116493805116493116116489560116485879116484587116479403116463643116458933116453277116453177116452272116451651116447501164376116435551116424821116407978116402297116399601116397710116376985116375842116370089116365329116362241116361916116358315116351564116342489116342223116335370116334051116332700116329749116311872116297866116287752116284913116254920116249635116249137116249057116244042116240686116237962116236196116228554116225089116218536116215214116180103116175949116159681161544701161439051161400841161361951161286571161234961161219341161151871161083501161061241161035201160746811606877911606582511606249511605312311604952211604280611602201711601871311600149115989955115986701159688631159485021159349211158951111589290111589137211587411811587411311587186911586215611586088011584045711583806611583738811583580311583335711583063811582894911582581211582266111582227911582213611581923911581875811581729711579945711579779115792269115788912115785885115775030115762568115719680115708011570673511569595311568960911568804311568760911568736511568409911568264911567512811567420811566720115666602115664222115656886115656658115653820115650297115638411156369641156248091156195781156169611156151341156047621156013961155956491155873841155831151155803651155710551155697161155648211556291115562701115562324115559576115551851155499781155472781155395411155387771155333451155331271155186311155140471155062271155059261155020081154822741154734661154714051154663111546543411545910811545160811544773011544732011544457611544102311543345411543309711543099611542963611542862111542481811542447411542202411541413311541377711540965011540622011539911153979071153918191153807811153791231153728631153722361153597001153581751153573251153545871153460651153441941153436571153434251153377991153358021153325301153279761153216611153134071153117561153087901153057631153046111153017201152901141152883011152780631152679361152618741152506821152474011152343201152284011522156811521994211521938011521859011519551111519474711519103211518854711518804411518773211518547611518141511517176411516860611516311911516015811515686511515642311514728115137017115125571151175061151119281151103911510414311508773511508665711508592811507875311507088211506014911505582411505463711505268711505091115039315115037273115032941150321221150276171150254151150253481150230391149982911499826911499524511498795011497851711497125411493397011492685114926109114925172114923534114918874114912922114912421148877351148874911487993411487752211486872911486347411486131411486088311484576114835594114828548114804541114789796114782831114776608114774746114773506114771483114761019114756963114725356114719725114704180114700279114697731146971821146753591146751651146663581146571571146553101146505141146378841146198411146176951146090501146062411460215911459606711457596114571420114563991114558736114554064114547721114547656114545009114539091145228211451916511450150211450077911449536111449311011449296111449285111448132711447456911446767111446595011446452311446317011445493511444351114442081144410071144364801144210251144099821144078021143987051143927041143747371143583571143445541143324531143242311143226931143155101143047061142998611142844351142820601142653291142629621142483411424725211424093114236911142324481142292041142273901142226591142198251142149651142141091142123841142099201142011121141973471141746581141742271141649411415266611415002411414661114145729114144158114140589114139862114128952114121440114114627114113863114109703114104452114095834114089479114087526114075681114063196114062582114061857114056170114049707114034191114033785114030628114028420114026442114015732114012786114009013114007900114003942114002061113981361113964301113956967113955270113946825113943499113941293113907283113891711388700111388605811386944511386402111385496511385459011385106711379839311379820111379786111379777411379307411377886211375940211375402911374453211373501911373241911373234113722874113712461137062241137033891136966611136907051136756661136583711136530001136477731136374671136359071136218961136150211136132061136115961136076711360612111360503113599591113598199113585560113582102113571531113570221113569475113568432113567504113560437113559868113552551113550714113549653113544716113541911352975113525317113518389113517179113515826113515186113505865113484411346848311346725911346576011346063711345846111345159111344687811343072311342393511341960711341851911340202111339432711339162811339026011338632611338116711337109011337050511336545411335159111335001611334986911334567711334470411334240611333782411333779011333760311333331911332961911332087011332018511330558211330278811328866711328822711328517811327720511325730113256023113252775113238007113232782113232587113229170113226602113219568113218843113209868113204560113196251131940251131900011131889441131856911131836081131784411316663113161757113158491131546211131524541131360041131350381131250611131118591131097311130865021130791931130787771130739671130597431130529181130465101130391231130218431130205861129990171129975971129880161129833891129829581129795451129735451129633321129619511129551541129520241129448381129446261129420401129380251129353661129278551129158371129107121129049461128927071128675091128640741128393211128377381128342081128316811282360911282202112811996112797979112792261127902641127801551127763021127744731127684041127668161127625731127607621127523811273626311273466411272418511271300511269734411268490511268390811267889811267315311266387112652178112648785112643351112642360112637535112633221112630735112627632112615071126104991125925511257958711257329011257023811256334411255343811255256112551221112546961112532551125278621125185721125117081125105611125100251125098171125055321124893841124873811124840411124769721124754081124706181124660511244922611244867911243324611242885911242469811241711111241646611241358711240851111240288811239366811238723111236645911235965411235598411234624311233709211233237711232952611232051411231923511231609611230679511230557511230440611230352111230232611229558112290830112281437112280225112275972112264262112261690112252314112251142112241483112235977112234318112231771112224246112211397112211338112209303112207511121930571121847661121822611121760441121607581121420811214139211213455211212804211212480611212010611211550411210851811209575011207830011207419811207221011207165711206804311206049411205391811205241511205074711203831311203640112035538112022119112019200112016001112009923112008659112007033112006707112000171119940511119915001119821671119752831119733161119718351119599811195928911195462111947951119444831119358321119278071119221841119201121119167581119060251119039131119030271119014861118989911189764611189714911189611811188967411188965011188396111186865411186772911185234811184807611184172011184006811183587811183420811182766311182517711182209611181090411180529411179450711179066111178737211177937111177328811177289311177081711176386811174266111173805011172013411171351111171144411171144411170818011169410011169155111168973511168942111687650111680446111660175111657880111655267111648047111646975111641523111627394111621396111619454111615465111603453111600274111594057111578366111564975111559267111540559111539539111532632111530764111527914111522679111521379111517871111510157111509305111504037111500223111497303111491027111486502111486203111479089111476899111474805111461003111455313111446224111440052111432087111430351111424417111407362111406406111402504111393062111390171113620771113591021113576661113565941113523931113429341113301271113278871113242731113219411131395111130662911130106111128830911128578211128305011128236711128164011127116811126907911126384411125759411125112311124268811123176011122994411122840511122480111121871911121562111208637111197886111184086111163121111530611115120311115078111141573111138595111137869111132526111121902111114932111112099111111189111105331110992791110965691110933101110777841110755111107231110697301110537761110495961110484791110441361110422411110305271110222511110207101110177361110045501110004651109619611109552561109358741109358061109257731109221411091891611091485611090653611090580411089443211087845611086967211086542811086279811086147311083957011083319411083026711082614011082262711081939611081875011081851011081293911080951411080834110804851110797104110784223110774783110770905110770457110749082110748014110745496110733461107327111072849711072692110719759110714953110711007110704196110702098110698260110693629110690613110679479110674290110669611110664364110648314110645158110642209110632400110621855110616792110615562110614524110610814110610249110609494110609491110609177110607209110605663110603926110596821110586767110569952110551310110549237110548629110533851110529045110523881105130110511261105063041104978581104966481104949971104935131104885191104859291104857611104746581104661481104637901104564311104505931104405831104372801104336311043163511043133911042310111041242611041055411039757011039172611038601711037678110376125110367788110363744110348316110345356110324041110318909110313055110298993110298236110297383110293690110290897110287451102754491102745381102699110268413110267956110266325110264485110262422110253258110239717110232935110227698110223331110220314110213676110195686110193092110173461101725911016453811016346511015856611015795111014838711014710111014697911014334511012426911011324511010230011009295611009135911008767211007069711006482011006103411006047511005406311004906111003832211003696111003626511003493811002846110020744110016120110013916110006531099851801099681610995163710995052710993549210990528310990100410989842310989538010988221210987711098675010986730910985486310985286010984520310984274810984256310982811110982786710981879510980011010979642410978703610978110910975861310974702010974635810974608410973800110972494109724313109721729109717051109709524109709310109707728109706581097060901097056561097043791096909831096889051096642331096567461096422181096198131096197611096166031096136411096098031096084831096081281096004981095922311095732921095423201095382571095360891095335681095219841095087451094972581094916301094861710948367910948305109482396109478630109477527109470366109469279109457121094553211094394791094309251094300081094258910941658310940275310940109310939922010939766310939566910939501510938584510938376010938191610937253310937004810936955910933925110933439310931653210930706110928753410928638109278385109266265109258142109256212109255904109240696109235610109231404109217210109199096109198827109193167109191159109178178109169531091694741091642111091621591091608001091532610915027110915022810914048710913859310912553109115876109115853109113581091070831091069681091028161090975601090864641090827101090822881090669221090662871090630871090549811090507011090453941090364621090270010902204410900147810899861089953681089909491089902391089809571089795201089767421089711610896885108960036108957247108952276108936735108929906108918268108914707108912376108897550108892711108884241108878345108872989108871746108871679108865973108863252108863181108861415108852216108851381108846335108831278108828255108823471088091110880701710879670108789816108787234108778334108760663108754856108747711087437941087389711087312131087260391087018791086935361086837711086776911086705811086660331086655161086517901086445531086383631086367210863378710862923010862858010861644108597122108593637108587612108585347108584651085833891085764071085723151085705821085690281085640691085530801085527091085512191085435510853771710852377610852332310851659610851462510851388310851287110851235510846953810846934610845656710844302310844109510843658910843481210843466210841919910841915210841657410839554510839116810838932010838809710837590810836473710835574108333031108327107108324822108321076108316191083152381083130691083063941082954041082933661082840461082824091082797861082786111082739371082687791082685391082548951082505861082452471082285961082210471082179421082179371082176010820109110819945108182971081702301081623271081518071081517010814729010814265710814100010813700810813575310812547710812123710811795210811620210811007710809973510809820310808275510807458810807090510806889410806070810805332810804853810804574110804322310803389108033659108030742108025198108015884108011711080097310800508710800496010800421310798655110798654710797874710793045710792838710792599010792510610792257610792042107915143107908319107901828107895267107894061107892672107890397107885656107870108107863672107854915107852816107850318107845473107833862107833180107825981107825634107823724107822820107820455107809406107808941078048641077966731077939171077914711077908951077830110778256410777029107763650107757561077551841077430341077369991077328731077195310771026510770583610770553910770004710769936107698587107655688107652438107651901076509291076508481076309781076300211076245601076139151076043811075977241075958991075925231075695671075563891075446221075428031075397121075306461075284151075152911075147761075129881075024851074976291074963831074896141074885401074687191074596101074486251074406681074356991074210851074156051073911110738966910738682110737517610736563107361823107360691073596811073572310735414410734741210732641710732268010731571110730722910730449110729381110727952610726654610726190010725901110725337210725096610724875610724675810721303107212112107211738107207778107190791071748371071722131071721371071672651071621710716123810715559210715014810714690107141743107136967107131174107130101071299051071280281071149921071112310710929710709866110709515710707864710706637010706377810705984710705665110705451910705333310705047810704656210704362107039284107031406107006743107005481069994021069970871069815410697272410697204210696213710695948106956605106945892106940312106937201106930442106926051069187241069115241069074161068997111068971791068944151068922201068816181068700421068569961068494161068485411068375021068350291068346106829374106823131068221011068056810680150010678818210678077106774614106770664106765928106764220106762131067579541067532951067487681067402851067318731067313241067260771067231931067193471067137741067128821067085361066855271066816031066676891066659421066657041066611311066562311066525391066450161066390341066326521066301731066094511065938910659349710655792310655471910654104710652401065206671065195601065091841065080581065076801065057291064846851064784111064694571064657141064646381064588771064415541064395461064307471064163721064154210641293910641279510640540310638917310637537010637056110635688910634690910633861210633031410632822610632295110630946010627331810627179610627073810626971410626958810626556106261176106258617106256931106254645106251920106240764106232883106231332106210499106210231106201613106189981106187152106181349106167036106166612106165936106157031061365481061328121061270271061131551061094771061094281061090710608254210607396106072966106067231106063291106061709106058605106037176106023791060213461060192441060126191060055571059948761059914651059899531059850491059845061059832921059810011059764310597345910596998610596811910596539910595317810594686510593560610593321810593315110593198810593189010592231105904695105892327105892158105886930105869719105866281105847499105847041105844629105844568105824939105821447105815921105813711058088691058088371058028241058016441058002105793524105792496105789728105788298105786672105776059105767221057619371057615651057466710574306210574166105725431105724376105710964105706318105700831105687821105683562105666901056584105657531056572301056518441056514511056385501056322291056216101056193351056136201056091931056049761055997221055961661055952471055658911055566531055531510555267810554024105532786105523424105521116105520753105520017105519503105516511105516496105510680105498928105498014105494691054929921054927991054887411054796901054677931054672105464631054541571054536281054422910544157110543974510543930410542948410542790510541571710541390610540853010540415510540206010539790110539272010538665510538534310537682710537139610536902710536551510535887410535837010533128610532449710531718105306933105306248105304390105300438105300273105295691105286930105286670105272466105267750105256525105243101105242873105241789105240418105233978105232041052098611052069421052059801052031261052028271051962341051865891051806371051781491051751491051747531051735381051700910516647610516241410515042910514876710514767510513591105135459105126751105126215105124519105111300105109708105107815105098380105098341050886631050880031050591161050484271050402131050398881050359731050337931050330371050059105004948105004803104999201104993127104984919104976969104970400104969300104954838104950751049454411049415910493727810493618104929997104917436104893475104887002104886803104881751048811210487513910487330104869966104869719104856962104855492104854827104848801048420110484163110483354710483289410482825110482739010481491810481478210481096610477490610476784610475549610475270810475119210474719104736786104736245104732294104722852104716075104705644104683419104680964104680103104654109104651710464002110463374810462549210462234810462223210462075610462037210461676810460812710460581010460374810459317910458633210457654410456535110456369310454577710453361610453347104532398104531009104524674104508737104508687104508196104505843104494799104493414104486511044828141044645261044606121044588971044570181044445331044426161044338841044305611044226261044145111044127871044083521044063341043842551043794910436926010436517610435461810434102104336889104327795104321453104311311104304929104299304104290172104271220104256956104252764104243608104243055104232861104223390104216341104214497104209924104205241042035231041864211041297210411902810411132104109668104108766104095002104091730104089451104088254104081168104068805104067531040611040571411040541821040328110403099110402337910402205210401601010401226410399889310399691103987127103978724103963251103962121039476461039469471039467161039455341039365621039351571039205901039174401039145191039131871039122831039053421038980621038953311038937510387861410386710010386467810386356910386205910385301038375081038344631038338321038277791038277021038256210382248110382027010381805210380767810380663210380470810380285310380002310379448710378700410378230010376918010375512410375356610374679610374388110373474103728821103725714103717520103716031103705039103690035103669023103667205103663927103659595103651285103644432103637217103636370103630501103617501103611831103602269103594338103593751035900801035784341035746891035733891035686041035659101035598731035567810354694103545018103531892103525542103519418103515472103504328103503919103503376103497791034915991034851171034789681034759181034713321034693531034547791034506811034451961034447371034349991034337271034335331034264691034207921034187751034116011033984071033864801033850161033751791033667651033565091033288981033246001033232051033142141033121361033093701032748321032730301032621071032517210324741410323918510323327510323189810322619810322497610322227810321388010321386910320437310320415310320035410318672103183005103180240103179260103174434103167529103161344103160745103132228103131923103131032103122601031208841031192731031137561031108471031101431030993291030912391030887411030879111030740771030672211030670521030621581030542391030503851030321681030316021030310001030297111030226951030226103015698103011031030103061030000651029947041029936411029832591029831351029801321029752010297301210297091210296965910296598210295793710294141110293731910290881028985091028980031028940951028854211028843341028794191028580021028569461028486931028441381028281501028184071028047251028026491028019510279271910278279410278039110277830610277487310276393810276312110275128210273988110272965910271400102708985102707731102700852102700198102685534102681124102675948102674892102667237102666172102656716102648046102642469102639588102637213102629670102621028102615910102607521102598711102581004102561970102559641025587431025484831025431981025285661025273561025264801025062831025018461025009131024995011024973331024865510247745610247634810246403610246116010245457510244921110244845610244331010243772510242638610242102410242019410241678710241509102411160102409694102407116102397473102389237102388609102385951023799081023715781023586810235083102348613102346789102341421102338442102332842102324515102322832102316891023131181023044931023011710230105810229017010228646210228241710227960102274853102272151102267033102259568102233888102223137102218711022091851022088021022036341021979921021943041021934851021897810218179210217652010216985310216619510214222610213320810212295610212060710211690610211617102115032102104917102103668102093394102087218102085563102073111102069099102053966102043050102038318102033099102032900102031196102024105102022256102014975101993896101988135101981851101977825101976138101971610197067510196891210196306101953542101941900101940101930924101922790101917593101915930101908699101902331101899949101897472101894930101891526101878866101875018101871360101863896101860887101860745101859369101858027101850541101830240101824754101822651018223701018096801018037461017905111017836410177402910177341210175791310175219110174484110174167010173354101729836101720084101710943101708010170203010169267810169038110168341110167849110167793510167588110167564810166529610166268110166195010166043610165892810165736910164070910163079710160995510160601810158822310158383710158304101578470101576756101574143101573368101570805101570421101563802101563229101552966101551966101551514101534032101529167101516197101509321014912301014885701014881710148551610147681410147382210146402310145853010144731110144672610144313310144229310144049410144033810143787110142666910141942610141558510140620910140115010139887910139810101387236101375061101371961013698181013557031013467210134337510133648710132916101327834101317391013018571012997271012950471012937221012887391012763881012683510126550310125613101247181101244963101244434101241672101239835101231658101198907101191642101179113101178621101177132101159891101151984101150301011399771011386891011336921011309261011234110110664510110385810109946010109511310109036101089931101088709101083477101083345101070828101068937101060128101053303101038328101031779101022065101018939101017234101008096101004385101001977101001886100998723100998095100995481009825011009761421009736871009651761009651431009552341009466721009351401009234151009199661009198310091752810090903810089745710089455610089382210088574710086868410086378110085077310084656810084200010084073810083732310083325910082525210080837610078528710078065100771811007546201007491931007409891007387631007355291007315691007290311007178111007161981007129431007034811006925781006895021006856301006818441006781371006696631006674731006606911006441941006388971006302011006149221006080131005959121005870951005757131005756610056208100554101100550416100545975100544319100542655100539793100536559100523227100507175100505045100499140100499001100488246100480633100475788100472246100468932100468263100464993100461965100451506100444981004317811004260801004233371004175241003970831003937201003839951003733621003718091003686461003663991003219791003170611003114671002999621002971191002860861002842710027798510026638410025786410024637710024595710023141010021812100213443100202798100200795100193902100192456100183635100175209100173434100172539100171849100169032100165555100144639100140381001369581001241841001189910011597010010713010010522910009513010008819610008687110007413410007402810007182310005625610005525110003426810003205100028645100021158100008757