Problem:


Score : 500 points

Problem Statement

Given are N integers A_1,\ldots,A_N.

We will choose exactly K of these elements. Find the maximum possible product of the chosen elements.

Then, print the maximum product modulo (10^9+7), using an integer between 0 and 10^9+6 (inclusive).

Constraints

1 \leq K \leq N \leq 2\times 10^5

|A_i| \leq 10^9

Input

Input is given from Standard Input in the following format:

N K
A_1 \ldots A_N

Output

Print the maximum product modulo (10^9+7), using an integer between 0 and 10^9+6 (inclusive).

Sample Input 1

4 2
1 2 -3 -4

Sample Output 1

12

The possible products of the two chosen elements are 2, -3, -4, -6, -8, and 12, so the maximum product is 12.

Sample Input 2

4 3
-1 -2 -3 -4

Sample Output 2

1000000001

The possible products of the three chosen elements are -24, -12, -8, and -6, so the maximum product is -6.

We print this value modulo (10^9+7), that is, 1000000001.

Sample Input 3

2 1
-1 1000000000

Sample Output 3

1000000000

The possible products of the one chosen element are -1 and 1000000000, so the maximum product is 1000000000.

Sample Input 4

10 10
1000000000 100000000 10000000 1000000 100000 10000 1000 100 10 1

Sample Output 4

999983200

Be sure to print the product modulo (10^9+7).



Sample input:
4 2
1 2 -3 -4


Sample output:
12

Submission status: Wrong Answer

Solution code:
import heapq
mod = 10**9+7
a = '909142940 895960622 893921732 11767294 106321709 950005557 778149473 919580488 803330602 917635450 866406001 951930519 16198278 902644729 109692101 923084830 780869638 880560180 877327919 870190920 985277478 845713917 940403650 871369862 938128515 884509427 894939232 810529054 868755264 963798735 986571771 838011299 203781741 986525083 863792520 967401016 6793903 913046229 813052845 950500167 987623958 804279242 820273403 178302708 788993266 817947743 993199089 171108030 962695540 788872804 900018183 935453795 976184448 905668552 940303119 947776889 853561180 982053927 841133230 49760380 889286737 874971897 977264039 796959007 962457365 843545202 963216372 251698381 955262137 906485395 939529590 78864310 957933390 267916113 788644454 962016059 988339452 347156366 987149199 959834979 857446000 880315742 997953809 849010295 834865501 272363249 922326507 73246806 51430297 943981345 79873124 983595285 801007056 181615993 923316778 828097430 349235320 863775138 893670779 795455822 873457103 969517895 931288395 225536030 880467336 898510825 953808681 287425783 882717228 886890672 921618272 871946675 849648823 788209677 954022373 804178193 838015965 883444037 966462579 996942288 912971042 949394849 842068612 932592124 921134159 888923102 942048635 806598771 852298774 77725091 872199044 865696184 892492547 960625583 844246167 873542641 105127324 828500755 964068280 850926266 301421058 853648168 946395958 914037863 855372966 994972150 982003756 829534614 849753008 79202105 918601586 990175355 789270634 959751874 880634401 966888900 104996136 39590912 262867008 112336077 977135347 295608486 821479772 216767198 955782719 780064141 923024641 833608926 880591449 887593658 810771671 828121369 963564817 273090432 844464202 970238560 998385428 782138547 935312859 795816498 908052850 76339325 51303044 0 173970678 882153184 972933206 301645131 797116196 855220701 958258730 839105973 799012721 910309933 916369779 215330519 875805710 924048487 980449402 868786812 934235996 836428800 903527598 804648462 980702117 964966511 884404156 890011629 960910473 856067838 846029560 911882345 792272952 318437129 883035045 188749206 935321895 889682982 252142032 868125380 823717422 812415508 349589089 861857113 789775103 825856516 980739193 794327076 864503609 869943583 834330232 824992876 979808137 914630325 863583659 999305955 843058830 970351878 890243112 896719765 945692732 269251209 15207042 947150971 788194798 791005017 53645631 868006732 782139300 301664456 829003556 781462483 801720590 903776615 253497571 929463648 941189264 871035120 52867678 819048714 204697151 177396925 867382515 994248720 952373823 859774674 869619439 797514188 967953945 0 971130937 938020429 898527141 907640105 938791894 247727917 860545190 201795239 963958799 840787697 848237816 819133102 821538872 914455493 806568032 894069661 816931172 64425877 309169792 126350927 846271808 828027105 907628069 42293155 921567391 294625818 883826245 986483279 852121899 819084041 785538781 828548434 950696383 990499803 838936017 827071829 894464849 278482749 899001974 993744572 979470436 872228422 271487052 348252784 809593799 975618956 885622694 909375619 878687676 958061072 962885851 226298959 952489072 870778146 884223892 195718820 780980665 18190624 0 995333920 147573190 909840071 895932993 798888670 995150815 939256841 984169103 99362770 -671521616 182380903 883274495 954753443 987839155 869324693 870783274 946465896 922466036 850532335 872046067 789077468 317237867 823599480 841715195 273310031 966648457 884390922 -735571753 179448181 990758070 994907564 789419443 893410017 788280743 865158382 932925646 120015164 828890166 872907992 908109861 917607772 886221998 135708626 8895441 971662759 782977738 889988538 879774675 909053803 838418586 940510926 978236950 907966210 844486368 876187447 922728111 841653156 957677120 959763536 802461837 79149157 286361504 834343870 869654107 868806464 116157859 809273288 807861131 135094042 791196464 962322293 23841487 996615134 22012797 917415383 781851445 886774214 780152113 799729183 783588869 959878935 826480312 933473567 882124949 801422024 917342891 190671022 808425246 936380260 928713717 9540818 961616441 837638605 794322761 928772109 196434624 825189661 991571144 821167394 880223887 988940446 839997178 933994148 304177028 791547687 893427621 980100359 780047761 815845726 928088221 909792723 941264660 973002271 882784927 791436953 839761365 779508483 25562634 830819845 778308856 859145178 888867169 898779612 959565959 840496207 965459871 130552209 228738509 885883233 48990984 851502036 799807653 92123404 280091173 800961923 885249690 985931978 938651184 996325189 815149468 961352529 46568905 964688904 303190410 888405616 851287630 245576844 931741065 243528771 971463422 892591785 806210410 952488291 899588329 279878795 79928034 828683354 828817901 323507718 273916493 791484495 299006827 69676876 995920506 895719614 87905352 983078496 844494640 798167629 79799241 836094829 833827707 163648790 948642079 965941332 916647963 983332401 845191815 891487089 937705702 908629285 880000048 823140131 814795749 893544995 807404673 344157994 15366079 122024878 985840143 803281090 794210151 984829326 244569516 874907876 834024139 991182257 925639088 954909222 214783510 829470183 984102428 963068402 985751245 928345867 913681806 186047570 886154135 972074341 814143328 865925519 142163167 846548992 289370256 908859197 883421006 847105529 896613961 909910669 861968201 797038885 830153850 797610718 951341460 959471373 985723778 871915777 926204053 250466955 823451886 801458565 852134264 794421726 0 951170286 226914635 823404350 225273043 880502164 973666832 878195762 998736517 888813777 917754268 935329903 972773604 911816424 281700853 917468190 953603173 989681715 996082409 852047862 854834551 851401244 937830489 68007997 185857900 14372727 830457597 319664790 877713378 881421275 883487787 285836617 857890565 885818142 796998173 823874072 912862212 888165317 980262156 0 868356624 819134536 865003606 831669270 830852839 995474676 888175376 821516503 787668041 290313362 940657911 908564380 987265145 294546499 8916430 872781081 952795777 29470432 797243052 316496387 805300196 0 49244117 993413324 928118137 279749030 948324148 940927199 2222639 910902668 882395113 790156660 987690927 867013028 857713930 870085859 829179687 46829915 902054757 18240459 265803579 821967823 892740515 320953238 347180835 988937634 795583246 899246283 892018495 806796611 883732619 866023852 176032774 116464543 63730330 799835537 149720650 949105826 802321357 178357923 265670912 923728939 902924420 909695406 910743894 989795734 817090000 983184626 941184890 798601668 842294585 321560928 899220679 871491262 804260362 808990146 853689085 849751539 968724672 901467488 311618841 796023150 851495309 923948824 921792660 917934995 792798687 945159323 895430805 819646338 986360871 934108567 920139501 804107466 945589467 945784875 913854214 822346820 940846555 67864362 916476660 779154130 966538660 876273189 322549531 964681072 791133567 980295501 38768702 974629842 965689545 8809554 934626829 898882751 889090539 860715283 795299748 889496098 897696807 916439670 193712428 813561956 811084009 934503345 967034674 802856778 -428229303 970879043 860531289 957863333 293064006 963553009 851408776 112598355 915087846 900462239 783281275 785424033 117816935 810770301 979096191 920347038 881463786 778974247 891154550 818922288 968894025 888715483 930538074 803944746 999411470 902499132 891143794 829881263 263438047 114502318 989774515 973251097 788657658 936265334 874934766 894816294 796116643 84921472 882561336 851950672 130906372 861390441 868644760 892905704 961386937 897794496 990699798 867085937 948268670 947017815 915867494 985659857 109820990 81356374 339418820 838054112 828429947 849507549 86656834 957535217 994332492 809249209 975798260 789646861 836842954 893294636 44823138 872118236 933260835 73673500 790554923 860502125 839082428 844485188 788712051 797884979 164528845 878127655 212393976 985168880 909717533 293516415 953031624 52197630 812816825 883955629 947093473 945315810 850981824 913891059 849539678 822825130 793493085 810770653 971301670 933804298 157003960 855250362 833508745 833791918 872240859 262206755 865360258 997146303 969223924 309923601 982930347 884723515 812601537 954584923 827418394 55442984 268842035 838946317 879906934 848170009 959406430 802775534 899438755 100128292 905777980 -495465355 902599402 907336403 844007234 929101515 936955742 233343609 879325170 297090725 900024505 828724417 942371557 285136795 158899497 902353288 79014333 835965586 824406603 882017876 890200801 843348611 885788731 980306359 946837317 298704724 122152666 951371990 47079023 887837932 785190759 917301376 833772956 832996549 842502056 883894537 853794330 988831440 81518785 945252553 988556734 0 858692530 871765234 966709827 782364169 958458678 935062322 259118984 253212643 804079749 788502416 787686093 873918645 994028286 864348491 923241964 865206255 897669133 988385642 896497783 864202548 818617704 978404895 997306309 916670006 892071299 878301436 996254751 952160767 883517119 805573850 947843637 943962176 330793984 908903145 120082613 888117486 801185543 838426440 908741645 918159277 46858379 868703020 817104619 907582964 780873210 105685809 320192971 787817013 834456352 945724310 961368006 895118111 50789340 340260676 796260954 817386074 972814408 939833109 929031085 807763216 150056394 303273618 993399939 217994111 832891895 172931000 834315376 148551892 903830664 924074991 780814360 884239294 13112608 796380852 199871836 979143727 811346318 853599323 882949388 987426310 884260299 909174413 815865001 833058605 144530853 953997644 865675383 971405658 886127648 931606259 960653603 232396108 129622313 779277205 805987100 955052496 210585476 804985611 814641336 892256935 822645847 893735205 805086734 147821105 154689356 -684681467 967154075 864635653 801769149 187317066 896471022 822678029 960645111 920231011 878489617 93054673 3002135 82229351 868792846 786908034 131330117 40769958 897312486 179291335 342102284 964020823 916424597 92816778 944445394 837506904 975868322 803019036 991322039 999100026 939494372 163400782 791897873 934317666 96250570 803876651 812049672 793318347 327216238 961780673 946510562 306649172 846610162 149320924 838729645 926756992 886985139 843741288 835499688 939031388 843239282 906302168 163265285 319961777 996512226 191935943 961589043 810942608 862149587 993483836 43628032 879646938 333265654 -715831189 990241463 106081337 889235001 873888103 63534361 820943924 175409349 814131862 783868861 857721658 203000008 159578372 872823790 335382160 899049297 111131663 972449779 283494401 847526627 -649391792 818461604 212081616 823148362 296517232 970128425 810116683 293666794 859942506 985118795 960428722 338748250 782397965 341249442 785892070 983800132 872994479 957050502 931698542 789808359 223749026 933469348 7096810 836866357 60150614 840569286 814362809 984882069 928763275 887687250 779889787 798523191 836920783 348885049 966962553 892165530 95994665 66170024 0 860062213 879570595 151491316 31188791 247787612 12627149 206693641 913421814 899007494 898782048 856044485 789339221 159824804 868521042 797879549 934990164 865086643 967702051 910876274 932123870 932474810 944082995 981080467 857444956 953009816 876381646 885745472 915741523 0 811872214 795871877 858814509 861450824 840551259 117624013 947985714 873564099 939547153 977375946 899487497 841201944 -736117164 781357809 966143038 924036768 57651875 836605492 255108925 981472138 916684560 934619096 824852217 93026411 915957625 972209427 876267953 907881422 875913019 106326880 907880302 902769545 -636060541 801661233 963846776 826244788 933558124 82778031 857854161 910628926 972077434 939350432 884094508 800022514 905199285 844525939 896365570 905508456 815315946 882599688 266877910 796715937 98616868 988678155 998047750 859768518 987384534 829299200 927979984 918224731 911787369 873325566 976222216 899558545 971647879 961181894 800629777 31747249 865786914 342085723 983692091 237825169 867431712 199775268 165122931 272581116 940286368 987721137 309298069 938803838 864742922 791802861 236782890 140912235 0 837176724 908410289 991597305 826502628 860427496 784974981 902591578 993953309 849611880 199129680 341115360 856514202 173272885 780614410 924013198 253118953 887605419 185104250 5159351 874996067 806821741 806587472 871362548 301497435 796806296 944680550 815712224 852293856 862140184 993454773 903433592 49937757 977142350 91656534 343886234 831287156 847627361 22304798 908330267 176486308 837085413 854601973 804410797 879543695 881891605 283216983 972769534 878002527 972847541 797842918 843049338 967387967 967828127 794863048 889467513 853000604 787694937 928005468 785208836 923873317 187084169 791547292 888979126 794442507 917770621 959011736 53471894 891197529 879549493 848866995 963564996 903798383 907830582 899952154 274459302 851246983 914073611 946952060 862057418 779945968 976140619 940303395 799237185 969000250 845012787 261857203 804506209 896705624 178517202 297137450 891849670 805545618 983394694 817972377 982549049 801202619 931180266 799383044 159075076 334892912 944200246 849489751 922983089 828158140 308883813 869320470 245849743 965263979 326303563 145624681 855111390 94919167 983097821 998467340 220840770 938039690 827008872 946014775 908237243 897420442 953388400 816255016 857247266 978868195 886108023 867904561 151161952 852090568 886914650 225624254 936747765 991392169 796850566 337134325 862097803 820897446 873332015 839230086 825167610 928669504 934256320 909449674 809965769 784882552 159508347 96622807 875738641 971497745 793780861 991331394 780197713 957120551 847654968 966590788 778656314 910255974 0 967586611 944292498 256821462 148249271 860587382 905987747 173016947 785695244 895370175 816428229 941220384 988689023 866643099 955222554 280226751 844297828 994918373 812927569 15805168 340542863 925102600 908616104 836228789 934525395 899481891 801893507 884206556 836179219 281057162 899933503 36266352 868037134 897686153 906848149 819804352 947805205 261440139 44473955 983982744 857108497 797281905 911559133 155998780 879362287 348579846 6378344 823725872 177947885 336218767 855537704 858664792 997157227 951769374 3127445 207779516 895094413 887569514 969976667 10132253 889468218 845278139 286004878 49858981 802673315 928988629 986459404 961075427 900598581 988676085 797620994 809230118 908001339 927360847 908658773 923571989 316888311 872748523 343835467 836488253 814221233 836271631 137982719 828901664 932879343 878430276 792227398 882674173 922755752 282226503 337734361 42610408 937208364 974322674 137482945 814796676 778724318 987637514 853082251 886527127 282092374 795549371 836772493 909071269 815490632 966623081 848485548 321188627 851126052 845726315 872866529 857716624 840312920 977056395 936577290 898730202 288188173 859978153 870574051 242673699 966837397 828677292 831203815 989502137 798519942 184183765 807382487 879708340 963882864 778516301 940957583 981334874 804385748 927183463 828339565 860926586 870460432 185936950 239581114 117152335 268770958 950797542 63697492 808215034 204315825 823727160 946298826 946097736 817475679 340911173 907396315 71106951 976346513 856429101 875157688 809684671 805844868 782375893 850508880 853469337 941006399 819012105 850891333 260898382 976611635 950065292 990010079 964175982 938328203 802451826 941543079 899162556 852428058 862794982 339187282 941812266 809712613 149410193 879706930 920559317 964556541 786470936 917987928 12095017 910774814 850847475 950187113 995159312 982890821 844228035 950981195 985598351 849304728 271103408 940219032 859255705 800887658 970922743 894838297 820304113 831748999 845649858 112025359 991257916 936832842 861666106 996673355 942470371 808034490 796252436 926636953 39203113 903049774 829717129 154363061 986514979 847818604 905694219 856068793 979765254 917057364 992987365 275273542 999963916 263316886 162405226 890715599 197560234 857639466 35721316 151076750 823835649 912910383 909155220 127989061 955563848 291179749 145035541 141697654 896220844 795267381 782964655 842819145 989066096 914248277 875870369 855933532 964884681 982300919 892381810 349384918 914939149 866683734 251765231 796170525 892321452 18966062 871795796 879051609 781173966 954037270 796267900 310034741 937147826 802800641 800479388 994171519 850994356 860879870 101956986 288517630 973222098 828897869 837961771 793811222 791108796 933823448 834879045 979022246 876889847 978328539 823947643 909064791 319330240 924035981 0 824347505 39631434 142728637 943114804 784543232 904045307 307484110 878444365 953103263 862194095 984016748 900251170 907646630 831363846 266245950 172390204 788952563 976756812 958603268 829521717 816524314 997973637 997081682 960665581 107581521 210352532 905776291 778446355 855525491 981666720 987605139 945357777 3466331 986628405 793615948 903274073 790763291 841685628 999653580 880513515 994819874 933890526 231798539 813132725 302537876 860786700 969549088 236392956 981627261 348430586 840623861 75896249 35583063 972375057 839551440 264631124 844207273 953610895 878626326 822935119 853753934 -580359387 954296469 295702575 986030273 891768610 920662252 849138001 887280866 200151368 977955475 856093099 202007912 828498567 75062000 941546939 188130253 792948865 815359361 846642611 29232108 0 911247929 903568848 969459679 852913855 995053005 843307803 970006746 991277896 959229784 933142487 843479376 859130204 180353894 877870478 170134514 805416423 779228422 178466146 972155660 847022367 945286698 933989080 977175483 815385695 951642049 143683867 155235337 866146050 938519649 886243379 918068814 221855225 821678441 824781672 853874560 89395389 883538453 870910781 957194283 875989123 255624464 828709492 997701105 785374009 993160516 960209313 150890083 826601514 174812869 886198402 842899588 970838828 831716588 26867132 880649044 962005905 169066682 983587044 958433647 955967263 988873467 280554854 959807858 932734588 136089537 778812169 839350527 153413423 970039764 345764424 782931048 14940318 171265916 887470605 790062828 839846271 932300434 789135055 981188736 992373746 974434868 823220186 911406964 215005766 174497191 782914217 886815858 883387448 88426984 12018692 857700041 956029572 108281110 952196450 938067460 883516242 839660381 877169042 -368829091 146780079 952495234 832753967 68428114 149974049 929379660 788384560 -777726460 901735533 813793551 911230881 146084190 845251234 259505659 779880160 998011805 803961861 0 865427527 0 875046723 960602326 806232073 290173 45876453 816934898 914901479 973254802 256720721 975705302 829222390 817632077 995494688 856028723 837759816 298645232 808576332 895430204 317000175 936260540 942893915 778910404 987165664 931880172 822829767 784972338 904084807 841331655 925795114 959618548 850752158 912463363 889032429 906055354 829520572 62828920 790871968 950600669 892625625 862476768 851323929 843234196 869407807 865775608 930657191 341677833 97098055 173894707 780127946 953701492 890719773 942830516 898730277 180345420 922089315 928225560 810662650 931476718 905317666 135404688 980625231 271349083 997071273 922342896 988623693 248785357 879920189 963663227 884578261 15504508 944556182 999239291 778569247 994030513 789601944 987912160 285730241 849943205 909353401 930247666 860461803 896522319 991424977 862932452 990480983 172095263 871114028 983625292 982977766 838011623 960851356 801775070 931747299 954025459 265470354 949767659 851590007 961624975 910312848 783345844 938350176 138535960 73643811 138865469 0 976643587 966410629 834527891 905570024 945115590 923912250 100577105 862202078 895144273 781028294 991549234 842063694 940278487 905759398 920086399 984394862 856840299 880152189 849258270 963711731 848747045 802735418 5839639 861272029 988149681 110615272 960931462 835369071 974483760 77317006 993177553 874574013 815371025 781575229 65193218 122122397 847841741 909948478 865546028 887689404 969971721 305472966 806966227 74655058 861014596 19014819 947470841 68593336 959124505 943058278 916197883 818820767 780478209 899283066 855093294 980507540 813705676 910697689 933958792 812721841 921379028 925123023 943715222 831207961 905471785 824698532 791190058 813253500 842842246 792010930 998762015 933608336 846153142 329257029 971418951 43183806 812040449 205814461 -442818679 935948564 148904797 842668727 994700086 70438765 819038696 858344396 789499463 903188986 111054165 999219268 816784956 963251072 948863086 847016733 781869216 978473247 169237431 801650589 854508226 932799497 896330297 -757999886 216856510 887913922 932408092 347031164 926693667 908418009 93545378 929160647 925329804 939756255 970139404 329752551 815592182 937214845 153311244 980040568 905083757 901508741 815166839 864888310 789651711 875851813 808901192 930587697 205946779 887231156 966523084 980565071 905580069 856569302 849557277 882542942 179133387 344028352 795084955 932052562 783599559 235689882 983019234 848227408 963321466 878212066 918710053 802501368 161128866 3660562 939451909 910968461 845264509 816583568 778887956 101636619 811747366 893121596 829836542 985851537 839175878 833780403 978689925 796084833 836354042 926732334 813876780 957514327 797533591 875424921 936778752 101982722 806268804 824329337 798227003 193978081 827373226 985102661 83710729 865492460 257515510 914896321 998842340 250816385 802716043 801300295 949241201 808861684 983007197 840944624 894094351 809991130 900864994 915031313 906156900 992302266 785428592 908700626 977342389 843969684 280545273 984071665 813148707 828152411 970062620 793640402 336575908 966685254 813226626 22246001 869255656 996719684 843264075 286050088 937283633 974268645 939749846 900957686 864304575 863944790 322271546 941584710 103208280 795483539 944476055 322567430 988730490 792908818 966938673 997652100 309018031 882480301 304429629 831384862 921305759 883259638 946193932 860675041 799697967 963877240 972834088 889908925 798288428 934855216 992414226 977820928 815121857 196745204 923355173 176956077 206726310 961145223 852813782 994483780 911054071 796152094 806836997 967105377 782207951 807041591 985066505 817949034 991333081 320681337 952108916 940415129 917536367 888109011 79556793 852863212 805782483 923467944 337601675 782613299 47588571 887511372 986865160 838662289 836023865 162081270 302712621 962772074 893311132 787585171 886845935 286222004 967563303 897726890 990224611 807222973 954104376 317557065 836400747 926662651 946261599 200767147 858249439 135412254 820124356 848360244 960925606 868074492 788360611 845622944 995064408 296298160 869111308 349845828 920276666 915981795 905161350 993196504 999927242 801880460 875201099 912944253 822280088 848249742 68032846 923712221 4781790 985662955 832288104 90737381 911823143 129044948 821166203 324852901 215902308 983575744 293957022 6264585 176380134 887617367 161745360 17817938 211538527 868407021 950689899 944513173 792978961 780350289 46068125 864926879 929636189 916389079 340361481 939085327 994784141 243105207 809163554 935635442 200552341 783826530 897797311 852388130 808880038 956515346 825528885 878574238 826202659 806699134 927637851 782619880 993969960 989955351 826684124 973071291 867523929 909092066 71528936 853858890 182534777 864833011 808933044 347694132 797252830 779235710 179745532 934942649 128092178 799336106 964845239 996224613 836861884 991540615 906120983 797769900 900243712 965725420 964833769 342705022 826388627 884480086 786194132 954670929 930403524 25481071 860724967 885080875 794534427 973050955 145716492 346773020 956699599 854408118 971774837 988797447 868556451 896375608 930011800 917048987 183700884 334661013 98701796 960636216 975385130 948841377 885313910 859976406 814235487 975693700 793856659 977013870 960864327 836840785 839815711 941743679 823586584 991460096 54361872 88201313 829613974 818530840 213090356 278365697 240783921 834313971 848984419 999153941 934367333 919437838 847201998 889964327 284274086 931693549 780231760 937462536 906708187 904556381 953196114 824210045 62708149 867965334 907062263 975090428 890295721 821599346 888912715 955771512 922020199 974527113 913502987 210818013 980462493 164350665 23607309 75720278 889006757 200117043 806155506 891557235 13509152 955244035 989514100 819721371 838643621 334522219 918011215 906193475 941416229 5406764 858239599 819735844 841299682 982534928 835747569 921891761 268538568 946920752 979293945 897483575 881404077 300463853 804331317 825708764 847909094 284802241 848487823 921270517 861886860 786902258 825106348 814516384 308764635 959202330 34629148 986042915 816689191 941248702 959606585 916841887 843681173 991653507 839687079 870417513 931820382 877752828 857322374 984349453 342040772 839815571 952493919 840577576 800308937 196971366 805252294 954994940 991372106 789196528 848998356 904970957 901207011 992920411 249632261 193057216 841195758 799741159 52812928 812864655 0 861627885 63652635 786368791 790466212 854835530 76738998 788168837 990684848 969224438 152726484 990885361 983915852 812621708 883666173 815829139 852658807 851158489 910600037 923259557 807936502 924531643 833139764 276345361 7998152 799389512 958503520 985624523 -678053994 974765961 930068843 960516108 915735958 140402505 296270507 929682558 815333827 946284463 796510547 781132207 345442615 804174072 920520034 819976420 868060957 824645596 880387690 931865806 997045609 927622325 878830172 283822528 866533158 828341929 791281498 920472725 925226579 925390421 786872044 912896334 872261186 842301231 892949062 117901464 838636989 907849677 787494401 991282204 924545051 877961255 865465694 789413353 895790876 835168307 865794323 13925736 906466217 789873813 302874378 978460006 890648186 956929337 834148929 54194070 876773269 787096106 885953355 834312305 937215631 0 875226146 827100979 910368524 860166537 897439922 902846174 875439526 824705619 968217744 840695970 205905979 946385602 998645632 328271290 966209760 975919261 971107844 254791363 857941208 850055755 837677503 213913139 939016605 989680850 920938478 866252350 794107925 903688024 850182199 309980996 917584998 922363551 928518785 75420904 -447912060 64579329 -364239709 925424586 957333253 895618270 902616262 907574166 4657790 978824536 820489451 163968860 873789263 855567339 792112447 873026119 892325302 280021113 875462449 778346493 964078303 260853768 21840620 52039355 905549494 834653264 895441085 873956856 921729186 947451354 853128567 836688136 257402452 922132816 807095018 879970362 909900230 264616655 887364307 954134233 817038102 999673084 836668206 122181628 787897690 800995526 910782795 116251973 972039805 819065591 961449245 816755243 929643612 958935857 901422133 865457114 983418492 953774462 287557672 135748653 992496783 913531221 865746436 945854123 905720622 909220650 780929392 809496137 842898785 121170131 964088019 986532322 783176307 818108288 831502438 238529638 961623234 939191077 856090895 932335470 853202958 895921182 940063978 944488395 855794897 998028209 783948026 991499086 72705996 901114332 784905754 891670296 918226310 289152963 135403251 345285924 981049180 830754746 9871889 795527218 891974900 949956032 161516303 24275122 973924181 797253432 779484601 792181907 966105556 887770244 316201027 171588255 862275900 315961250 267237411 973019067 881090536 992917720 250827719 278964991 926715919 846264739 987063185 867350092 938697211 956563770 820402730 857450500 799460667 914676793 959091231 958354045 946399648 926043083 875707347 948854472 836002626 782039202 972292743 963352138 836458944 996779696 839036873 778845226 102727001 133634457 888266628 931064977 791534257 850459036 841515257 874313569 127612837 914113399 780384027 823429879 882552561 835042384 972896541 897460994 833426727 949216013 965960853 987335976 781482276 893825999 817407580 782281160 36512122 816286658 803118692 208767652 199999894 287847663 989454800 34896199 946436727 89204031 74755816 870492632 144417953 989868635 828599238 910185684 244963908 811013264 989704975 789022286 939970941 946710624 1695963 937306984 989749990 193205340 991791895 306514748 878892147 978822155 960949915 780442914 901760643 874938559 285254264 823044375 829899570 847399731 348882362 869342280 918213957 292368377 853723432 781625478 952092944 854806403 33956939 282491717 100302935 843339555 930008862 848671418 800210675 991858850 890504630 0 920724482 823683142 843404411 992301279 287064106 912231999 825821377 816750902 883648875 971445944 843013360 -562661170 963520312 60531901 145956184 953693660 87825167 924922929 116471330 6062941 41973248 256963871 892864624 789098690 280138564 973504620 976930820 828349782 938781579 943157294 906195449 845119650 953420789 799073326 924375401 988556651 326152400 268657071 937276889 992191799 790653777 184494879 854943823 844988247 893361622 331149728 935914688 944709861 139561555 782676329 221884346 830009279 885415690 801433773 804915087 802407160 871502325 68701157 908922600 855928335 944677684 291616509 928688978 921928538 985297984 808783734 869363037 42582057 799472129 996259686 927275267 822331569 8904997 929154185 791157335 804029659 934950987 810344941 997704776 827829895 972332753 787084952 971253178 813537787 918925697 275736131 974890435 971611454 831895147 896738052 216608614 957564093 861988092 965769316 846858339 50693557 806783842 950904494 141855924 904227711 999861592 892237164 977456248 976785885 968401781 855171594 332321966 233352802 955417262 888224391 901967883 816322107 316143886 920437253 841735681 918831366 244042818 953684899 952081251 314682576 897145235 816044391 993456910 976995525 977470728 934578164 905525327 23057880 108727171 851285218 809827034 48084085 919841174 995457533 840020622 936422764 56869521 945632658 341131288 996709860 871212341 815378425 869010681 935584698 799724686 927286458 268374564 927827544 320797610 950323847 267067286 823832614 815507334 881957191 954953309 246570804 809150031 779827408 915813235 909909499 954745328 937180316 859847573 867106890 927269641 49647165 968712155 999918975 341100097 994408075 -714357180 792103572 123425137 979276636 838470234 996302704 790276137 807019765 948907350 -503813066 841180075 885935489 951871320 835736016 843294366 841790095 786503248 808732188 874353585 862809716 877359001 981794404 226621227 964853984 225755812 810418676 831199317 835624406 849016746 138268007 920017637 205942476 62636875 968727478 999890380 250375142 958003727 123317830 96382322 994497509 930779041 23855076 987655405 988298629 854224383 136038556 913510538 784762483 882836479 952217764 980828098 916777611 984727391 232191024 976383193 795935894 935517386 915153871 990400440 80698161 966923142 924508822 781279329 987227100 828048424 932504434 953641359 994109464 790531821 861476257 992534236 972943717 919827077 862022151 902508608 97477909 886264061 120109525 894069896 910657924 788954141 236525122 907078093 943427363 904330691 834935591 832956873 992518625 847345662 896325577 963234961 0 797496049 786852959 845066833 872782691 919083176 26707207 895920128 883761367 167712455 911333864 960112554 333356614 317218536 982354332 14380545 930232117 792316740 4839610 941173687 929279882 857627798 133487581 794725262 852958911 94524826 313048733 974843632 887432678 804965408 872896432 819942707 956080566 955630557 952702289 842256799 974050656 188145149 953332829 800564806 807555407 993880853 934180616 45232691 839937465 986965982 964976910 80897956 900258153 316705252 800361181 888343266 868671417 35396044 952398008 836319215 938123935 830943324 965447128 929235210 832734132 936288203 927611496 988072946 348696521 955024807 787510421 44215343 312297456 990586511 801537037 908692727 883037532 49891611 981351725 939912766 782404878 121014778 913814406 38468780 868167493 996723540 870110266 794025124 819932760 927040749 129561840 924489836 857224322 803212884 827593487 887460670 920910738 832744144 884062033 948078911 961159586 797495447 213136432 850559821 816662479 861839808 320090257 866430909 993046509 879262374 779116605 805518785 794900013 867790308 853441713 174909638 889006246 821330070 206402043 930076436 850086016 961509127 865788118 138560171 816285171 190834057 983811217 840110958 985132543 862438797 882682553 942631038 929547282 929658502 791973614 983377780 962854527 809887461 914685214 910939773 917968094 987137788 822293905 874610458 841512029 783451467 91466000 903901378 798777074 911536258 885607716 823393146 869693866 804724552 6474432 6809282 838607295 849409525 979222404 857326641 984515485 850830257 878728192 862442773 967957717 924669758 920339414 987835539 969638375 985391733 982856493 968842791 977715011 999809178 884224140 106772722 260858360 -622367380 833280990 843225347 963222784 817435071 931099937 810883702 159246366 866176495 903201154 806192568 851316425 823347114 951688181 915208969 923038887 883005649 792549480 959520999 337821732 804230953 892305716 342229344 786425454 850912773 876663227 786375604 965395377 926840942 867705980 949233339 904724106 953681007 992098189 828697647 0 864656209 960105932 965201650 836371041 960728245 992980349 814284451 808045677 224741782 976716664 845291142 192644092 821694418 817489514 883855006 260121499 779696768 840501869 892751558 783095362 871088994 951090802 962674768 332252981 239482697 874672876 932759468 962740117 872844091 921075871 786841637 893054708 870263692 117056516 247129744 892217647 971208437 844085509 -550262393 992037049 820666321 856276221 94763045 883764355 933013697 349743433 820797337 851138270 974027811 916060880 886919820 858294205 993909161 312830663 800610623 894454218 801134231 794400447 800942023 780934400 817289968 944323420 931160609 836146501 921302157 859131728 872058203 101945887 987950863 995225389 817398992 0 955570416 857887459 880161179 834401664 778292403 901892858 964859137 874637205 886963924 978066483 250730976 792951888 297349726 890611588 937923358 833933431 780277871 84762488 346537734 206227646 985573876 980512725 307271284 153495989 903805827 885201384 829996423 861360590 899711512 927586051 957198898 965978444 816627540 914698459 183556084 989175967 910646922 320531672 35796415 225767549 333167781 934017062 989951417 840666419 815561856 901281692 875200454 993925837 59160495 971649312 292481138 943039888 854809073 971030323 74244841 850277490 930224981 287847969 971330801 956582697 844327445 997663795 792176674 840468380 873370288 937700984 950918350 920389624 90870257 873303411 853269369 830794388 783954807 872078864 936762381 874646546 940478927 12417661 989793849 144410872 913491481 977908735 945594530 843744401 966633302 861602691 993400659 175794080 887269778 75655970 800613419 88735580 916245914 974635204 897910342 960388798 781280065 935520622 241225024 859751374 879727078 993932831 934049701 811160198 796252257 792408107 -740753628 883314014 922536020 922045523 792650963 902734935 840860694 847345671 846404032 907348093 923654627 873557424 967585687 806396978 812784695 784149537 997983869 785978448 983708726 822424607 867415526 98689568 899289952 238509645 793108114 782010729 910884040 277514911 858358945 906964923 849477664 880134037 841705169 929666551 859958122 856200512 832832364 826603617 870857777 829518451 963442213 903562428 840935989 925215935 968664538 939286956 927327413 966806864 807835360 795432342 847956452 144827079 784442676 846479999 934777147 894588551 986375168 890349516 343441607 818447868 894341218 792628995 805875618 984125888 805237125 836237603 818535102 877192957 804493391 812310286 853056645 117481303 808178912 822318243 881681984 849159534 980573965 138865953 871096613 46554581 916094051 984174201 798900146 821663745 891948618 3461045 337884486 934903115 828175987 926049298 957907862 961213540 925442801 850270545 968896405 987504922 959390703 898327668 938653245 812288926 980978113 910892683 993177626 130793750 994654175 906920402 911236918 35301100 243955510 913250582 860999148 996962848 933298512 856763538 861162235 947210817 892122349 820106225 191876858 996008688 790881272 906780307 797832299 891614437 853841681 92175171 932375109 793033138 974286584 939595144 962763871 331629958 841723279 843068427 18532622 52075134 880749281 936723684 204509127 979318359 800278213 106203091 890202327 322563931 791557809 811939778 967037907 889714820 903768261 847243566 902898051 881035633 242611433 816847627 842431774 926084730 783664235 966117833 804799997 798592133 895364710 917092381 812924957 896378202 844028755 907098310 41705890 260153587 940653850 793012299 951290423 885550921 865005487 884999662 828326418 815941338 948044369 807342746 -730517635 995849560 993089587 964023840 943402682 964777700 830563466 916347752 867349782 294363740 856245668 826751788 814384170 821766711 844795039 781415831 790482876 888010550 910612982 938476455 977748555 901594421 177552832 783116853 866161945 818467006 814451173 829403975 339238414 976144495 924286796 799571553 926496214 924020321 4810801 810273078 229418867 939375656 942022934 812728369 200243978 971541880 786658516 896432092 810964383 844999452 926625937 977787388 187643013 264762639 787582142 975809510 812779572 957337489 282185691 818462407 930607441 937533998 807066821 976202434 316559233 944104421 842043186 917904568 814941610 883227446 110198508 266358225 803289408 915473009 918280710 832770363 910112630 911206450 299112283 813059530 925918178 925286313 836388662 996382771 803766275 62261445 900517545 148082615 796813113 996047989 294915811 860400140 851076425 864104195 312033655 880073246 853665965 858063142 827309863 972985368 940789710 842398278 902584005 835822228 909791462 794913955 799235639 892304603 45392480 902953093 849376421 858333647 968284721 942651944 911031182 846966779 275070554 803771788 982148822 880495690 940725576 334368578 822725425 788163842 969405496 135821474 794393120 263844341 789246074 879560118 897427432 285179298 966837709 873687743 915438670 913872490 924217228 899395932 141569406 778744789 809715358 987668738 975314123 858990946 998135135 843965467 809581027 873370326 -621569518 934262945 891150786 834832883 5038225 930335313 992529467 984485477 944680676 934522999 966958543 967259294 981351859 948737637 330559973 831097840 228314905 144013408 911120664 874737442 934488772 77069725 891254862 894765704 868738971 878620828 821850647 317575603 816993764 182400075 826589195 781752548 883849209 185216218 948028813 883901549 805411629 997893533 984236974 233908884 83680478 975646319 870630741 821777541 215178135 995933756 897467884 50194485 961762359 837968318 990773234 117895587 803000430 952528754 791799206 170111628 798011154 949269286 858959668 904785949 891071250 882230244 330674988 972991158 941533669 917827918 144909975 975333031 0 59793139 796660134 883983597 796684513 875427963 879291375 198578549 915673364 788856055 802126333 858459757 221069810 898189843 257488487 994920151 866894708 872280639 842796152 272986403 933440547 976419544 922245992 850271391 839007439 786122520 948843291 111796159 845091295 941985368 882304923 908156326 984735358 887432693 882302568 25058739 819029194 322153158 990115499 57075305 913045148 780598221 822409918 958667649 785024350 300947205 783084444 11603107 874863088 930810108 869270628 890843201 889795809 266719330 779376021 327874316 987012623 336398901 934788671 965884997 -377227448 325281676 821792880 970956513 872817608 181777355 922506431 839556829 923333922 957847256 903483088 824127172 978266932 853800149 250490313 930505783 19954965 337865407 933436700 244225175 902753481 965796358 109157995 117291700 792015519 865002560 346557328 944889348 94941107 831253402 930035008 282236189 970569009 876039645 960144381 33947621 782938260 786532852 779035185 962036052 961158096 975888848 964965261 793024825 269180976 122592973 284263252 784457480 936915984 966657160 886197361 969867666 910217372 836259592 809534354 968018633 863199016 871497565 910028623 933614931 904713093 930532733 867105242 872343073 787260191 142926856 795032447 855730636 882041100 959033611 938837226 164600456 854574428 43608435 842520944 894933152 889701084 918528534 858171586 959413875 979498607 881620862 990295540 836378630 881728943 938524089 979895017 855415170 19110262 878386012 784000646 262323354 338988171 292728219 790277574 1728126 918517050 900838611 785459643 799029414 888368254 877606682 997496187 881131566 853562658 814471605 956040619 825893511 911783649 880548590 881844846 82704536 926464966 974025711 999977969 962017096 285287050 909897266 863166191 0 886933644 819859630 131876175 294307171 52455689 185480895 869528478 862823678 779686104 987622650 841877634 802587828 849526115 886060142 951498579 158510473 892580413 842844611 921451895 942404812 916275930 783550048 779982300 957878696 892265065 920514171 900734680 92657497 873792191 995759718 841466549 999131673 938179371 801087328 952139067 989855209 920019695 -592740982 957590362 888668915 898002881 788958980 850557176 294664668 809301510 211868211 879127594 848832241 817625742 908527823 906429242 934153923 845744565 952215934 798755046 910573200 929103025 926440887 9917868 272726335 61174576 869020263 36388279 871883505 866782598 243733358 896201331 972052412 990153490 794604158 790929987 798659466 796037665 847253302 817320746 164497941 890031925 928208236 927092956 826554879 34188657 888318784 928265234 35430201 961559448 859097780 45399497 336916878 948239876 786030490 782430918 963116909 62654515 858487355 998677005 289677029 830005421 290545740 311814366 790585880 5124960 926896295 877500148 779637370 902038565 980469081 250404234 978410349 838628822 11905025 889486979 2764224 993209094 909707027 981310269 952221828 68929280 167701651 985283107 955330106 898641452 92588129 844762098 338523992 905784103 345323434 893928686 854560507 973510463 920800023 996684256 0 896477677 981284525 878036219 873890712 871365970 994417044 785272003 964786924 858531029 884802595 302474784 863889281 982410639 907169944 951545839 892005285 998343533 965566814 302666719 984893587 838964632 312676280 830527738 301165508 167935615 887226823 158339659 238051569 906550740 847783533 92219407 906513110 947515111 953741033 871363110 17115405 919309872 994387195 868215319 213779243 926406481 974446961 349113018 934358339 780980033 942865901 942696795 996086211 950066385 935699881 242637780 813254966 973179524 971979203 867018165 909129013 994201763 8419809 977498178 341153074 788176461 808001242 895313894 898083668 978354557 68703622 879965379 946356942 909159364 918088891 985908113 780026582 841765184 987360475 942584280 915810736 801952799 1800493 918659131 51882390 873986956 852891024 790486299 925834308 965113945 902831768 160900895 788513443 338451063 874103652 907514006 876224941 951573449 847890825 789083404 855220847 946531997 959967938 140151361 963396635 319813428 812750448 806141797 43627335 48982208 934223322 823701312 988019135 80734966 980082334 996923030 338828016 974326445 968815581 917305602 338460160 930453707 236206022 127211597 929901942 984216139 129031080 173652937 961317634 978334023 924593733 979866721 968799240 166177006 982774420 20056198 74298417 852435324 135179574 825679602 876241968 952059292 197844325 298886755 947454270 890981573 869179818 977469571 819372866 876690619 992178098 847254606 252573091 964467470 57738102 839581982 841340311 995847894 790814054 943521719 890542379 941453329 944342266 892042726 985636554 806845880 342850862 78888461 820982595 864065900 957361811 850713000 303940064 926954454 827114870 858560997 905439204 898753594 883461096 301315429 866847164 942350126 947616061 950192088 950694026 800654508 952396507 998703652 963348003 792432955 798104177 875780232 841315154 860654195 784736076 324021934 86239423 980322565 956742373 986815988 907770242 820123203 248693172 343654748 826961364 928175647 63069206 217620897 848684025 980222005 903862285 979576949 965893069 979734339 800478955 818780751 870266044 949056752 843745213 974887130 916495889 998855701 989973984 944235676 987310769 923107966 782590148 951392095 839139405 55903793 925714112 937428091 946294908 783216395 819098680 819109984 800555526 854282322 967075677 0 955365765 803931956 930636166 908638706 938515398 902042317 898733150 67659999 86296607 953837104 849856782 190417900 20232382 792499572 827421280 866272823 971328030 95568877 850953539 850593626 855707264 969165409 320183794 846142667 865663989 952001181 911319657 873447778 872489313 817177388 893985612 936232536 915661359 961194285 314343356 68771673 991247518 976851142 978293368 232350647 89511296 883625358 813525253 283753080 161990272 897434340 321840081 0 800802429 841510679 967229998 884745418 870214672 976832379 900475744 804363469 932808783 847832511 970140743 25016097 935174552 830220441 903352084 975991404 990948993 982010512 942690405 159066663 779567102 926219038 807225416 991352348 894136900 886685639 170404754 971745505 818549484 908808649 112733876 803461474 787873884 831363757 877811020 955701238 912696382 823529071 945010446 958867922 900756833 974916115 938134363 923366010 967656687 829326774 782897442 176234528 862563734 974429668 53437516 857227554 880195768 955840682 785172175 -455677702 839689300 977328703 841968285 874408176 960979541 858771201 811414495 959016388 106048474 838095022 948023952 930766744 786161545 225459572 846373543 347238928 861329741 17692136 996447890 860403394 992877643 852617877 131611257 812199404 792187012 885688511 101710427 854350299 873963008 994192546 818477357 17189034 0 971744544 812162228 929750538 990088316 876098037 956072451 830746492 807971339 297357388 848196971 905528787 108851309 990862544 810288816 0 0 904975465 946908470 977125265 816875643 898923839 197581176 28610288 23669129 815917576 798663725 831090466 124665716 306006971 951006077 985538238 978616346 894962044 928306649 861179378 923531277 787074879 857166044 798137240 52460070 152877285 965182124 819883612 916275329 189102694 928148914 996276158 842312313 863944074 831159304 950663113 815667748 133471592 996830661 991175274 977478315 852805060 155732970 811065409 845894320 853769904 789382964 868902379 851123940 998162177 929105480 887771232 267585880 825845303 316907428 124927570 -488623617 193397756 825337995 25140363 864743723 869050536 262104656 925707051 308590026 223454248 923184276 8975896 828283452 832243543 984292566 304886758 224090318 904779433 890587327 130660327 903043620 851307588 936709041 972282903 926980469 899623079 927819448 837960375 944841407 42422821 84626046 30260366 855140540 870345132 44858739 951763357 960251255 971141073 904161689 968446694 990248051 930392394 48699311 785093219 789043483 799391843 964974875 937674342 162897693 853320959 69057190 862919730 819767017 333559331 894042486 944442016 778517087 991942826 910436878 968166708 943342727 921394113 967644701 842785392 883918442 65225906 814466279 864023953 936500764 784551861 884351488 265127664 936625618 988978005 788016549 882749718 910179997 985447775 929139089 140903353 814798978 854125101 329981202 65991954 829342490 899005783 834540773 976367866 855256507 892946253 73809586 939594462 296192599 19119018 949994927 4601418 798857199 181260228 854769567 937788014 996770967 879924642 945800190 827375855 907003487 160414354 301664096 296686756 859839714 861309462 974170153 789067038 325387623 298861751 995122949 992596435 938668434 904354595 11686621 787750058 924120009 97873360 815853265 973755557 995364643 988963138 977279859 826233693 852768423 996516542 974239304 816937286 886425810 874895390 851881346 950626037 840276004 10209323 930079395 892972763 944174506 849003126 865811689 915990406 285247568 856448086 783978016 977948624 842848556 204929874 883326614 886488134 930589052 157721551 878754312 862113240 878156309 178718335 847417634 993618361 248302134 837228666 801348167 156678294 889763465 946989020 826058937 0 301142467 833787335 978825564 136805702 794715179 879781106 912631164 873229384 937562603 814524317 874767054 898785748 843435447 841746148 903666723 808854984 798129472 64847971 969120222 287461587 840757186 -660201123 791727707 778433343 906273571 977156218 189807454 0 887941525 986526431 896063197 882986230 792099655 884106843 931510820 950773921 952290117 945572350 70308329 978397059 831769386 31851729 901187062 917311616 153044543 872414936 898001129 982798320 900094513 778305139 836783105 923999873 947634184 842514120 112060057 970490718 972018253 805829635 910965529 866581801 861014955 263780086 105862119 867500485 788265851 918031300 941258771 934260796 817809623 899994157 999115683 925091766 960896049 265966663 893398404 870605628 888856090 830707748 819304445 890935784 192302242 819410581 994898361 839482861 246162764 844291117 882583718 919273595 198092615 818197561 913138024 153665264 347182593 274251645 781813400 885261458 26292947 907894860 912897150 939726060 922316690 934319348 159173283 970379141 908248197 788085546 216809217 928047783 981463245 957124432 214864201 926741581 825006895 812145630 980290581 877423839 76391251 996958680 30458226 948838217 866524568 942192019 806888293 887318586 934333384 888470316 228615259 263994669 299371956 121540346 221146614 978163593 862735087 933116827 38999233 856373043 984734457 920649011 834022722 818222054 10958640 845743565 967036619 897200054 779362955 855157770 782466112 868480798 910757727 66939232 965594297 218532581 950007449 800555663 970526570 991374246 160729447 808045075 799549841 975642934 293954625 928452631 808557818 967053347 340515695 966010711 54455778 788883127 934104537 786489750 106867704 943677122 854187836 923360354 109463788 142016894 953210934 873524697 862253958 944331896 959961085 835431039 779327124 851178120 933573562 876113092 872910093 803731635 172589569 891531522 834443320 188466394 304690336 928139465 926091563 900641873 925440832 817142498 898743303 807109975 819529507 842584103 906733641 975385635 866644580 98683259 987508102 879442119 875846427 916850750 803850620 865716980 326431621 910304496 788476994 932869207 913544429 852437191 870724263 904984969 323957723 905798965 7156166 855081752 952086065 900872198 263636257 882361928 987380254 196246109 150132452 95125625 989595564 866275053 -574779794 923267105 808635133 789390826 906030563 842742071 885813214 782429607 238358668 896336914 860122440 820053816 254136416 996200197 34411190 932100912 798154168 804430181 844686565 914974768 993330626 197426993 973265312 803234158 868331803 988644696 928668009 784961207 818324165 953205973 795808513 852223376 942668690 985832836 929312355 906179463 798907800 832644987 154526673 829214730 998599930 951848484 94622482 943383463 928876635 786526149 973068994 11384800 870574752 987521554 975485216 820453581 946024701 931240518 951664762 974938954 971865298 789471576 925435324 885020035 857428584 999385860 802668071 832120197 249644145 798410265 967352615 860251015 817387008 847115294 261174342 850636150 814987929 943953649 958411276 835358174 858491566 879581023 944811754 901628463 28607329 864642968 793438416 812032466 810226588 290385270 84593298 820389899 885123452 845528619 959189511 854367101 805904235 123237179 925938853 80909384 270481292 965407798 960776707 184421152 834331200 971546137 981232952 898250706 889358386 953070979 995746538 302545234 173003951 219906240 842216062 920161728 288843330 783903908 902693446 827172514 865886924 211649240 903415063 916359047 832614605 148814483 946951438 970616582 45732244 208739635 343717229 897591585 995759097 888451315 794379993 936595020 881174259 956578324 868078282 168907277 941345569 922898622 168823386 992486949 974277485 149174651 822330480 911771199 960323901 779700905 308791530 789677868 952330364 856672979 800282348 181602950 860231548 972790508 800378507 140590876 979210810 921066232 7868003 866757036 139999043 784055325 812601978 902034075 852997546 818566383 192160186 976338276 301222080 991766515 832901870 825984477 44006616 973668560 338397695 842535500 844491596 215362113 832935375 825371178 836346061 874498060 925648524 832990242 937629176 970307537 789573488 921863312 867637270 917829359 791847019 60993503 942139383 813757161 991657407 987631193 978291709 899620996 959630290 865596435 64860752 805578858 65200527 982753032 826476718 313879062 99058338 974832502 283134928 983470126 798825483 970931095 790367714 826915853 989542230 794186733 783682410 810268856 944227956 791763335 779308179 870819660 825845374 889526892 934408198 855211285 991790479 970268542 949281603 952688474 879507958 271965469 903714405 999403171 868244660 946448989 802143177 793092907 973944132 853812849 930409927 892229578 901811534 925381085 845520473 849589479 879737221 95217723 970490337 961057548 852198440 44849731 867589393 842494085 850192495 0 860228366 783463075 853381940 -554945638 198421218 987479292 29946385 800219648 886696723 128537540 0 866421358 858604393 800690927 802060940 850088434 953404488 833079027 832072302 103680313 971007842 784896761 979474079 930362579 0 803939041 781955498 899230589 819698636 904292196 822432949 785815993 837422360 290606987 943693844 897646557 802450196 307947846 918316088 -773914886 946508975 922650872 818389837 334911344 815908357 977624588 986479088 965217043 341995259 820475559 941113524 809051548 82392900 879190650 934042415 881239115 781969857 887067823 951620718 889938835 924835547 900070520 889027530 907314041 905685686 865335888 883708195 870229751 832495229 918577639 65683270 861868426 857371856 900741206 989227432 182156334 787896402 958383694 869829031 123248978 969398842 319684754 810597634 175553297 814199806 838829613 285307790 806545665 318251162 892232667 830054042 980306868 824453240 896115144 886771809 269925411 995036546 346813267 901881388 801861216 251432420 831313303 127641491 28467297 837252446 976815643 910881882 819750338 790364041 982806568 897723773 313600670 813992552 882060924 890382758 953342560 805469686 845900133 918197486 973504977 935696450 825440341 865301996 834785183 918532716 0 909028832 795920888 289446845 781650525 877541812 956000552 68532478 790034835 962834749 921589136 305314315 305651319 904911323 181941969 868625748 947644405 903828451 885550827 997402063 881374889 875948955 858562248 911629594 265712036 908750148 912133665 868872622 343498782 973739678 832144286 791500625 813611382 885441605 302346982 190190200 916987195 808774089 868426451 979191386 946763685 851050919 938663324 309182366 249075728 783547765 174067972 784786442 874938730 828248163 810555362 935337933 37836578 225971448 31389588 861647759 835327106 827787224 991284046 917616174 982283444 838364338 329972342 963425030 910026671 62984855 840009138 879127867 848105539 894729633 908280714 937976549 911165576 836498316 961892043 970061649 959549519 804355353 783172754 931003148 188202884 844791949 786396804 845043917 930697680 133766277 936528581 984381361 817079325 881344479 798792270 939257286 794179748 933027326 844309141 809717666 933583921 866088157 904157398 917206312 172998527 930036100 831139044 967161486 971046622 894413824 885996950 900322285 970279726 868807982 989808048 881175463 946712686 805501246 825165004 74799248 802593521 930009237 796610347 16426860 963816720 789270742 810055074 144340816 829841129 810385647 933046402 921457058 832313407 983071701 87480724 936440203 807250388 228696357 976263261 876680489 46589157 861346880 130867590 900789843 866112658 229690447 975967974 901801428 938976575 960420851 291745253 853026333 837724194 842804909 852341362 228988216 870477853 913658289 899095169 240042338 884927779 820463022 829546432 959443228 74664681 986756870 789442111 188462114 196663086 904064950 822991286 213707201 793179701 39446166 787686118 158122596 818298750 282317228 837780704 80136159 825992746 981684145 915242988 963176054 133699512 819609265 941590631 869858791 265712586 220780330 828522659 992497000 838748681 801851684 821535353 828715923 924406141 107420175 117998499 182233526 0 828581586 836925689 230650690 974404664 837132105 821940219 881408586 99460973 16564320 981330310 934728907 829324981 940998426 825771145 902189465 848491862 887390570 794842692 75338662 892127402 837224919 931900306 807075306 945490709 253379831 18389941 259700542 935804423 961892018 956443675 24423773 954808449 881926552 888532830 921803440 898848088 955082629 928029473 812902030 890865291 -376062235 802124309 825585686 791630013 920509422 944597126 848832456 939605180 850267653 895153598 838490909 834277569 987270987 329217329 794399662 960665195 816929434 894197552 939789051 880673584 823811204 819930038 190192745 814011584 926160713 942185264 971325882 893385559 912531109 921774688 127216927 31536232 849053126 26307272 789380255 837292066 809625852 997776849 991085658 821730253 274853861 903835259 257819330 231909619 929325883 905530240 848555701 843059328 250674106 879977722 131851108 218507989 894551988 954718086 936243198 786737505 804554187 230458258 833479948 939722937 14208534 958277802 930907457 844148595 211087735 852571752 908081830 928692973 981487818 937920129 936884104 792746175 910356575 976972638 801208055 855860503 97278486 115014335 200026268 800677116 893066980 919421243 908475202 926211095 898076579 883631618 184171954 843486321 878288529 971065599 937461201 884061427 228189339 839859924 851313489 1268598 839193000 246025095 971086605 907123087 821678104 226348665 830188629 268243135 289243574 939123550 950193547 920315648 833798297 880161647 930435674 836216169 867200130 885700023 827272117 832773843 259729695 -376319187 821923404 805195708 836147897 898197071 804477253 860750514 854047934 994045213 837986578 853432134 866942684 878359766 201831594 792959334 904073174 997487394 299897870 846239095 913649100 933275888 82489366 829683358 813144403 972776113 839560707 895781101 972707869 785351231 960084315 285320172 924259946 344808502 953980181 803879505 883370123 909552865 947262667 301497676 804578380 987541420 833170544 779695522 912334130 912086077 959298461 887048424 911895905 864561918 888203717 123923009 160990602 831758556 919719274 846357220 793932511 825949685 881784693 991297546 835229251 786899227 227387641 833942440 928759303 870163240 816526324 887623392 263120970 903432163 952640813 910284683 874761274 967432648 270282260 997466134 49109128 958755003 898511328 791873409 851544656 295001395 889398381 836572509 828682479 877136990 984711533 781162694 880245269 828388002 817482864 878726225 242790922 337677426 269974712 929857494 790332629 786174854 85141111 290245678 900529832 785979477 820373347 25462681 38905074 778594065 955114368 829286930 958459502 815376805 928873492 138621320 290327862 785300325 980172073 884825467 932579726 823684352 123722550 874615062 885603770 854272053 296734431 967462955 958721241 806126354 790301984 900288424 849059565 958921677 927604304 990448515 797321182 39984404 75812475 821555566 875715050 261696974 885743240 818624638 956405430 963421400 808929630 882382304 959548738 783006139 876016918 886604627 854726127 855027682 885940199 779122585 888239953 118406526 802022753 342615724 983591835 934625261 788862610 876406269 793063747 807418253 812472202 304685912 43113085 825454330 211732787 790862052 779690731 801260181 979240997 234332142 837422352 818197679 269221390 938725949 778245489 168792987 794527242 959260765 107526487 790973450 826183848 927750772 880237405 906818996 914535992 873468857 955754546 835629651 340451219 838943262 881306412 55104830 848025443 946663215 945727856 980131018 792533335 869615982 812000474 926495308 117895139 990866738 798566979 970065734 831569595 144438578 911059945 962697126 916149068 955577938 946340047 791824453 878462060 984233243 945747011 805961390 941301670 964847517 997536535 976417132 948801116 971015462 926559686 792153727 992103688 73064496 861091786 871736698 876649047 937924525 964374311 202388041 887632218 868042735 825358384 942071816 980374773 814813502 872150808 853433690 963446265 950262088 803615819 906620470 864099622 785286271 807432994 889380136 939225990 941285743 787712562 785362506 840472945 803046288 801785006 807022321 -743835945 832618020 937927951 208087740 934570808 826172570 882276378 802282766 919132684 870304382 944416619 26747119 122653274 812683896 797786226 941934496 914872133 845915388 272067830 981654932 972346291 827595315 947060742 802652469 265991517 832992794 990198500 783933934 950896125 909910858 -397782234 162407977 971494520 780623237 800379089 841066557 894688436 253029154 878960087 941808256 857255032 783837570 981415474 915103653 907876413 970149046 71188729 804004270 957018989 837889659 822392582 784001490 837465306 912401707 796006026 795568367 930394760 145657583 902335752 150103673 974033606 928369360 886717789 954255869 793550575 825285660 969395414 954309182 783229611 885995794 862374883 991443056 109787242 869100720 880163001 971543363 827623057 204156166 869329766 840613451 62979223 822312973 889630081 183170088 825887086 886757723 799528919 929258873 96737511 844622848 869526307 890518479 997578222 931727008 893028313 885422541 133722500 807270372 248201662 4422108 35438191 962077950 867620446 857093417 937417880 -557648600 930359337 955553246 841832329 115790451 895678039 853174974 808552656 798949357 13604530 985965539 896317485 836865340 997696700 74379377 201138078 820258845 985756166 328481503 817183131 937577673 867295012 991772007 988770311 961709449 945514939 803206947 783405951 945461679 862700711 794549332 826637967 961432698 931960510 812639813 851621319 980837884 780118634 815555110 891394420 887616513 870710839 812016164 780966699 910782868 957243413 888887331 846477961 936507179 190411949 932680115 881696405 852274377 16477013 985779709 38749659 953139283 911934831 999796567 233293472 939526306 875294876 985099027 869296481 975859701 995021363 874816707 836428530 816964025 832843165 826544938 932984693 893033327 979064815 925036896 934982855 9796389 911363355 868219693 781195626 874077676 814714015 833450519 238554872 911736259 946760237 906832260 985895175 951258156 854816782 979307130 339856383 820080655 812447344 871150752 981485810 884740231 907994852 314960165 299666824 840278492 896609463 856390502 995508198 206537424 984989676 884502839 3240307 335279192 144421732 872530863 896774389 967216573 826276754 45530063 847788376 941741211 893743244 979172137 786145015 952930705 988452312 868221383 934459342 811273227 833809322 915045697 783579273 951795953 873169650 108646039 992531454 789702709 96317900 922256731 986213497 992631620 790453851 783421809 997520512 877334529 920694748 894919092 828232371 852922512 927088586 869532937 876688018 967703372 888725635 974224899 172588508 806192219 858157307 924953513 17097560 903291020 786961085 816167511 94606063 893847842 153306510 985017855 871702806 996921926 831271634 864358034 887682114 952127793 970408560 944671512 842998628 828475050 334771191 309080951 836744416 863776229 967751302 782858039 829153765 886568639 156453219 838849678 258307066 901701068 213876574 852045688 854353697 897865127 890388927 962753978 872964527 118134534 991163381 783751453 867821500 848091022 793643432 870103690 64498020 919545796 983601711 840351303 802250098 919827544 906308452 892956617 162448592 215187628 862555655 853706138 912521257 870869444 908205962 908582216 861219205 225446263 782251888 68945624 873137038 219272693 852851284 857028024 792886136 831564912 875323314 836126250 817516077 853995168 972050761 942373882 797291274 806128947 822304459 160040051 915821142 943553133 811091279 916391479 923578192 876007480 780954760 825468444 77614855 341508736 949853792 341840718 884241992 29658552 820424714 920605348 303322441 927371153 120948725 802106590 957447043 811161747 292076537 327501961 821665412 832307514 857809536 963022804 996593916 869734054 939356978 930001892 910864021 72044904 945836757 990684190 973213384 798225580 961917381 926135810 947520770 923898234 978260218 342516292 919806103 973234374 966731324 787277632 925391226 906123069 997112620 895357444 948012481 916859418 185577221 843658807 969533911 803105122 0 231235880 827689701 886137402 933963192 969938779 974499880 998621042 49824801 984975079 886797878 822407987 875867028 917036599 991338571 943782304 853694115 807875973 911957290 826270002 828913413 868932457 950936570 971223694 975985610 990473201 872351969 337413192 880033781 91104931 196827197 868234889 909090381 307200477 935614221 982986251 939381983 999142047 801963340 897113154 946687512 328554345 796680347 868998544 164137633 968378687 252492510 306981891 953901085 115893273 961802440 818844829 928426809 872974977 71602893 780561905 896216389 972718449 992661783 895856864 806457507 152964706 204391323 985559490 954481182 331081614 67792756 77086609 805025166 867136969 918346979 271454193 849505330 221043346 322630550 836717503 807391902 888795325 840842679 258862836 852003422 804648387 935965858 974197769 853785236 991136241 925872709 950698588 880736013 328546384 901906589 829699559 794566655 908587699 947490694 948035058 887696263 185459339 894480646 975516770 789446335 979529358 782947382 939764521 819539720 816448475 925896499 967578902 782501084 902210154 22482777 808136903 39331939 822016794 782820020 816370026 838205532 876182202 15774123 991004947 863801872 828861312 114043554 164380601 866781353 809153548 905139259 260150535 854903340 258167676 809610802 974192433 997073730 246535922 325771652 779369967 855575341 936133601 344789870 921898478 944395585 896972007 786888241 -609554817 797638704 190133582 921364949 986805005 862875054 203871372 90814455 972198675 809672843 981516470 94161940 834548087 893323722 930995012 921774439 228537250 805079544 916974907 842366837 984110403 917689069 309864439 794047364 204692410 220737268 856175991 273687155 172005193 936482250 960864795 881267899 828118340 947577091 145673181 167462396 173337235 970755166 963395672 832832210 885213959 0 943014151 861343893 973923766 0 821905841 856626462 852053823 279856204 964059882 927795004 814148568 959904733 975772346 924962751 862808327 874093483 239165282 -620604196 970585623 918380728 987837639 996319536 876470809 230216297 986249935 959121928 979088638 790341720 957438145 937576375 907801279 902515311 865718667 250793179 926089121 925133078 977305144 840787288 932439475 800855448 986273951 895793476 876168268 800373955 784518980 907043122 854546631 983540210 844785261 788587106 854447745 942459458 207406145 978386216 92377824 846042581 934074116 884842304 785902183 862180188 990617954 960549781 127494698 813047395 304513475 851426907 937373090 853781422 980000888 851512396 849244722 914550240 783770114 947154750 889192394 152475536 965398525 803664950 866381767 905089920 977130874 820159634 801773243 909057760 314804347 985499667 868609863 896663264 785515075 791067838 904223272 917984910 934117989 819337435 789742569 829169197 952790677 894134912 968320806 899905327 885065386 185825733 258385364 53751147 808902860 835869633 32000652 814345457 939825919 811156534 859627369 892562094 139135493 832822533 799828560 139005825 910730180 826420303 866633654 982125011 871920658 791045898 970645480 871960226 229341053 961313900 327756001 106927951 928827082 843243409 837698205 945946511 74636296 173725191 902820179 878918175 987040335 830358638 853185870 865298353 207882659 911338319 788315328 73689524 142266369 882022455 270033241 271557825 188860879 903329738 -702405093 855064727 780245224 983911379 259253492 264277212 946493354 858721309 791661385 830728959 991150130 101917196 885434354 949117250 342286276 230807944 985068831 891657664 878370949 814567494 935577123 913983531 29086651 73115900 991868718 976801671 966764024 2359486 983978858 217609425 48367950 994881442 968717224 813082499 803208375 810901559 995084359 939876264 810520199 942218688 308015899 942123389 331754873 914366846 194025721 900803658 912342079 963783553 117547533 859592834 1085237 821505285 5970234 788954279 967539849 825229180 936102966 827960888 980750946 921551061 59036191 855711098 993088256 854993450 943814358 801175200 272854316 186703892 827417526 931564500 960345098 198919760 781885534 78448164 906990993 28301475 925530149 787365887 229098833 984395882 30691261 986638006 977472692 990056549 844628657 912435985 847512309 952499659 886202082 291649646 990326510 791342036 985825186 974521361 996460561 910587445 0 270008567 965881384 904970532 868994803 952144803 999736058 834854653 944958030 960647745 913675026 895744153 86740546 797175067 828617472 996918637 987980318 979888071 930060349 822605525 89081401 812756074 159276881 983260194 802435015 119073091 106977844 837826191 914024299 890736642 175712360 853081425 818332543 915854744 794826281 837471043 0 974433353 879458208 972112333 117321894 902709907 981893177 952867341 806376726 914461203 145365879 942211765 142989811 887716462 340127408 951659997 236078549 834629687 181144914 937107200 992416438 237400380 967838919 900695163 337176206 913784840 909479480 875854939 891634146 959007019 904840892 867113626 978527685 817316418 825302684 934213720 868959350 188740083 846383465 925855326 884112096 990659580 925389584 801914103 923096330 901482290 913043911 139854320 826602198 965315283 860664214 976512063 819759950 853198320 67376567 987491200 870538300 860814669 789667648 926258021 800746615 778676297 831826906 941770036 834316621 815332372 796434302 872283254 859604787 135942090 953471392 299278822 947188575 830470284 927891378 991558066 813937233 978420680 982346943 782435135 267444666 934864483 933332990 837681102 83327869 9781131 140227421 189453923 786499436 927737341 291690916 896440488 929574626 49831710 804631539 832070829 963870305 825724593 953001183 782108460 820768489 929199570 987973867 798445573 796711491 890594839 873345982 882358174 864292496 822576028 933559726 873916613 840712157 925467293 899675452 801851439 853120482 818191231 913407450 911338194 927491637 255657126 843132293 173781049 963176366 61410851 924366348 995109328 807442198 975949156 836537539 105697166 894527464 952428717 984011388 797556058 247456551 988921556 105308923 930818792 864144965 999141451 805496104 794608085 789957022 947319101 800253594 890248771 793450313 921844177 815311313 886219301 844498351 980704345 876198336 97782157 808719982 22493375 868794741 882119899 805770050 818225344 901678403 890222740 995608062 892969661 975168139 815028068 880119762 867047267 812881486 787218597 169579731 856033716 57463365 195804697 250673563 140902169 897252295 810459083 917091080 932539815 43462133 944147285 800247672 779843580 780407737 982767071 961526920 790964125 930448002 192597954 961662654 189726484 850877268 955167311 879990491 272141892 26341485 917937859 813543004 940606063 796678389 983464380 923186843 75716361 792795122 53616194 806537673 829786101 870038247 847025223 789273709 885652214 921408904 943909562 143319742 978114585 921842530 916562641 955172449 871258522 958048944 991747168 905153687 808323397 980632623 866286867 187253763 972635683 917709712 207374610 886078635 891820547 868550728 921024973 934759053 855450918 -416423633 910884803 909975648 853513139 870043177 960680841 174897871 921700550 883001082 916094424 946635232 833280400 840019634 33035429 957263364 349535798 945765699 892636667 959980566 132760472 912016126 103235384 -489295545 798186624 913672519 782107462 843092286 813231224 930317154 824469463 955014154 38512201 102402946 320678064 77166769 999939430 950548185 850281156 939406327 85791682 995290937 986846041 971897875 913376406 0 899738114 861285578 806272501 924671846 990101911 916094894 956694607 816260679 792907930 957364337 866137720 866716125 946163579 841062169 963317546 853180418 957408651 834196599 978297570 312987537 953794111 75790948 887210851 949720466 787525043 836576400 934737932 857935164 237791255 193634655 877653241 887288606 989276317 797096253 936805543 324419057 902689181 818112171 966433514 916878818 852123709 894737358 825660734 819462883 32226377 105284052 904416891 791014396 792451883 273074868 843707520 913975762 848216935 857171900 956218015 806620116 787380131 193859884 831959475 901061463 148665805 946187170 900560863 781115033 906311235 853291921 795481199 132321904 873711020 928301835 951234409 798719501 785092468 887933268 79332637 868424608 11848254 993786384 825871946 840732897 293515047 989993026 882879704 787215983 978304792 878438285 185203337 949770930 843972679 134495516 854778921 792760649 28727756 43092242 992777910 876299063 316560608 797399074 798444157 871140256 899909173 840282634 -659262120 260796443 815907354 809845550 89940983 979869666 857643332 855871536 282193693 948254686 955828441 884429593 778605711 208624450 973069853 914617113 880750957 929717270 965014496 968727457 994746905 928715410 348953256 917783312 255716447 154469768 968205116 901086022 146072256 300322618 206263618 -617067124 840915455 934637982 791119638 92175836 898703775 947862230 911823839 931835676 958716031 238113844 947612163 832242716 984177459 24664998 274361977 932227136 884375637 964143394 206468384 881462373 875415479 887776430 161038216 800010847 923245441 157466906 851395491 902746964 948589516 972563661 963940797 825911984 786201707 976564067 852890364 964869996 872018062 957713338 850354075 899398838 844250882 869517951 933700719 914935228 815201667 956677559 948295244 995417775 823054637 880747897 941829046 781224484 862163606 819578203 928635145 800069956 879580510 996925088 804094438 791272143 948989171 313773164 45479769 905996299 792920023 948514200 904409287 113367836 980364154 850542398 892294794 925231278 923289198 897834887 936119578 782834918 957025138 908765107 930174332 194349232 843725915 953875150 996253833 106926927 900414332 884923367 285400010 809808243 935284733 933722624 978823354 920141692 984420345 809353289 72690597 828311465 129994470 883543422 253306460 816056399 891462796 909181572 0 813295400 966156376 263252015 781408429 127521388 923891464 888029738 86576403 907917013 911804826 810771659 956127700 819118388 0 811711206 302638712 998837644 848237647 925516080 873934710 953082057 964923322 929734941 937281613 65056898 793404315 785675286 972348592 180183289 974555550 990451702 319121401 916724046 906133259 106622386 998534173 874439906 67086617 922563332 832103264 848448705 784322336 869670613 798784268 966755785 857762300 91154263 928732460 845712122 143858386 984109797 840946257 811247435 933375516 996664914 892434851 907010300 805458046 0 883446487 946038933 314056216 814480927 803682931 956521772 123258171 982591884 947942716 920203857 930405228 811126510 815187037 173157460 857085927 781678317 968940893 807908899 867700623 968324594 972501596 881615983 308950036 890555265 815504992 926685883 63108857 924251956 926838288 879102158 866604239 846635583 970906645 975062870 949211681 932105866 803767364 849000990 826661190 812593390 993148277 960115197 882042291 882962947 263724296 868328406 920499317 847312982 928420527 999937904 802807610 809480499 967084701 953470389 778144984 835235494 242614786 898267834 836621359 302790313 785834503 889737123 866815094 263699364 74291518 962672629 791081924 906195239 911766186 839052172 31966755 953433344 979743314 925741412 892660690 917281977 164861749 929171155 842649466 858707064 959711518 999152911 999529534 867468067 912326080 897192102 973374687 841658621 816063471 909830239 907953029 788339938 830821854 46980370 789674290 840671264 786159487 912778914 933921900 -685372972 314250101 960189088 968152602 900830585 116660797 878620436 954214721 913346939 916096678 859164449 930615415 854227458 791084701 992520671 876851623 907650506 236141799 873790578 930399654 825713775 844288421 346785470 118811667 837590141 936427347 880271106 847331550 121879996 982668827 146556112 954959963 908308936 137716462 991956863 220085253 958031813 817576507 975654112 833034027 782946454 860896555 239392538 942567132 26443269 869600897 939775390 867307926 856285407 813311067 814882658 928858058 286300577 944539986 934200978 824475143 135863171 801649028 959510740 846952368 993491613 23516287 850752142 989941988 833489595 959148799 979984508 808201814 890795617 939523592 881206098 839453308 934485060 805657236 799296875 112977691 856332350 939634561 811729455 318457411 971809773 896791898 299793805 966057723 820395954 781326792 936107408 893376622 798182669 840186808 863591495 801785593 974445781 91020229 288463728 941711707 943733179 819566696 993440076 849656826 890399316 913109145 841602384 210253258 791631758 916968342 101940126 931497614 960704726 854304513 964193667 977641617 843917772 829271963 828090258 794359890 889843688 896884964 877754840 895128543 926626610 815370285 789710341 45174097 975531971 893263566 781767390 949943927 823990340 984942044 176093622 308901781 972768866 893690911 289008647 971196825 903891024 65333030 799800526 996790568 120071509 343166338 848532500 132403767 25118477 324415365 960666956 892124683 860601893 264237045 779101403 949429663 780077974 959669156 941086895 883651471 241830506 906844115 804146525 833771979 890498340 970772758 876025769 195372064 985450850 881944110 790310781 798684474 976218397 194118409 952508339 75406559 803894295 915697914 787533602 74739246 955145077 344433671 977886390 869218497 890787045 939846207 977404121 294612654 786985017 846365413 877962223 190887907 849705718 813994542 894376905 44104040 938033331 976751489 844769380 933385127 817765053 936151187 953480515 981178305 873657482 888068212 899719092 952858251 845879466 942360768 793329750 880446722 870573805 854204145 63565756 259436490 938066114 953565024 794093446 935527955 241700879 838211028 831968184 899327447 859586518 976848087 906068921 975646832 807299668 965604709 833739571 958287927 125427129 955514536 219377061 839236403 932427354 809431479 858786965 852291601 861746441 898556229 893739300 972933339 311496015 781480781 271427925 94583784 217271962 819446623 956674341 851015111 66032784 20913757 123253941 795079315 900464394 961080876 827434063 940250660 921785464 811752046 185779848 973094160 945765356 984248993 797248896 877163137 991277243 197903195 935715599 830275491 842783614 60523477 888388231 954882444 794029326 870098198 80865287 788278292 946707833 917054280 349570864 918993974 984844723 252724771 244775240 319153154 802478521 788209955 896430255 904425251 985515763 795162370 915501921 850504140 317746583 201988562 836541290 926740398 796751554 901296049 808101662 819911873 859606172 880354773 302067285 927655052 911020400 0 778778624 796507614 818476992 956672798 783003874 119592595 993912835 994253118 919676199 273396985 791230664 878438465 133914009 231196741 870825980 794532434 158204738 298248545 285551525 975411199 991767189 822790299 953262684 913129683 788885736 836132484 886238760 806693940 986109589 984681829 64807855 825574708 970057170 814704802 780419923 181265347 886787999 938473372 147350281 795948318 847750454 900357965 822859668 787817077 943350315 83360065 966643820 953769803 941536102 976452400 987913369 915810676 955967436 797893379 897259140 952536368 912809414 978330541 18516680 921995120 891347689 178099508 848805146 342335446 933948655 838693045 991539789 857744724 32950752 122604849 977213339 906785631 985435146 998342428 916858543 858629868 947351845 848255712 212153359 188802576 890076865 246060027 837105251 860069618 856239154 113642651 778592473 798583094 920632719 963633708 820267837 891370247 830901520 871992272 814725327 997794219 793854026 933978854 794557650 803425341 958532458 923980334 891931163 899171425 842232240 799790551 871543343 967440498 974689078 345330652 823260285 950046597 903392167 293487685 788939233 965216352 968700786 888987864 900932981 57731178 786495316 52347907 949483748 175128695 961292516 959554382 967395940 856884431 923508623 889276336 969947990 804322730 815856528 914631066 25925004 803824022 952989383 978561714 810206887 865334975 890807906 974171923 986891647 886666264 821211989 971556311 997842065 829584924 784109155 75513945 945777416 857112260 982827343 865335292 932891874 204728199 861170926 803772234 858510970 970465832 792352927 143914563 222639129 964376283 809636981 995401944 862466729 949813138 302743363 901436904 898115415 931785018 893787347 936080225 955490353 319147066 947003148 824227578 852119938 937512510 797805151 863088741 862979049 829968524 863304548 165849657 992920548 779869524 876723838 959415985 968607992 786711610 941369725 890596515 863734624 897559341 792437957 804051065 913350194 838548875 882930690 128808574 826049415 895942229 109234335 943651876 786875063 844193729 861528297 7366012 963933565 949920391 221943262 864870064 925135397 203885851 872699083 956251751 894412493 884948765 86160111 313785218 74945957 802562257 812432520 288024599 51426992 24091527 190009596 865499401 917770099 957222830 996504069 0 930451492 786844982 181827489 219944998 260502054 911702333 783746430 328457581 257855642 834804192 820907025 828024891 812808576 953354851 912647466 904352209 29881115 804663286 964933634 802329509 808268251 975507635 882781011 808883965 42522114 840025634 825658697 972762556 817774128 993195538 295120292 862273435 913219263 842089212 870432788 935491109 805432444 -503187480 998048335 912464621 325662592 305617407 945467829 987478787 291377643 962821173 969335621 930301153 965390795 779250853 782478051 790322736 800810782 789748837 223767458 866470544 800586629 898716965 48208396 810156289 825469760 282440157 271504568 974516961 996291622 223103526 96803812 0 878936457 820812388 980713676 806757639 834028296 926102030 893513422 257840855 841880221 844317411 955721310 876760240 975648854 307942962 837306460 942200082 896226969 12517005 870931998 782071815 798332264 881544214 905237360 106516215 157638801 992452618 945355908 951414293 915890768 88730732 948755640 969907158 897736793 918642197 928521993 877911871 933435150 337031293 844302364 -716764017 818559813 936027536 836105259 870023670 945723701 800402494 909321152 82411657 975402383 970292354 936817213 179919114 861458834 948859514 928143980 836224371 942938404 836508362 913689151 796159277 189276410 787670342 24277349 783611931 6962446 254792366 790946713 249610149 803226801 808888813 951364355 793266481 922240966 951916385 848409046 894203534 883075613 911110793 992370321 785857875 791009694 888015664 53854990 80083438 990395498 220416756 335238539 832742154 864792513 843050181 875130789 905616518 822081098 916188174 810560282 964272249 785531609 837228903 836474801 802234282 282686539 328847947 96508090 865949665 918384399 960700770 176005244 949964838 809419359 975298112 960495508 968843392 946673804 814923725 340905860 837883383 878358892 798156564 902432698 807230818 846246614 986156773 837334037 265118145 919686451 978655251 842368174 969189710 35349708 300215013 930877524 0 838825439 842081065 949161689 994492570 932706523 864770967 817152567 877973900 942563521 249601647 269169338 178044529 132523945 806362554 960924196 19914159 956715941 999572958 924730748 72839381 333185515 953841846 822548773 64289634 899038549 870511973 933413650 921695814 806586285 999485448 987591873 833042258 947552277 783427459 921266150 971486941 788943160 842573738 898593515 937998633 856312999 942140481 830613579 922365692 937102542 880704267 228611147 899125502 103194346 107759861 -495548666 810311086 840275271 976374857 902676414 950532900 850218747 829142589 276388541 799246433 926259503 950289782 974360720 982651521 944546981 853308872 28623367 797210140 940981785 982229588 950569511 957238695 943663310 930750856 997301899 0 930503148 781580420 332920565 10820801 799102471 883321711 871847239 850250496 114380720 929785428 882366163 873295618 826539787 904989233 186947213 953808178 788123525 812447523 983843573 979025827 889903464 938168111 871183513 836570391 815406738 934516755 206471347 997090012 940195592 983470696 234067233 975997533 858428603 887330435 927601961 781244242 875428820 851848007 211910681 804279981 889916940 50715927 820009883 927812071 810059690 875969913 928847087 24927903 322957910 6676586 838289165 931024704 854313792 951337424 812835214 835260897 986710660 240843385 817211044 821284314 900526892 51825270 265796225 802461112 885186079 934661782 964876739 878192187 930903774 867944116 786077109 994024502 790478119 316818481 829838063 949927606 779018947 142329262 854517386 149403502 799551582 898808324 167804023 907169140 829577977 952101792 93191490 957017728 810378726 932662601 896561078 794803142 916372165 917251515 807080458 193343879 0 838552552 805928935 852661624 947407181 217278479 848333260 877416668 813830315 909980994 177148654 800265643 107813069 852841756 899732080 114287166 54172165 888020466 82800905 907348560 965300159 47434262 960843561 940371801 956060862 980927132 901522755 935194555 885662444 837772058 952793727 11502572 888574091 969695926 804703337 989242167 947699008 328436071 861086465 928956875 840065611 877964121 814081548 885883639 -751914232 786291435 800478299 861173045 306112735 897525113 916749145 39728719 915450638 906508852 907247144 884136129 870783274 830868829 5905830 49775232 910633586 988764611 83378547 878012442 925163692 330850787 88244888 142293210 941778201 936502050 848308510 868309843 976720060 992164399 962719185 992215920 851733687 867106505 989299390 246628947 19677284 852288333 62022608 866201849 872157248 958078309 962486396 912282749 971095668 786332723 789353124 850844775 824940755 60478778 794368010 964880675 55553849 786380110 64672771 867110925 346342577 919508454 781053567 822255568 897682675 974507781 970497547 975140967 78158707 914148153 986958704 897620227 276227683 781037882 48746773 44538827 203574169 798958342 885270942 981474287 923051840 958794822 807032825 953456662 931845013 786919437 955741358 119281357 915049806 919172449 47312598 787962335 836786080 813192408 935234221 866836030 990005609 952561379 988308841 828777916 898919383 807585933 945107413 917689968 784112545 223246880 794567824 799650416 918600283 942916702 983239332 839924335 878288715 808959331 932448490 244700601 885777992 296324860 945399646 184452522 989386095 874368483 984999092 838781645 968407170 819245240 897530161 890824481 985616794 842012764 883844057 270304275 902543147 831783319 813533486 888552111 883306180 838516537 827974263 783131921 829664294 882756188 895548033 988100302 852104373 993725322 961389087 959211877 819195055 869429852 129011266 927041826 801298501 883236229 27910618 163793551 795565391 917078020 945386702 840110225 849700106 784897659 999676161 200574520 811349521 995455628 865110043 972084781 852790908 967286810 976939250 899752382 822730064 969294297 837927801 813576369 973715396 314210355 952823606 838535664 850778820 977789665 106020777 893895239 808296724 899678433 818114282 194908752 814264941 848181477 0 173932948 829321841 996862065 846165983 808822603 948457059 77583338 841963705 817352665 80934945 852059830 350363914 826079862 974873945 867928022 813922990 831626885 147620063 206948280 978598435 20802089 853852679 865431837 181604639 70110630 894266474 827629629 788812730 898006410 905745036 780307731 878655707 858956921 891239644 945705183 895955747 916522731 962572798 948202591 904261520 997910122 162442382 818352065 813234597 967563888 920520244 881563316 993041364 890758498 873407953 818054329 809448993 891917925 838114253 254729417 985863022 806668512 829569325 76504903 901303722 966725909 878002810 977426900 866099623 861908750 934784761 880939801 892465659 20361239 109192986 792137369 193411782 833738812 871995895 72186985 926532491 935809729 275853140 172225034 946947531 796311331 892869282 785982250 95619981 822359141 785901556 935759196 900761256 995038488 875996260 916575006 938486787 815442763 874173399 781101011 793088890 -489278611 867120186 780557258 915550222 134078182 929942461 27844081 182879393 925293375 817672561 934414074 898012647 853165583 849855821 939251001 821516400 830820112 108607441 979363971 914536079 830915230 127054063 882395271 937476989 815325526 101494289 942363391 855866073 866888241 976400929 927539025 912500167 132774179 970149304 801358602 867933242 912312889 866296051 834990509 875732231 980672285 888820229 905859001 964367893 870999437 898044553 962609729 830644517 952851076 865040468 318352630 862034606 951696695 226964149 971139366 786553608 918524799 68689297 947091363 942831392 183849606 937850224 290891361 990035910 990661203 50440190 968662878 925361056 849050805 892452079 815228602 780546433 939446865 331270784 806850926 957695735 888918486 971407896 897408644 860157499 953423361 870774705 173778028 782255561 287066424 945430229 910106923 780474595 832942926 894897314 0 860254893 923419637 949693056 912582849 912940754 905107882 222750591 778636499 835281309 72833681 914591790 879159257 993886691 943381819 867375034 923936672 866653502 938440288 58161955 970460000 84517900 80948122 299200300 870222708 905630267 948731155 986566529 983533099 342178278 894992757 154022637 855717441 910526225 806145997 994700098 12179123 48448979 807454228 974246969 216342589 876604236 995935434 781589990 813964476 846150087 894926903 861799125 961532489 994548749 859596532 971090737 848697413 871657858 109925416 919615564 876989415 875998395 266228117 998586152 879797701 931513284 5644559 808081479 949639500 876227439 204302974 992586379 822527461 832943050 869194226 815456205 785365556 874536548 978998885 100630776 804985167 844991100 807198265 792019590 230420890 967073618 970895329 913094256 860795334 998324520 919527214 802981446 965652136 936138199 919545508 862551374 927171314 992864354 829645238 817973456 793717812 806067921 148552834 816402685 836111186 926600591 970016708 869310156 976326227 167448731 284348454 947948568 925270736 944438508 64538184 309319959 841149687 923508502 877916508 957083947 897704342 954996450 840776330 823006520 172463340 993745083 873540433 945841817 834327291 994826754 927441747 298311207 892068722 908730099 86119508 142142572 876500273 219115212 810553139 899141707 789238705 995959904 980999387 920731009 850558220 958694293 54180205 854355687 836054754 161203246 315858172 993330674 840580743 843955247 186646363 835246892 31954375 842837368 981657467 828362572 885304608 974848139 895538997 818798743 132166406 789422895 817792399 827689521 235180985 861787827 864364673 850172623 924240196 953153518 844116698 808665399 844421136 837169527 810915741 928953717 100064867 -373037780 948125785 823888094 810282735 971782095 126459274 923443157 235424458 175224113 103045754 282025744 889713823 0 844960067 943330074 823727863 994634654 872877936 870452643 856506243 346624397 958772135 293696128 325390723 306805026 847984282 859861163 843292875 899863687 38916894 784963435 73318805 836950957 916451267 829093766 51719362 805127280 911132531 958882991 145857353 936953076 987868045 827590203 880503887 990046894 858936663 197189365 53815760 925924798 788837136 114482745 330614096 892491799 286662365 786618313 999537717 907383592 813701859 39542095 897276887 855258283 993463272 852267170 931854062 813633570 919051930 994396916 0 799415563 817283959 831808111 841966925 236174352 884565776 867290529 859267708 788062692 974400286 300811320 85115720 998103180 993186922 864986481 986990942 847900516 811652692 939831554 937180064 819370744 858065007 910153838 155920477 982630286 921375698 815703493 233528950 957098574 891591142 819868840 256475039 814502383 955338878 782236177 808900985 864588668 793172946 893815452 814312799 798114424 852257855 790886672 897558675 971031891 168896746 796412603 329385410 838865321 884483361 853815463 829189548 968968993 285109701 969879242 984975677 790041192 804467597 953683243 939029302 994403689 218721591 867665019 951693820 0 862354187 916109732 907143747 232510555 252101907 929190157 924042586 871383970 322468206 780254842 13347319 981952211 894563605 975626748 866956484 804324053 856764373 883003805 836869319 940755221 831115925 993072938 55769443 928318298 828063657 918714791 29987305 38827309 845258216 908540212 143535983 937079654 985285553 954472539 809786164 969683119 875021600 889147900 906214221 799709517 348736504 827335310 973189076 886785101 944141194 881977810 829385764 960239170 822755592 852346634 868655310 778780489 118778321 962712236 299490138 270016648 841301138 868569239 926792317 921328155 780129030 928872673 798104403 805717074 873897598 919445890 946004113 951043588 152995986 936648977 870260426 811079721 783409946 913554568 920920170 829878617 917754537 937414096 905753749 995906485 337760562 842150638 103801450 943569413 901186752 68733385 210581908 798640261 979431603 917238957 0 174725027 789302110 188556681 97139822 919413528 844261197 779568745 298970939 880322677 910475921 797372073 965926887 865528797 256354391 871911445 850368214 848688431 787509941 885913451 784853335 941298458 909782577 827058135 983162850 980701559 783529700 856969489 927502904 310845178 987610036 795376217 970852838 964771156 271831712 797499137 831688008 917644177 847821364 929440818 840382143 904835639 865237869 907339649 931845584 923822004 910876160 999951700 952047888 873704854 209835609 790297957 949173249 978000517 978053944 819795888 -685965316 344848508 62610987 891239945 339933251 969670375 813124371 260827644 272556162 927448102 842781345 991093049 91408903 107317978 859157078 964876606 34755936 964720493 85186458 983480164 -698222601 114384535 913531079 942456143 912673726 829524738 853254514 829286073 811066994 0 959393902 797069048 903380224 306073712 895499070 71908314 19056715 930779085 919467259 837118621 53311818 801732277 998122094 820783130 793920221 798409977 851871982 106351150 867817316 852990646 786453508 866598024 811371477 858282123 988728961 957909337 94834928 870475098 813952968 811262015 813330298 947990792 899300933 990078394 789309545 96002009 943478960 339357298 888016393 988781345 956539747 991420619 794881192 887646038 950771367 78368243 106558191 904823893 872536579 789697100 924638188 993032425 836295713 790812389 888655084 808252032 844571895 912176212 949936506 881360405 983246431 794268041 970365884 791316959 857765598 13872567 973320390 0 808905348 303679848 783531585 937961215 798019122 964935143 811375796 900000118 204300268 798037996 999472128 902786283 902125772 979360903 11525670 945953119 979814298 969246685 874674050 799905142 845056456 943979266 805729730 822450066 231695091 909801917 785341062 343527044 930209683 784418883 779215808 889256302 827626002 838724885 910405819 901810171 807408397 788163241 979410604 905717117 914311398 783053558 849452907 304968948 954420610 930542356 782404226 792204363 797694051 859520493 835541877 318017644 821022041 828971880 996098268 955553009 913202216 842589939 790492323 862236543 116044711 999334842 933928873 864859124 821651450 221525244 835424881 885265128 825793234 827455095 -628642706 962051344 871802943 882257940 800888556 884207634 903056786 33975693 142997332 874993715 65329469 867575329 197457088 795718316 866520468 923120714 972879890 812529881 920324855 800267872 910331602 919324233 890571875 808020743 273652973 152477428 973205559 876347060 923093683 43460648 983483537 229777856 874747933 868756734 164667457 880259914 790591624 783746411 345330942 880161192 916911063 281257930 925247458 848320461 795501729 842925182 876797426 938015118 803102617 824830412 997901286 950559237 834305711 334260799 854826044 878114213 920484563 891802915 966120739 978521902 832468214 877276997 866302911 842669005 822451459 841482656 156876945 810295227 907742575 782190329 960412872 959713213 796099984 348545929 786684268 875373214 872118030 944501644 332870374 842643861 990324782 807303568 903579686 936749279 972615664 921954961 786366800 940741748 885959285 85585991 974168953 71701507 916641552 912813392 302108706 854697500 855031644 253621193 911525325 809997276 964250461 883449550 990071497 786516321 906794393 320795184 867992552 899644582 857783964 820141293 206978001 0 111418582 321351070 282248000 973967324 60242745 896060627 804292607 906017214 896313570 859652171 936753850 28427499 819174864 792710843 817436792 821896877 914019572 298021316 964455834 875955818 996839610 847175865 880148492 979138771 813376403 935005676 913394267 902002667 266907448 871416783 894709207 971981113 918821047 830402227 913905392 231446126 153952489 215615126 866306881 340527273 345734257 104450639 919731147 981794100 794287622 95527021 826754503 849750722 842378746 937870753 206527942 222550016 956703419 787448549 965994780 778160800 790821916 979998884 964495681 808764747 781280945 971260998 995629564 818271971 952417688 947072364 778819030 242686374 809013012 923534405 283224163 998927108 809216182 948038238 792941577 933356762 60584384 790064960 872404935 109092084 11305104 869689079 0 788686037 178547376 780778903 851910409 819097886 864101637 816657771 824039899 957736300 952627897 864792212 824728481 929066275 192963127 955644067 936055896 803489319 780030797 335350620 919476386 929847541 941377989 834591659 976783699 905921191 934503408 957094095 851522629 255171276 829010822 818591881 859950639 994560630 866406687 786990810 243324601 975156958 806017491 791381885 276389419 957513107 954048498 950942060 889455007 862180226 297863837 924641493 876612529 939313765 890988295 968631564 313904501 854352568 233647358 983991977 844231055 793044463 834289783 998223106 252310390 329342891 783061197 966404780 893935969 248614921 824979271 997548284 791511343 929466729 990909649 881161586 812593950 987164187 783404607 20351623 909027816 850179549 917185121 787961348 946128786 63792626 934541850 942906301 983754334 841838253 930257540 857278425 906793192 882480586 822628292 874395146 202386528 886892134 845451484 814385397 889774265 962125143 1923985 131155402 262081696 826736896 350400373 799495093 823036623 963945116 845462554 942591624 829204711 62049057 338961010 902999988 843130107 905626013 783524854 932376883 981453611 904603433 788740723 73441844 208478667 814421090 832105984 838617912 950634325 914025901 800487697 983176727 941666841 900628040 923097557 847324938 934318885 106659712 888207259 836065578 933967358 783477723 816621276 276916719 790875865 978113981 805871453 817900817 904791586 877460780 974525838 886556641 913231808 805819046 279578120 935624717 806823031 933264999 940821610 859616408 953783464 876675782 867478707 918605325 931057083 876243404 930132940 932023317 982690267 60305568 840669810 978229706 916283813 985550973 877396248 280449969 213762738 806369168 875316838 942373407 844139406 840980597 67646165 800994110 859033418 803924135 236670703 989898910 45452876 966748287 959452414 930553737 894074413 969280615 950047522 251496249 876147450 91490912 918688333 935718305 816589078 903905660 967517175 176335959 890324297 896621392 954431486 916372293 835255796 807705230 779310654 832730275 906282147 127577348 910751787 856976984 912188674 986901522 984753286 993718522 795711371 982667782 909127583 795999116 929238143 902361074 855646737 816047661 946122843 914729008 853638631 905024652 877639155 23599310 914822179 302027443 982245794 814717007 931162361 802567478 858937169 965649801 329658198 850707868 888134368 994037730 198606752 854047682 975490084 804084010 996636907 935485698 990470654 828523376 864451001 258107805 228718638 973923158 836052829 925916853 793055438 870135765 27678245 286788035 925886049 871820865 798451152 813439993 823950624 876677520 854823925 837696534 876677277 188184210 90167944 21048354 3996872 961334802 794799341 315268424 947470240 971622982 866756219 889831502 267026984 901342113 881682293 855983589 787440591 941082934 875325246 875521141 982193514 784448902 924431971 806199558 317488771 188407533 824098682 961612752 904789325 821552864 798873795 946360945 948794579 982127639 897637725 893013471 933474063 233335184 869523544 966007021 881572949 929642836 161363627 999082762 907191601 936429837 852316788 983532013 897267958 88103014 994429717 912331629 968549063 983646339 836552747 881302193 812148716 931064309 937432951 883752452 815076004 167179597 816846973 913506848 298214594 833507044 801578224 432655 837330190 984024848 968657647 288352276 817615771 784440359 964652494 926545740 58130902 870127149 0 882075441 995774681 929937613 827367890 893533801 978473380 349122461 993962333 854613209 823354979 798355712 817516194 972661876 924700746 894579193 306119096 930066340 992832340 831986782 812752965 783208389 991743540 875403236 958661531 961705362 881267737 74167087 848543844 -721595872 853229062 852463509 883698941 17485629 832339495 245242526 848342495 989278158 0 813444103 13560429 258972226 44072558 904958702 30388095 278579036 846839590 883633043 860087009 798645676 801418492 801663279 201950660 795819004 0 813278906 211659428 911384382 997442524 830898787 945732185 230113247 949608318 831107316 997293691 90811183 894223937 804410527 790567404 930816382 794326184 955206547 982686102 50165030 833066199 809717388 818933662 944687282 795237575 801376811 947616609 233413913 853381941 856257215 890357640 792858708 952799970 956057464 48696864 917728271 800970201 912823703 929069236 812416318 229566526 847873171 921521889 873122005 803751214 896952332 283021024 965123521 971928459 904659885 998070896 993397303 873202759 887179317 991493621 860860963 890302350 970316383 993261719 797066402 17644047 837988359 102699959 845970652 969350432 845237730 972853484 27043497 779066266 57343357 944729593 38141704 996784761 792316893 855181076 783784535 948546924 871097362 785729356 809345836 906542948 957367055 790721585 784438670 788928889 897493770 980992540 954831716 932493219 816399746 784532141 942651555 814683365 917593406 961552435 971121176 851758890 925651281 907608414 230846133 792606038 815084623 133791564 845389854 786466471 982172425 849953852 800505561 907282630 319101158 845410477 908149251 865543022 902944422 965638429 932864441 990581688 971280340 860352768 959912879 965305896 852719922 271641572 886322686 980528409 934865911 932126161 957561478 972824791 808297468 850244557 887753131 837795903 7000624 824491506 813837755 834327401 956809038 214909645 881277036 141875890 240033991 23826764 800066223 329761188 214084100 989375121 916149593 969162465 855874762 867654830 905434326 800146629 887943267 826086734 828418523 990981270 54960760 863309712 906150400 847703087 253722412 907373957 781258532 54702119 971083587 972918466 847837517 932992927 986088365 831565491 970202553 883797281 923772720 862102501 849015783 801115198 120753018 902701539 830585922 994315886 818004564 938701305 322637069 983139867 897989583 893704545 935009869 90357340 864188842 904164267 891377557 972312515 957305610 840831384 876997155 861543330 889115996 874854372 910799005 848313413 809153590 0 9965758 939473962 943191375 867793031 842144369 942692760 800789706 141697527 823269851 926031388 875146625 884912385 954667905 904004655 984810987 940201290 159591453 964032596 860283019 298368151 806010295 788957890 946166360 833568777 963016723 782992095 944130143 791289176 934818120 854409329 789714910 984029704 9003639 803236174 868270305 989810704 870551927 993296114 977580875 18281557 864822581 96498467 869945422 794394521 813386118 967865759 889516267 887237053 289516251 788256770 186237373 910970038 939231912 933844475 996092157 967170272 871238079 130505351 933806122 826735689 922347559 908869005 945907647 878608968 988247906 969399244 976830662 935817453 910158615 200788098 796474355 9706594 946697720 136492260 815837530 836325799 839070163 999790981 866495971 912343663 821845233 903448162 979721230 895096195 893450556 842746937 53344019 897965700 306645806 72262208 814511613 947257554 958100203 922150211 955008642 952469055 814557443 993027472 995564128 882941187 970613285 783354399 802101548 841825122 866119546 921209656 216117499 140293276 966167930 821614838 888636031 912334664 947636899 857554791 953026862 886910815 810310361 203457076 148073539 926555729 197324989 309946422 187618379 839212321 794975457 299393708 939819335 976768621 875884497 863288001 819196795 77544017 338244599 967211727 876729295 964271160 807898493 185298259 972701469 999673117 840048128 990364633 932097907 926393789 800723757 105630889 840242787 145313641 995392291 927880780 864859222 235476218 807392157 861258503 948578928 893760593 321072000 868879275 819874350 937171377 965797274 825970266 884585492 72875638 988973668 869916977 890262947 879042206 974926231 258883815 912245957 192033404 939291297 160999265 234632781 980410836 901016400 808708097 183875393 933091972 88803007 994478091 808785327 915052672 779925777 841564836 936876611 935732692 822299606 127902092 325581430 875300534 996417432 920884985 956824589 893576562 295660803 826231391 950886180 798845418 147111562 823483627 78312321 859989873 227877877 870201165 155362857 59320395 212085475 990535891 922477951 895746835 944306504 912621510 795921222 276630015 941665412 994500514 974584727 800635271 793201595 879722971 35512985 23586860 809152270 781696973 809696068 936923762 784963490 789006303 869539633 886801735 977490908 2362071 269443268 975379843 848428354 319324266 833506791 949409054 794704202 817514420 852239476 916056551 276771587 869585075 876252875 872983659 826819415 950729138 872939493 902696037 894336452 925138409 960940570 958681533 961335691 218189650 829298531 74071333 835189887 984825599 958168721 921441359 919752702 3352686 971035601 982498901 863969333 974112716 985235849 825676154 985039880 292042072 992856763 276069333 779160532 838099340 982233416 297685864 90233143 973755176 933424060 925798177 963332311 949469180 983238771 804587269 961401073 790273060 933172383 238205572 812086512 908652231 899016936 237004491 870543465 781352177 890407650 856528883 876427814 198895758 323337418 127189434 946659798 963430489 981932504 -728035746 913286608 822274639 828712866 972164766 939976384 796113561 822042233 811493813 842233865 830196700 802378662 864529135 884733603 968503922 849323146 851692510 874439019 785598055 207290270 68383786 322182546 935273208 897296320 870609627 778933567 906914766 861584760 852645471 983272139 996908012 119148310 778156377 989045065 891005028 783624673 940315612 999206512 964351186 857694882 814576481 900568221 994270631 846335045 868553363 981267065 27999582 973196677 983911957 262640325 784164982 967171324 153552055 118556938 968000323 917703312 887488422 992157616 849733353 939789419 0 910802992 967928170 846143480 874707699 837832762 932246676 795336926 949546168 68818602 335138028 779804559 966195696 855572884 898886058 182443625 918997797 936664395 816340116 143545371 845384707 801762371 822745352 915659412 802343471 891948326 123804040 302683135 138648516 872849130 313106292 921496958 922272228 237494574 24407743 905629059 895772123 929692171 215528596 899857662 998167023 787701393 82017446 917703467 852472523 824528952 870545852 838899450 793627665 940493562 792969362 985263967 940001592 806073034 922814353 820175992 854116667 148995469 305409216 790944993 843494382 863187425 998207844 229066520 989001454 819275826 828138860 987229512 348184215 811339931 865402934 350689934 802994549 217912815 937619429 143545273 999368894 835180992 956452651 929254203 188100222 894410060 -654923570 881620299 839804797 873275202 823705824 807491339 981736675 907782770 793566153 174155562 985283328 88129473 981608940 932780404 903152211 794337446 819903359 988186103 922091973 901436621 997624693 910337363 839668921 861154709 878980132 830128621 962938706 24083398 915738821 816935097 959918075 912562433 885802699 799608005 890518986 845987322 844740546 925478311 973673825 68830342 854932951 835514241 944056633 963009374 950058292 193250786 856798884 133284654 919955149 912359535 970287804 164597414 818807771 925272552 872812327 827360814 937405769 785873516 943883466 817286359 779428098 797030930 933644341 846094393 202044353 899765624 939254186 964535425 792283444 811250026 848794687 199154591 951228447 865046716 823452467 926605942 85220946 891021729 967483238 809345220 101744652 899298870 956261197 973270526 781740507 957216722 978455943 897410068 907746255 284399677 801848026 973982942 787394210 994399681 289646402 886336183 949336545 904785611 986667832 827709783 999652418 914426288 890250419 881635271 937458503 980803967 88537260 857423529 817686132 838160265 827629992 809460124 854710746 936656952 839136531 967742217 981549217 931654123 963694330 86513580 162409491 943033505 871946972 994072785 31296165 323636124 885239094 0 904491797 849801415 115778592 948474986 833165877 951656647 882602458 326623379 970763784 864168274 900438897 921295500 781819316 809324181 957907995 882797395 958946799 791367141 880315481 232110383 844936693 798690914 328690497 267108370 990484352 852197415 847462946 983522612 895768948 784868282 946009308 851339328 780022204 257031248 877454149 978172839 954957908 968332003 906031279 98990781 833747609 300935024 818972600 841280982 911506013 784734169 781343049 908779383 982646279 247862154 806260242 32729912 846770241 858566353 814214576 166127174 807953572 93745065 991493709 900358921 968941087 891026278 926076897 943030810 925369947 934889592 903916804 800187241 952788687 994716696 926663200 822413165 925730434 254294643 847214489 920011012 113897829 884614602 14542901 788588824 831527992 320808678 210986287 886593576 956437552 230660019 263499731 797181817 939511401 340738163 928721269 960281666 105499764 995417883 985993389 929099028 866883922 921360268 339353942 906026969 793008889 952534905 809527940 887370298 107285030 981392671 236757486 292219510 78827665 914571929 233149834 857422402 844978834 962718780 804175276 964717303 905151015 919575151 930417424 108481743 915045345 870994067 846987430 951579615 808488165 932913954 337487760 945504953 809521287 77515358 130565641 319484750 953083742 789548350 911555423 241588412 912428868 862011386 902420170 826679170 983248050 809861795 258563255 784322361 997424270 932440857 874223274 286982794 922413596 267859144 920867934 999905636 858677202 859013434 310668159 989542867 909811573 33892119 824328635 857161383 903460532 978932405 913135251 851587767 90894359 800147318 947111684 852586844 973408028 914724732 118193134 102023220 879415467 779174855 251348069 889282141 0 887394631 958873157 207275464 832948055 973938489 931905104 821233918 330502254 915671325 827239879 858482510 828202024 978336400 949210487 856436388 840393077 835588035 880089271 837635162 882480637 958515995 909865153 204628353 885453695 229086011 47767222 783367306 884510799 996877097 852223735 277056557 860568833 902194567 107462765 824299851 171885359 794622916 977374243 915331405 881816575 327046942 881118782 906533545 349452412 994182461 883728889 799104092 832370159 817520265 993690019 854250678 816304725 946306170 898660314 910492627 879933727 1706921 895981802 910421786 989098015 959587896 928644611 820879338 300621788 928689971 972944378 822686455 973667852 822146709 933978119 908670260 854735469 884605532 943357748 252740873 878205128 787914822 892201766 278786456 945677694 294327745 937560866 165918123 887013211 910282476 270376736 976377170 812677810 841897479 228103327 981176849 974175916 784168597 983510630 297591641 786764267 914823015 947130357 904684163 251265350 59087998 268159785 307946395 947609851 975483806 186712801 780936318 941814132 863415937 845761746 824125876 908063465 966604300 957730044 811799982 931391418 928442758 868751776 296706576 129923018 948447049 817521867 870612419 944640314 790891025 911660911 861399379 778198727 793914118 987434775 832711806 929590157 907296668 814552017 40475059 893692336 900316954 977278513 918491044 914869540 63514453 968965984 868340956 897233925 865832975 887592687 884760486 824367611 982382554 309533352 859322546 845217639 813063718 962525543 786600110 929491380 858293971 986697046 848996568 894827339 992802096 794545792 857271088 974240978 875347112 890613537 816058620 810424258 857080358 955735382 968459017 952595710 786398045 891969482 949200005 938847007 288508945 331418911 44056263 859582040 791998720 106649323 830531896 841158942 805904135 985227424 968210486 958847560 9702980 899134296 886458010 866597349 226162076 932138773 293787523 851463480 114683267 960424924 870202804 972744313 999149373 887855235 805156354 863187349 796025088 901842522 871899670 849559673 879576682 912986951 860231289 947508374 927484667 910129235 969980479 849712473 918752841 958885941 235203708 817845382 908765643 799552872 804260620 842553570 814621977 801332204 283259070 895351774 896290422 817643656 819220977 922388708 967383318 881322866 826892845 -489911765 108313220 928921994 302037321 928560837 975757105 223075990 961179847 883188740 813339605 228947921 846825831 860237451 843971163 207893788 996236230 853077486 902671250 859889332 944444836 796271516 307151401 940872993 884779722 814925315 779364996 977814323 823176899 328665401 956179512 876830606 0 796140066 808040865 960089090 793176450 813263841 978776681 207548081 944775158 781741886 848910657 242458908 779604675 922100063 813202855 887480641 875536676 786603918 -719007588 812901445 779940649 883771064 116724132 929019964 213425382 819238892 993565552 812895982 82958781 997566070 935988436 834386971 982682195 85132965 838507308 84005409 943271669 884094845 -581479030 854158349 831772593 783177818 235139273 973165790 923600599 278133766 958387185 844175867 951134700 826693981 889924814 77982506 913293132 851403702 885416055 962519114 934052948 877390664 790178160 789857359 884009807 146604412 177346743 919658034 336743477 147786029 796016595 912113272 940039169 163688145 900587043 866872436 873007564 905062909 942744532 28388312 959850658 20732106 940216008 839159769 273004007 833903230 949634348 877164435 805202473 911435482 938977016 818851747 927555245 867607792 915729697 933523380 0 934076788 921878090 87512006 981684597 934094737 796440035 961917760 992296737 827413829 993767133 971152657 806761791 834291584 856949745 990315869 887490674 50265359 932896247 862808237 910720913 856716008 952116439 973169489 960835490 819065296 937990373 848815744 346434918 904193710 925877724 782367795 294234752 349312628 873037123 918606205 941021404 793793415 273690309 939768882 899843040 936883578 -584649764 849573869 836960675 782289698 913967179 852979802 977296011 951800370 255936762 794104663 876747677 880529641 25262196 960658225 927760778 848628543 827029524 822147692 24579856 868625992 815658001 956383687 824775191 973199433 890116594 935926713 886764393 969594717 796270561 962540054 845162280 815174867 926575879 295681513 847439474 828506905 875391948 850613040 121652799 943153484 795539170 786229246 807828651 898446332 813305678 842702623 166227277 842849621 63379072 105302158 889836682 926190040 856634581 120253365 878420533 900109942 67899709 955183632 924396745 876075989 865990225 816102525 882200579 62351510 37832919 860827851 886125887 904246209 923328792 965004116 5356544 0 13158584 848824411 896795460 868749585 905927375 999561980 802141679 894559299 956684237 833555488 792435901 985777587 879916373 884967791 921644189 232703156 911634016 342817766 825064879 793317668 925080417 790840597 997892717 871512822 782568177 225201216 990659243 888268897 815670438 3927397 994275997 803301865 300248015 989102156 839931022 866075326 224390907 881208090 995552582 936840679 904232073 115336124 96522228 789072909 789966711 997463277 827850930 936236096 817784840 -394878954 933496998 954452363 916008871 827238557 792349772 944503787 23981539 781234219 811102274 787547386 799747070 819260191 792761020 347876979 822975391 941347641 849851299 0 851861673 936757592 973261507 792177447 993994597 36974736 907295606 793890120 952543445 841392338 314830163 997704501 886519995 914603437 779175519 943820341 39732120 933003012 847436739 12009782 972405506 909418391 998290077 189603820 0 843742143 20955546 930612992 998698757 987368682 178855147 43663481 778392263 878309559 891275261 842681598 808942618 905318863 839333592 984918316 994546448 837111162 905435153 137017750 809443078 920337708 116170551 0 799076009 934743104 199416487 871606597 900807769 902715771 815574056 918905728 865670561 779410438 997612861 814812411 44004545 106691999 872792493 907885002 335838752 27863536 973682672 799390996 157708768 901149107 149097686 17193314 27803487 902899494 905792422 970947840 883527904 939709502 814143699 985341418 961843460 818880521 948103176 989597104 900465655 846700682 986067381 990923420 794502588 931750550 869095675 790499815 165380083 959207642 855621375 848239118 29319858 944497831 915853717 914418467 911940097 932537468 42137472 835291555 11417893 881938686 886778903 968298173 926974769 844886721 120618878 918549970 968163049 963965032 927327864 802970356 232647491 843080938 984072173 795702525 829801866 935235793 158739610 877154232 960369294 814524036 890493678 912946773 964530375 993566803 80440055 329568793 888593465 836764395 794550314 874960976 973190303 941584811 840746547 923793728 899319738 866540296 901226898 96536176 41654922 840628632 802028038 904218018 842208615 826751962 842879151 800578086 872056765 962253439 863199551 986838133 862583035 778663164 987347602 12463949 93969266 795317680 805715563 918592493 792722819 963151010 845328076 795762378 824421802 898652053 982981497 789262144 853202926 860088257 0 967734560 852543741 891000302 236769879 964979655 862657713 963603705 890287475 268220145 789549093 979432402 994491235 339465037 872603609 208638363 817147932 795279284 222819053 905826767 948948366 818821015 995127969 856834849 78185418 996155022 928579986 978541256 785837494 837395251 217422977 852593317 825329403 935997547 912369523 829114948 863984710 847676985 908001623 968427944 962994029 971211920 963339595 966073190 943691548 910227054 215043783 809922784 999047314 904946332 973963445 871008769 852937252 808992432 828328162 286434873 854532261 969860311 838935458 828463409 929437443 312118848 828444914 939332620 985301341 944403274 246268586 843108569 328004188 814437963 855492363 806556431 795100178 929730272 929523184 845096658 858371665 33636991 796128572 899213423 946424928 880733839 971183150 180255738 939255020 919912477 30985257 969912233 897407172 976629300 837243511 877474623 812111818 984177833 817875900 326307297 55323747 823504772 944274502 885739506 126628980 822962434 895933670 854997039 855089506 129452970 812422154 902746999 915420734 922048823 880527214 231668659 974086339 898094915 844815249 836015040 821821897 975369171 964268762 245590319 825898427 220891567 833670947 938801495 949709404 811091774 0 828072375 894305287 881481935 225251480 84506543 35454081 20021220 870924376 842113432 980234070 949517092 824381903 861694044 169601529 847154931 900483404 264984294 885930017 0 97467715 228309583 243286834 942336611 858019889 817070191 859314921 817096626 240221914 866885762 879040641 844131055 848965078 867307457 196668613 845456586 936191493 929108428 981338018 892620871 997033668 150658317 809450848 932600300 790211091 810956053 149286760 842881589 175680452 881021154 910717133 170858251 119291035 843871988 803481832 851864050 7881274 800428963 949170328 892461989 952150748 967426667 129382586 945138247 948280366 22170757 911806751 897769818 957992228 895403280 803290056 48118582 86860200 836572678 828537245 311528275 969433730 809174202 984495650 983478857 955078082 807344564 797135447 802462801 790613538 936661915 848143516 794291598 884194736 956161939 900200054 785016201 962388574 941379722 891475821 899012987 824784458 863962600 906071170 822713048 804057379 831890739 251161143 28036551 897399302 990882367 956509079 231952050 952432050 834606570 984062958 913879175 913117123 211869408 217657633 990214585 855648647 910164611 918948390 951188912 783402332 935144629 969609469 875716146 878863293 36946190 824039498 859963813 902859638 855557537 953215996 786967150 878478364 340150815 816474143 807322741 870990259 963466427 810661575 120331316 987019802 807625899 872517842 950481591 -409397131 871820035 793894337 873542988 73478222 255940444 0 930727379 162107532 854596938 800028905 838143363 798125930 278521521 800304535 925746811 935689391 913562330 891433804 851442358 328150030 872062227 229186592 205472256 901475726 866541509 930306224 802801077 60967710 893305214 791088175 792694903 856295244 802187914 99113433 828433215 174866472 945718471 836117725 933290800 778754281 868007464 812934119 3457507 308154724 864550492 961539147 889185098 795529532 74462837 845106778 213232705 864574582 188723318 985180296 919959642 196694909 987530950 964993774 109090013 339714498 831621458 812932474 331133063 43367509 277663761 784217011 845682590 859928811 943178945 952889150 926433458 127070222 858111910 968357010 983375566 794808710 865459434 891361434 890448587 954552587 994127944 32029972 903998403 24315574 858644794 824426897 972268565 979749403 842349689 797982230 246182280 928721196 224660447 913135039 792575852 897979014 184095560 -680288329 145367098 927889161 812452500 102344590 872069239 35034365 269449058 89599480 872367458 991282392 811634612 972746468 996981501 904048825 899482044 804328281 804400395 780659075 849975204 107428564 258261969 812116981 988206880 967810308 835475817 981741536 856584118 962557679 991939037 970281151 985711703 138197148 858697156 995047113 851464291 993318882 886692773 945726556 854540685 885906327 867345718 873852639 808481877 334149209 946164844 900297097 949422605 832041033 844253166 827500763 909146908 835647758 991094524 203664668 848280024 974941900 812650543 298978735 861457431 171637059 814016502 828505674 963724063 974910920 783140002 914020898 102073761 825049225 844851621 885437301 151948224 917342259 872589037 868592777 996105368 984076270 987251714 62233511 299595924 17337473 918325372 865208368 961593063 850100531 964372337 898038778 868474792 914749532 996975690 313552754 829286167 980422920 295717 830090045 991300887 235821466 893724097 932891081 848644208 779320739 315550088 926930981 783041801 985140080 949276808 956208017 843544414 791323302 205289239 823483607 998543554 998848474 953210163 68778753 826025951 976596930 928174424 268172926 932563655 995130352 841621342 980234952 816606024 817480242 782537028 950779481 931523647 969318705 309522505 980724143 336000048 128741816 938933854 828061831 891510677 824400347 871712554 902799537 783769040 136005388 980025225 989645104 139227872 966116200 951135287 0 898467661 0 207195883 871649755 844544106 805241235 835046956 888630361 983545173 797893956 803649141 836825487 38003352 179239363 842295840 834353338 963046555 888782687 227611735 840236631 117579705 839410891 799795739 72544618 788793735 959717850 861343023 868261820 838601922 997250618 965738986 850433304 860777786 897671713 870823385 847590541 899668932 782976439 938571802 936335224 895928189 826568870 852431110 876141945 912124187 316212976 867737606 940825730 792483143 893902924 931756570 947063125 931475093 828106028 824540280 834022925 976296746 923893298 885437400 870145840 873328233 915090505 842911900 891010796 981320977 990048255 917525098 810422419 924011460 864494874 861630197 962603121 867520975 805742957 826111632 838698507 969179966 59122728 916443735 908249594 947905196 805106021 901242945 961582595 849839064 959451488 790925591 920390945 939298558 46843012 825700348 177128939 778664087 924332008 14183959 997797195 124259089 273739322 905240984 852839059 905053905 839826159 992118616 859144991 973991014 875156853 927898942 105669489 901997372 900399943 195128465 838988197 836764733 231234560 890679 973398974 793970983 995085505 958335789 192027144 958755435 857438180 859965685 969019975 815845001 857936293 784826978 959336760 896940424 943414780 227607407 801129934 834358542 993693310 907188612 860522469 945523666 876065192 913687918 852755084 789381126 823845583 191929013 824422556 930878637 901331486 858168352 34796817 29867730 939140982 962381093 839218360 948568981 914221628 857082537 813831551 882082714 820961099 932518215 813871859 823457078 832516278 827501111 0 111087120 829353301 978723883 792378016 818471104 869202315 27444589 919269911 853904567 841171579 811063077 937331233 932125500 825307112 297615772 890533067 827323040 846691318 55617502 873117865 810499209 871964008 979373292 854820611 934781006 989885843 875624569 108140860 829628764 798265031 904383952 815081412 864900105 305517243 986494892 874381585 925264204 820030911 193743721 829050248 909778609 950610723 894116058 941551101 810582961 968664223 948122711 814436874 830378018 339856581 829976149 929608745 307592038 793401997 977158418 819117188 77676599 843259416 926812730 822907689 133727417 19806216 886096779 999061309 990217781 812550765 872797625 905356608 237374415 946147786 985512884 969662017 289684206 10651131 974364103 950054111 950452678 327615027 962412246 795124487 945739784 938212500 857007153 908114877 817393815 835116464 779983389 909278123 975017737 855832033 102529630 225945770 938029971 968149023 910373860 122841606 980765811 220281830 241073668 887664333 798403818 798037233 856797235 930183294 246595825 163521510 930605433 248313799 924751752 792332610 217176405 882176423 55191688 872114384 879149446 19370844 801169666 190829065 993428236 925613274 943163300 328429893 191898465 990745310 27340099 336194253 990683094 147833891 874707151 978750717 938839982 812718977 804561780 67861768 794952772 153639477 908033167 963254834 977061229 835126658 806114282 237500215 953946407 874226439 888241242 978557039 854472342 949593210 964144639 807175857 979656603 835691957 0 244840305 967072651 821532693 814256348 975959820 859391104 225998615 888859721 911254706 979269387 984144278 787749130 846754527 967719123 835239767 836282907 921229554 978847369 955351630 863700802 974669293 989849878 981463031 951978667 817281843 286551178 793582609 329239536 271573855 953804984 132783862 835049836 914084702 909256341 971884129 283741515 917785407 223876484 853195353 261615173 781205233 944218721 112705260 800956700 977461575 841707258 925765826 890469669 808157610 988020908 962522765 842271888 993074107 807196492 862394739 271077321 993530858 125411174 827689620 270258120 848804629 800645683 65746277 166702055 896656158 794315695 779328698 791997375 915373057 42485250 798867547 880260012 835129011 854946327 933913128 851576558 884031104 897994417 834419639 317909013 203005014 830537867 959970196 896551357 342569471 337747902 906600766 875642783 927670411 989647770 922381055 987305682 825384335 952035076 909221424 856758128 998458739 970901318 924744924 953269127 944200329 131775013 962088645 1860228 957037406 999073503 934151655 928122655 851233321 955513008 793191403 832891568 964868083 99420940 951698524 969763359 961147112 824371140 962765112 269498683 994032223 888022584 962698562 77695129 790684635 908871887 890376458 900846439 957662199 970436352 953902703 985297688 856050327 941723041 841142189 923652233 285710768 872738624 935304366 903337384 999416697 912061003 969818417 936059096 881370852 231707582 795608901 863828037 239679746 950509774 327541187 898965312 783378136 954065404 300530268 839874694 990141052 172646141 925950430 912558516 788886996 917720564 953550256 944961229 865130520 982888289 913764266 855379908 858666745 888302308 991696893 880868019 785244042 911564077 257236175 818565152 953001629 889454518 977953518 802713156 860419427 879700125 26808678 920315488 903412331 858382130 931455669 977445054 948662092 852593532 921249692 886111664 879037084 862294365 898691121 958392689 888892574 995280666 875126296 810582422 947258809 962808095 784851735 812792683 987245186 893470604 887597730 797241578 864913500 822409028 823760200 865222355 797122667 836757202 63239502 962650574 97802013 995475222 883342972 899022874 943079998 942526162 919512471 942032245 815122623 867823283 811241201 788352041 857685420 880963924 788428515 994225709 323488658 949345001 803182442 901358031 963585322 92792258 804755715 872052797 277512730 824633138 867542427 979382279 936119959 274533764 985363821 826534005 857926356 174530063 905227858 812689312 986284606 854075094 22551205 786507638 966000316 271488467 863035008 889288424 886960191 787532818 888291139 912571333 938007258 882537075 923831340 802070028 791918917 910687050 960385154 824677935 804252373 912683142 841989189 783279562 889648836 259950230 835836403 942471052 811096428 793571103 881089251 895526789 850498613 907163347 877187376 910734545 2934045 864192600 887740520 300670103 866473110 956531112 985454098 791677329 66123692 856100038 815181427 -372137380 963331894 108403914 781631899 856548657 788859000 991317130 810503066 823483280 824574431 897550078 810684054 964877238 916741018 335291672 216017664 0 232833989 906056889 804905457 985770618 892345048 925799668 804281714 957025883 948558500 833683600 929835333 932669674 148222073 798902721 789617423 0 838918585 934597744 946859147 215170418 961180714 950629442 899839987 850374568 134945597 779834465 886195039 934199837 846081499 870179234 37016946 916951215 967225454 858286089 855095233 148224181 783577605 813428788 849219600 850082689 925900982 992953360 868469231 852104202 987497640 993370957 807890877 891207211 867930248 988268957 872004064 956027527 97950767 803313066 179101585 898336802 861711325 872611712 877331375 808564742 914616944 936631045 850184673 958173984 808044369 878043882 991382529 990488876 23327196 199081974 251454961 895600142 272474790 891533065 795856781 884346382 295267558 320642130 994705063 844033521 779254961 838907815 838419358 975281687 823780333 911870198 136224364 907877399 783867921 944303568 781893312 926721600 872103256 806065811 950592485 861054072 257957013 987106976 864946678 808299368 48674006 902633299 332191767 860974842 907202284 963451902 910250655 822785631 951759569 914998762 46890806 846654143 781411889 896735574 782108485 968127815 934560864 878939052 806998738 856316473 162173807 210928131 220470524 791351396 988245089 986691087 69695270 796356088 951287244 923844623 868008220 787594728 795462649 795834979 906811080 889590593 927240359 920436822 816425913 24681194 932427735 936074096 809008939 800179846 988755877 329985843 205442660 932762755 251950012 905626817 880697527 898847522 796855976 910100952 802442967 116915215 232712166 855602134 876201718 944405907 894163009 230537492 909891280 843243307 891941437 855540909 919529029 821450578 105830902 872237255 250865461 295590027 839683801 92046267 858991513 804123970 925036624 952455083 836300510 924618973 309378846 832344278 996698574 266510758 937160605 932510935 955689922 151593999 946932644 935438346 173659219 967873666 837921134 975624605 837481804 314831513 800928306 822048555 148807889 310542994 935825233 868748051 87526985 940968554 874844716 983975553 0 33069584 936981203 809434383 911152640 873426123 915421614 874606227 952381617 848175777 834458391 838564400 831851319 810189348 937892424 903480107 840052140 834748496 873532120 884833802 996100145 844181479 983332612 235610452 877394540 866352211 950839345 990594436 811187318 982582699 814520618 836493356 320065868 341475961 987657986 906558836 934901723 846652437 853237419 934640998 863131268 846477274 271294274 786759846 880818844 120246960 900919714 961164577 806389047 241774217 900689775 869892885 790016247 328208831 179284071 156252953 969348052 68342506 825231927 869783326 797105144 896322431 929722295 989549136 314631345 908643161 785735691 861500652 114017137 910486153 331512413 90297899 804768546 962094531 -653714932 882004557 996977389 970853343 53485737 72386548 33760525 849883580 893887365 137143949 943468256 844685331 32675756 308331201 974149200 815164517 200684680 975804774 128089098 863747541 801162653 986680968 993613944 937993186 89172657 839366783 929251826 876690654 821435086 937333959 965703113 63449348 930591451 937824055 784387522 787012329 913450368 276120727 804298058 186153923 895604070 952282403 347703664 251474838 793890303 927327131 989539964 817990303 823793974 221678302 964752741 997735429 876702652 858910736 952217177 914883740 194492197 784916558 933715874 928218762 778791709 939221895 937410397 918707233 858148734 984757947 40582930 782839724 904002368 928815613 808135438 819191515 798246368 823466897 873544992 304927985 797464682 794993868 898074869 938054061 228829839 913101341 778706727 960517879 909870176 211114268 101438580 301732171 824279715 980460694 810512969 997422265 907930088 9884104 896770600 885672287 926193365 802181555 912815772 957835352 914284951 14193238 937041206 870170119 156529842 972901829 862468852 291336962 936971074 904938226 979021270 50741 906296551 834114912 200910216 169638121 798110962 -722972048 794857431 972987938 977121431 866814661 937895724 959256804 334039024 820400967 893689992 108529839 883095205 942866334 983669145 235387958 958841103 852577329 807977763 324522086 241613770 878873313 917484010 967008569 798839400 913800896 259676843 914533659 901409685 972405431 989672968 792041052 894006480 785731006 0 790253911 872611623 817027293 781818274 888841877 961406863 860268588 905753298 807261583 808049765 13191998 904013791 938941285 837207161 13244750 943029393 926368363 133708285 987231068 908713963 827914000 341524667 882879456 823189374 873267486 954986323 966768078 804088799 986308287 119486613 931612247 298322586 792310928 940049376 920635542 993973662 962696043 802817717 214628752 902722579 941204910 903010615 917305427 804259773 328665332 813061194 956573064 899579112 906153127 46304826 876907105 958875655 859017903 927702652 955283885 795050164 818052961 923481100 830247455 838573074 807911721 963818023 961715976 786290298 878897574 845792420 825908319 822273930 178377328 883374894 6973013 137038405 902959108 825410395 85551295 291448562 914811790 924988710 978613546 850064812 990856242 896303965 807771525 798018200 782013391 941737147 859373412 790274519 952909267 858196579 818212536 798991513 901365671 866967129 830110516 977304942 795894356 875570561 796839114 794660858 788028516 811074316 101296868 950548604 929605505 859589276 875867890 984729473 926240073 46926193 939056680 973875118 9730057 788478431 844666933 839366583 883531724 805183348 874986482 18389582 831648403 994798515 944046486 845166289 276137160 905057796 922211998 170674702 951182167 207868586 974591404 993581936 842725783 940279656 70130477 823005947 882055045 88497947 980722052 953615338 959238653 932845656 876490976 922909598 891772992 3223390 920259999 34429257 928687972 938845512 786767520 853224302 779851767 852669108 831599853 -584872541 840285764 989691331 331077284 942135181 782651406 857591421 807583419 841559727 905083656 896210197 908968672 882577637 997523938 867731862 922602548 829455146 857714682 827587486 974268892 967096692 995826837 287939112 821278149 905830542 959870714 929382420 999258493 820119994 29565002 780748574 341534864 973602336 798269306 778631024 9233939 898466302 888393249 981598430 155322952 812253384 951943163 928246904 959268086 70577865 187839191 911570108 934141998 912246311 885183707 245155538 932035328 891870063 954598834 280164902 857614231 904132816 877973093 981613157 839381675 848476543 890885871 829217441 258420887 797276081 904438749 939541654 830070814 829369672 139849492 228482307 801426583 958730842 943425236 993123793 329655568 281859340 793488203 819855054 319516742 963849255 786603586 6469734 815611534 875960831 972421409 272173443 989663658 786483708 943960854 923518477 797366096 977506579 915381308 782768047 993319092 821334267 937511759 960569228 840630482 796525876 849929928 785022364 979755273 937490110 944543098 875165594 842598653 61757764 989207686 935586145 883060901 848087426 200514617 806238239 815833831 924063196 890497763 962790318 899297533 821375924 898808808 867116487 982365379 833593239 940046630 829027415 869343273 318306727 799217830 305669157 915576428 969022558 866116528 957015384 982811439 0 997545457 960343307 910866834 788714778 66978639 860113170 856043255 64384004 954689888 295907076 979726529 995749109 976768750 860592764 987772833 837381673 970783650 984600813 883182015 937962910 867417914 808750572 838641208 941914897 932062749 953195099 960649136 994578227 935228427 974067941 997961646 901595643 811610172 805966633 956981742 824784293 985355578 942055411 953078200 971848224 832660392 781733490 891677755 878072279 840742020 832464718 191441460 322831563 974261692 966442294 998167337 311956762 792631576 942977676 172199065 125833276 788807294 880967165 936036123 885626302 972491073 956755614 70094199 848464425 938877852 47479967 830495209 943404772 969015728 917751950 889098751 935769632 934741858 894651222 981809372 844357999 226438982 934030958 931041182 987681264 906528515 896400269 222520820 787615335 848932269 913700815 791002611 788499962 856473179 882288385 785377019 835096814 244455344 794159990 803319482 811608257 850688248 943304629 818662328 939869461 47476132 826321415 996531617 887811821 790205314 914959479 917732634 833573623 795789258 822167648 883181838 158954353 23325387 910198678 250562720 224695636 818172724 70311736 822135969 811089707 809717326 34131509 241648705 877963862 905742106 0 958572699 875149885 813002201 796811953 87709358 818384282 74679060 794831213 995701770 976520076 843228049 975392754 957108287 878889663 249513937 798601449 273799989 958547659 904739780 947135215 6449935 917267496 909042909 902856635 964748347 865797543 0 318110156 797763178 273229369 290562746 817145245 870034870 789444761 323965880 855210107 784336182 978883108 974197250 901754525 796278941 320013620 160034979 215349879 901897363 282021808 982337438 168158992 985608784 881645922 828806119 831046770 281612001 905264223 270088931 830768925 27087989 818837785 795099788 811347230 110798108 869988218 784043751 966789254 236328129 964583103 942990887 950995757 855533280 910213971 269741200 948215607 791187893 962631448 934650551 864796934 951257360 56273693 931807899 877970032 213675340 907699504 842347441 858898287 937312377 336528356 802679878 937021200 332640165 788408055 885459603 809889600 808359405 924102724 817947129 869912830 797176026 946555681 5196091 827683872 806334168 926778017 886618398 876370868 241970182 177166156 200968796 962732102 940148778 218197740 987704734 266140910 808655370 836388137 861277239 860826143 864412058 825001550 809841322 820840329 268979440 828273123 913490344 940217452 828842130 861045578 921112311 872453734 127107567 835702932 824623800 220137213 922408594 945989894 981837280 966457756 946670183 193334464 781067705 831288286 823830594 899625916 897587893 807948145 911945404 978770479 144001811 806938703 870980681 6101779 844894649 851083805 994592906 903724579 886875197 327130262 870387360 881204960 810571755 963885837 814140102 852741 850083855 931218998 120899066 934620995 219773761 778221357 202956339 162763611 898050292 920428468 966509039 948426140 934899669 791548481 909646701 929376307 887834196 935040349 805479772 809622866 213339320 892777412 947631355 308969384 870680731 874256357 275010917 196355132 986011725 879826123 900935143 939001889 913048404 226903848 782829635 792614484 47836597 835755505 891527529 797319246 882128688 934875519 875274586 953156536 947239802 877768170 836876126 861679043 343333834 872354092 972709869 981213353 897072003 892804034 992124363 880211937 305216092 858892746 845158467 886595679 873452623 926899494 881078457 962823796 982766987 800500826 882424594 889095178 948739723 898228586 966739954 867256700 173959489 858290059 843638257 935592816 144134640 915590321 919026350 799777238 829117101 936438384 989259623 895322638 801034240 279134242 323269939 971962026 992759664 989997959 265177991 214444503 860105067 848014532 345283632 957142438 868355546 782585777 972537695 840212783 808241121 903306413 944627969 839326018 955869294 964304167 990308528 820995579 983753463 142853007 779210171 841532422 960877477 346576597 11765329 894333574 924997178 943896854 987583186 871905579 909630230 842145613 203603977 83677828 825599549 32567400 834271569 808752300 784516721 349911116 791265266 2535711 825568951 964275302 963955775 990009912 780856300 969292514 829834434 226239642 932395473 794546453 932367312 828371894 974308201 858096925 796756043 806966968 837564125 291532168 289290455 913297588 790451721 878734748 946340928 799791907 990685466 813576957 824949795 314369798 902220678 783550959 319508878 995177455 917262008 932965074 914404585 824098368 974129017 879514710 956988593 819542509 900624498 991909499 981415362 21177529 903816234 187649880 819895950 877319044 975293478 35503845 884518339 806030603 153939653 891439016 781123467 992474375 783034211 901291119 797157695 784457326 786311148 249671771 935702182 996520685 802221670 859769392 123068468 332887842 787754859 922863799 826891936 269630951 922849542 844750258 960054359 815733291 883815496 918438675 284511056 819809382 885482993 783538375 965760351 886995023 803966753 832254794 879048493 228917284 288938301 787151748 843988710 837964678 10357451 815996519 908634226 968044000 994393013 991078537 787102083 907535372 870311149 959836267 37682876 854024967 873112191 845771654 810551218 818959877 347076107 830639405 166603473 281150374 953836057 957692577 839082403 345804365 816143273 815149927 992461886 885050906 936866735 969065970 986213455 838795987 129519895 793170984 812997288 970516609 920632357 929908549 161280792 927353899 999146464 781818558 845950842 960502560 784179220 316949803 -372260876 142034870 865340260 967416983 207377902 136916475 826375165 993794208 999457949 846430979 977877230 863945082 308366212 918475310 943460274 923025882 998904255 255010186 897729873 966117867 779276768 784435633 786802407 327219876 996962298 941257354 894146470 936664738 835251861 805956326 814553919 203581688 969131787 967837108 943046556 782554719 911035425 976995888 779065942 904155580 924503418 858401059 336452450 943677659 908429403 158009559 938773764 819069038 925888490 828505699 890901820 820695470 889358678 876145726 865863813 835327069 901380985 942128256 839310516 927695557 147709663 896691608 317432105 926493038 882144173 933472377 869807432 890595584 801352815 925326935 983425064 869071866 -498741747 232721758 194410896 911301264 790932609 304733384 815117584 812784485 193846771 982855216 795975547 932853661 172325380 947646769 941558615 915889765 19749152 902356041 986040266 307522800 888716641 842490922 864558826 262968382 938033902 972143194 139394234 882784298 822325019 955084212 947658423 803671005 859154690 14845554 264995543 864783901 884346631 58642428 272078644 832494314 238058072 957607867 884648271 153591494 842222229 817030802 900830367 167118227 816190736 914720626 833622468 903502243 844634105 880227917 979273171 843671525 929863568 94123604 962828321 822884142 780113252 936171762 99807938 906034696 81604073 928954563 114249463 979254047 893400795 179633310 955642642 924543282 868460607 816480318 989286758 859744967 965513843 944644992 822678440 978660003 852713268 980755548 861164573 836610746 962427117 826715894 971366695 810912169 257608253 895967316 966780226 882912193 847348354 961444859 312497935 124443894 258262275 994246080 891788006 783240777 885693239 247257754 809858408 875960743 938186598 224307433 971227367 950491446 35707889 930318961 983614892 965038508 895512961 186096004 868577401 946556840 937306817 789654076 847631862 833170805 931539075 810379237 798098475 988672763 840876600 88379845 903022637 882294799 200410818 869817385 782021202 904743523 844838808 112768428 996022678 928974761 822265988 997446611 779217697 822557465 196889423 833492152 905041236 875228894 797374422 984236402 840754403 938217621 239974633 207270794 122527995 844163668 924447333 851423152 867381611 822899554 883353016 875391563 960584750 157889516 0 896852736 938884418 828075442 950082954 804132880 782571742 959412213 896258090 295536071 781294533 977781404 844509789 944452551 893240933 824939593 909717936 846988472 890275341 964835410 873049575 981304296 799730709 844178321 86594376 292130944 866230695 848998324 986088981 950267228 913296349 246545121 837459651 940261474 928773901 785490017 836433565 940427227 244472172 786126941 961622556 46490376 960876693 992935844 172314740 905005653 890158834 996164303 808784612 974486977 793545273 900079314 898372982 832838898 798009988 916954509 899878011 894198394 120320643 836683130 949784167 831044497 814151268 799263829 900872734 328095000 810109568 950953537 973982015 916286765 869645347 981395386 926652687 796858325 866969298 882310518 871090048 827655911 779251798 65008620 795307237 904854335 907727935 924601482 834920919 798063763 182465011 130497724 872764956 940628540 917966185 825382895 900865618 953039023 808239721 872530919 321086054 853093021 812588625 844214918 783312083 996032290 983898528 897085525 878632464 865315587 888048651 831335902 991683761 931596828 324325573 882966263 947817288 44374123 -777496802 929509688 916392116 816019706 785654375 991868662 799539788 969294561 943357594 908242776 39189398 940098736 946359088 997744640 917011971 990009159 904500326 932378869 20963155 279293292 792196235 778541961 0 884793773 824907567 107123960 183063665 867949658 921697023 978940062 15325005 933041194 996152530 933766823 804586199 42091299 807767807 821871201 912751582 916020979 996823734 961530855 958294555 59227824 963299265 120116055 872304524 879102014 873845720 886452456 897012629 56209750 893702617 995680545 809461753 842702593 999607820 880173393 910736627 829048799 907748240 882424188 993347213 888316772 825707491 785604818 971057511 878004213 795253353 936007702 940047486 849162504 847408950 809000608 294887140 901784334 813895226 181503473 887480014 907925808 855192670 932914622 934998751 148127480 947403313 899549603 931859221 926048928 913426541 974982207 967693203 806886088 931662501 59788851 988495351 957757057 812340893 991257239 866611912 125842556 793313886 805828347 988486222 127007284 915347398 899926931 868360908 951274689 950071525 915320930 888602616 976415262 816833066 262513761 928517602 77417923 937384734 291893955 817507979 874775705 818836053 895233526 800965742 258089791 324783770 890107191 869568282 946546753 914959423 866010214 879394483 942747084 919946087 781212752 873048170 960638793 183624692 237516356 866531325 986725810 106075612 929830254 76499119 936718213 893060176 282093572 922031831 922296184 891651352 996053811 804189111 936523658 232609421 572284 22987960 969169758 835465331 787160141 27859737 978694420 955355256 993001322 864955627 908042328 789632151 807617924 166032462 783259648 262756719 817001404 227472257 273636916 884662492 72703822 957031101 271502366 855580804 787621646 881757434 779341376 839620955 919428893 836490907 930625213 207953832 798233449 992995805 910760023 965630831 911696430 313107784 0 809308478 974837149 846283675 883242540 941878428 925588210 986236552 875587129 836704672 924245657 96507642 833320251 891514499 968750556 319886402 929446920 340463124 901969367 889197208 914814766 998610202 980185336 865517559 922859847 843323567 874340134 995358243 975330119 916055252 978892179 104616530 912735383 940571291 152169709 992526741 326637139 819323995 248856565 822233331 804709456 338691695 861404352 165295067 944312249 996302748 132806839 787248995 884713348 887349883 798457778 901570178 843249860 799419571 792238237 786436752 928752531 841659022 890933115 960557559 301341026 878604974 138957970 305845130 964198853 148330222 963976895 836219507 969864517 884412357 23974176 862984699 13736079 948882063 931950704 967588150 924840654 902123080 988700258 887488964 90042714 148532157 930297990 892819285 860112294 845664853 31172345 858522534 963090476 872397351 319677599 879781036 958275894 261236227 324509634 859295287 291448237 834248632 994570227 800643067 819827924 882958889 981024699 818557647 847863351 868430321 963497208 851704035 816896306 998798899 846166750 957144866 892221435 935541962 912961161 959220379 840101704 825705588 223681118 84057702 167328717 901133175 913799606 834796228 942432775 273143805 829244434 837739106 811250496 140695460 42234088 919891451 798960061 33386662 822553080 166106436 876791593 944355863 895408416 790419606 4876036 973647273 958736745 967232820 297234202 781205044 298552193 973283455 994824278 136557854 904584962 874644895 133683263 959522031 94760003 819932277 986478896 921576775 814838450 296780564 846508023 939839282 24644803 240909233 857284149 72679465 780048330 849034332 825568416 87793892 840226957 966441048 796013182 964291823 993412842 805141678 922024253 781627240 942543557 912046325 2122558 883225092 838819204 905128736 986629808 947370881 209690958 923877747 260390289 952415152 167526884 152354231 213563247 927266577 942024436 825614710 925089602 941031737 84312588 975790808 919794144 844047297 891432524 995821346 994944379 979167268 884583760 83761893 38838495 977985196 837881754 852253276 962200663 964492123 810473844 867654619 821511891 784080128 846208182 959203327 928298192 894778319 842944403 980266865 47239075 -757692041 181836086 826958705 818531673 801918679 837341690 804924759 781431520 820525362 797562971 799885114 856459241 936906515 788709161 963950957 990519044 883336313 867873490 812969962 854435630 261371891 300891359 260658758 808004392 21592335 791716543 912949168 996480817 817025937 902529785 991754627 811090401 806564654 856504616 959178190 850507483 831391606 832666144 968108949 803697063 992864053 903570688 996832834 131193156 877634177 796281699 975730528 930272313 250832938 236339624 883923073 971627105 802958552 860141518 877481078 966580555 890410592 81793311 879701287 22643812 849555301 199005694 913116012 992333084 927695768 983614619 44358499 881487680 320118291 324764109 886856288 957020438 817204662 825378778 786361457 821921318 997548945 964383511 241816750 807157773 343734240 886690098 938862234 262867191 994246665 781997943 950405482 819114586 946846720 888524359 791924892 999718912 847438439 810904761 885637927 902298020 999291426 828248913 937067222 232230567 898170143 861844316 811610864 965555888 875720012 182469066 146209188 924117395 -491236195 998756888 287517291 998314295 290327720 884613564 10414428 858600931 863613222 883142519 850567661 820836153 994108938 968889751 233333175 219730187 843181909 818808540 990509658 942657638 947899212 924116110 972585539 778955189 805434778 858020996 816554972 950792213 799210183 782851963 880581164 790610035 951485777 933721656 230913661 949094438 79190910 984437961 920430109 913726119 856010309 267054010 863577941 821167791 30283278 988132464 922874722 810882303 934592516 872213531 783263406 868217106 848638204 999488574 862284801 949045473 287763670 938096495 197406498 882079441 891781787 76891172 780654410 816380526 794089816 936597118 38742838 935357845 800986620 902777979 -766373744 72172991 783176423 852034006 813477743 65870769 936285486 802884430 856431868 780940491 298357334 902419473 926985349 811577038 934121425 819109682 995120180 834266054 871474150 952710906 138627556 59896027 175897503 946755943 108193196 890130680 815964820 944948490 166549022 963325457 835282129 985033592 879773691 909327403 889922668 891471020 786183762 851092543 842698239 903942270 814075554 988821248 897413106 778443429 81157652 878461851 808098654 922258241 989994205 859520952 783800511 817498224 916108037 236103302 243594576 793078368 891552336 900155069 936497404 784456146 904443475 958327874 981851428 794485132 987223883 808928787 908404693 921219676 216125591 864548914 785927931 988929686 251772803 853473287 862245891 802915918 929465709 954540570 942681675 837729194 248768033 800945480 994896659 293653444 854223106 311019018 854735115 935619689 844462374 178528277 822779080 803984134 273225166 969085627 837458548 965700899 916153101 796321310 843829265 896673350 804120501 912776285 195934548 913365492 266624288 187927874 893430933 918996178 913676719 935738514 163991725 779803282 160834159 955774798 828851540 853031164 968502389 873401966 902857669 142557344 973065482 989414608 861881864 349328690 851504563 936736624 976584867 802189730 153309067 816336020 882626236 947413931 874631387 900808353 948999063 143924659 855443465 132292224 806456967 839034534 335043733 937762225 836894212 995457344 822905831 904539109 989563570 946011262 335732179 779636970 870815916 795243525 788884210 825999072 901316601 923908052 876490563 40149658 167556799 838249760 211921033 807059912 795822858 930080133 995254770 891061791 289118115 984863818 837617370 992468830 782036294 827933262 994853223 824175521 984533808 849155693 887023090 878548814 830251282 93619520 842778199 805455797 979410074 967924828 800813206 875100321 931717432 884786821 957300815 947278815 849528167 862751693 900653382 985722208 948085186 881009625 860451946 937927110 796298582 825167021 278573133 250926057 945154854 326626090 963438359 809931689 921886816 28678831 910801516 809105442 147756078 933326833 946693816 38905176 913540381 286132566 983121849 824490747 209934136 844421131 987965630 874897066 148931259 895287540 863247704 850542508 853696786 884211500 71812322 845959003 825433963 192299311 823764021 44986840 269065062 273528060 896179610 941871177 969563715 797691299 913615356 825974390 786505669 935652435 324403570 841987407 900729441 202396178 121178226 985149527 930433911 839806640 803298078 914394153 842505982 926508489 885156373 892490085 996172475 809306463 962096551 952591610 14948039 977589154 840133692 808210788 276996624 94322810 15164205 853550012 964503901 893962764 828676078 797260766 799261038 981217392 798087452 220130346 822546365 945781177 339035532 101985582 837001885 798199034 870104176 303200840 914180268 170410265 95152415 909338208 910218177 945259314 815902646 836212162 -612638608 901149781 931244554 861979466 907094086 90975623 58385860 872454757 51297693 984871068 805044002 800862435 971279099 911859187 924723475 968277274 325320067 789477240 948639432 965318210 878739734 842261764 329885065 970715931 950450705 160893772 989017597 908524141 955375041 283675998 792232161 865025743 838489706 913744660 974376819 813660298 836421614 932746688 930215153 984237465 281402901 813896863 945126368 817999510 844444798 780321474 814897088 865204934 781098255 934092909 160909171 30472729 998035336 283758734 779006734 893308522 297855858 999910667 853340500 968680683 111838272 839713893 965862773 994146368 202241216 983337666 973191577 841280603 161401928 195559065 10685779 916482958 987113769 182913350 167386290 271246829 37143774 795930133 262771141 932250326 877970965 930903474 315577016 928715591 230003231 926407686 990113657 878870523 134334739 44480058 790871204 785373427 235176731 274278469 832213322 931264110 199470972 47259263 841374219 922479275 906192697 948201956 865620300 306390327 994831519 855061683 52890495 894680248 981147058 78163433 877678938 14046506 896990930 312146359 867234849 843674250 923859977 977909931 822675257 976491751 804575504 921117741 37678354 821289845 932914875 77844902 216990180 803000530 865939812 922368494 306174502 970624672 782692721 963250949 966349049 924960928 994665303 901378844 947969777 890741283 868392637 166872270 906404432 928439304 16428964 803498595 75757911 806311246 154572675 872633943 908234041 884994097 904565049 267041654 889772588 281220951 944495602 962104271 911859785 204091912 959760403 228727404 843573832 875057534 960661608 148279052 858933529 889733856 788919894 236549519 782954062 904008917 952830444 940291204 959137026 969914623 845259079 927919347 850777294 111632309 949393662 912675534 936672986 915049468 922848401 800733405 905055890 786836809 992324469 158894477 786676193 865939620 866525771 799332091 957231254 935014091 892414223 824009223 846256452 138136429 952798878 863777550 806033843 929779319 72209925 799591654 95036384 853529381 860622490 816811774 828100371 837144977 962616511 866764565 246373637 966214803 796982495 778701303 937777985 909796836 143680937 843657286 791701576 825527442 832172221 991517262 809740768 89632915 962850774 15592924 927987427 926301862 928893935 29582751 860805280 881547483 959158572 800365013 920721292 894557825 794521220 13796355 947327611 799164621 799773485 930047305 873688352 936755863 896357551 217947294 880282164 991844840 978131033 957681909 879039266 917882367 870500061 888784751 954492145 953528242 63364892 852621312 144918511 889008594 957206505 895646612 833822842 832659498 992750339 25381330 780534387 876495059 783224825 990815936 75891631 910627986 916548641 871430270 190777750 900769420 999300097 348209476 831003185 0 102811935 79454857 890204058 907888663 873243113 778563825 990112265 830544705 899998126 929113915 968638856 286663006 256995877 141579932 881486071 787605013 988102608 871232968 889072313 329531010 915035604 861095476 982583637 977847075 909737654 924148020 837239020 940818107 809576991 834947774 300536733 811226775 971207625 874994711 878401717 909486252 114463143 131484210 914683968 208671594 285563495 197256528 816216770 955939582 903469143 336005269 19842552 821082581 835080765 975458819 820727954 958746956 808133483 859292525 841713788 911839324 846036015 837250897 967801992 942452373 793132717 981362080 940328827 950042087 279980810 285713269 933111356 943765201 884719525 967523249 847875293 840337669 960151205 788264223 874555297 952091405 936334996 60492093 823873433 265933630 786608397 970379901 879271920 135559454 858821354 151167678 959153956 927124772 947848480 806641707 977043307 848901110 890509900 840937176 980453873 903656236 77605003 822472118 861239060 950356512 941545043 951686601 901738317 831343523 974874788 853725443 828159512 924501545 854659652 899352271 845635471 883639790 890210245 975114360 69971363 862852836 915258460 899098772 38861799 795945009 792906659 981627552 821805501 909369469 900293394 941280916 870228380 934776309 152364645 972317738 798860785 122519657 313200055 789912975 782752524 810893510 212057313 881897803 868829957 788336025 804910266 920777695 894786192 855100335 953421890 849193062 921365745 925075441 852254807 794174208 830648924 914927455 121685383 792491865 342944457 797067041 942440056 964787906 859666281 843931517 993028634 253750188 832617676 856029725 993642678 849773585 964071294 819654363 893271932 997344276 166004953 991073431 253737150 167683135 875748410 943461875 883231970 929964965 962901639 214614177 213608637 960162064 82350462 987472722 850753081 341463961 825452138 996723955 852398214 125439325 944792640 875319856 935564084 929990525 811336521 843333039 943670577 869357456 824734535 297258937 335925627 34538303 796979503 815649562 955393824 961989321 806973450 998640654 886783859 909399976 854969271 940977389 838678987 910392518 877206236 871116010 919522472 818507033 323422601 51007893 984138289 900350893 66733564 874358069 915773829 44401214 837973040 886975012 942974846 950583628 863664979 191338212 821267509 784788988 885200873 856678796 224477405 50198269 942153632 961354995 914954725 836040333 262507296 907809580 988004680 794290172 834230363 929225335 108340024 891926960 920295141 939938049 889094499 921895407 829052195 892216786 890696506 801478965 932426262 132254405 143354971 889951777 981018475 957230558 829422741 0 912874198 865229082 802427955 815798226 830080187 919554421 970437090 875180273 855079159 840862306 23248978 959983095 970458549 783531530 971030621 863738558 992278747 973401049 263971770 862560412 780987910 282896924 924589883 852808481 897970160 169029040 817841979 828120591 873714732 974369206 154632404 838211072 818789690 939484308 989154886 161282260 973806214 864766757 111281321 789773909 816318471 881761950 943407419 68407807 933554493 905220581 93606723 816822230 220858143 779329676 799661802 798092883 107774016 819963224 948885278 804300061 928488969 848420879 131283359 40295832 40296970 792766786 861860764 977654033 872378349 64588225 896723996 -398968775 905383229 930966575 890157942 955986718 809323709 788376577 946077907 850354965 889884606 830652843 783435462 814457661 992929487 847114456 41567936 329831257 992492210 955951186 842774191 10208070 833871838 782898603 994364981 963471343 984385612 801139826 838456338 851868329 808713989 246395515 900810705 999707436 227966492 215631145 876643964 15357538 980143635 870999378 262610824 820380895 806616279 946411086 806855374 980194874 877667077 778180037 789320446 990417632 191624867 894682194 881336349 811891033 822506139 953515303 802599158 909247509 172223069 964646902 911299743 807467097 926970558 789385830 837812184 -386619285 210032305 939845605 836870028 982414841 983084307 149881183 969312232 975863368 969179775 336517966 994482784 211035630 805773971 845169516 937939574 964194834 827816227 902576515 923466841 977454890 171388062 874117445 77105747 821242201 814168231 871960008 965611508 842551850 831620487 809191895 49243999 913155636 935825414 830262656 953677039 921491483 92746499 862176335 887643014 241924056 980446533 809290181 10815500 844992876 876882615 905712361 806194535 816680212 34924624 924473191 866998390 865630761 988117486 989182438 815941899 972798744 900402290 968810435 809093473 931343177 935035465 781429275 912253353 968101913 808391003 962130617 839635738 65298393 72557963 272123800 785008751 955370518 792822638 833974821 838110286 880883248 868523118 875974955 956988613 953229618 824111867 982461576 988499703 995290007 967469067 830425318 877571095 817403132 993959934 789810167 933946141 837377926 97056594 823886182 32176156 809719987 975444783 979078643 345112840 940229065 834234176 838239206 941086076 918298476 73599403 793400016 823708632 171087460 903254728 913999887 30578199 897493540 839286151 820276254 205271162 837969768 916411697 919218321 175984165 884141380 881467651 899297972 962083703 154246485 958647564 791751410 791727608 867774240 914334219 881558201 984125525 158343972 887326587 800582947 67917480 192113820 964130477 952258110 778306570 812299282 850851722 925803061 946903389 62339478 -488314991 916241747 316640749 782390593 965048437 892691225 949411210 967503951 855007002 829704418 977519859 868991237 792001572 798188431 850233346 937432901 155165754 978563877 818645331 911128341 347436025 989184608 262377157 283701080 866740499 848947745 292706514 962833548 910863819 921050372 802783130 823744765 902367723 969359555 250111101 789634030 99028273 842880540 886952485 901226618 967718625 810917147 813205570 793187868 894718687 937023005 838529339 780088222 855518610 833621373 954805891 970911013 911609996 981777234 795210865 844798525 932910151 842714537 347751632 855982979 898246956 939651522 834955400 914586546 310671519 944814250 878752496 907811272 994780299 916764451 897215395 987736706 788837624 976546492 982101846 887816225 935343431 854169951 856303849 934882204 113056922 145270085 969238091 886409331 890386067 897898473 113569665 822641317 790759908 137596325 348792163 966122232 222377616 10118790 890568111 879380730 855036530 133569360 304883776 880959824 994526362 936744607 932249768 892507899 835717999 806664495 320474670 881585624 904293375 950034085 221943904 809349771 937540138 981637754 878232203 280396316 213032411 817779563 0 798759229 815698976 984149894 846711045 846399041 959603893 74833930 288492176 983917118 117591373 112490056 906267306 990803388 100254150 882918930 946600072 -415078610 905569212 981276678 233513456 901850154 876184412 970507141 822084155 924549493 180237046 916377603 971773221 102880232 871869107 823426514 967104409 954098015 898685099 956373930 861162827 845216392 794056921 169563112 954727469 809733485 794527875 921060931 915708692 934694392 893197358 266386317 806031109 271752337 973403674 874136035 785004695 885059326 877263764 988956639 828030233 856850411 997700344 780809934 195672620 937948776 201636850 878979535 954433243 846454045 876119133 941092703 797656046 786827627 191290387 819097591 971176822 171571173 13084228 821413166 869296562 909211707 168811155 876319959 903996086 853261547 963190107 107116248 917518482 37490631 911749368 800098760 815075525 933888665 985274093 121841782 988132465 28144468 908496739 970043173 962313304 792960291 135788938 881601223 853131524 76917143 273481283 860321038 267571329 835526156 112086190 64269714 249574545 816372881 62664733 953370569 888072547 822666842 12253876 828333294 885450957 83416830 979825032 968208605 978644478 110065188 816272186 801431101 861105175 852165180 272910191 846361212 848152833 846599529 930696818 280841477 817769398 871250596 808343375 0 920087338 274635854 885542392 869075292 305340251 858437214 977148860 789290429 86070707 859128361 784913347 212179727 877298099 995278717 871445150 868445728 958777506 260173953 809946953 802268295 867048111 862547403 897464673 802209799 871729899 256798180 342111622 807908937 973426001 998629390 237680138 908823873 175157578 999515168 779054941 958079622 57004065 168724239 888704677 959242066 790509582 975092509 -418295914 33041801 30642266 946086516 827492976 304442672 842540589 971843105 949061576 236508174 78033448 991739237 809695912 827701957 804579511 791097668 917368348 856165954 991293870 998864222 962373522 911453458 924076503 989802125 813574113 967248695 997433373 324082245 258724817 880943770 837464064 877724259 848206313 910196413 920195031 894235057 188092210 905281791 874152585 826378099 929511836 936431414 964049950 999836573 884054350 909645955 828931811 944710477 345437671 869956712 819552330 857589470 884034548 878600029 817414271 988813377 820144030 797454502 844690845 979093192 276378874 811906395 89334049 947468051 0 916894976 963476902 858089063 995073860 972717475 954503876 832592441 181293217 856684031 873963743 923104025 150361105 945522845 818488321 275382250 816656219 829613998 957449519 902557362 885771109 901876733 825115894 994888039 874798146 989657348 866186444 151810537 909434419 816947550 829724550 0 855026900 871233684 945608037 977172309 1702292 927221007 854363393 943427512 878829301 974033686 333075709 819950197 885912362 863137277 833169953 167225931 880906153 127601414 887051278 143720365 122804708 943137323 913564267 47695514 923933686 928889063 249781050 922611732 803688024 840776126 842961347 942389745 929652627 991342154 889062536 166384529 994338617 287149773 918532961 783228407 27012033 842228928 -636235206 998504190 936584001 969318532 855330999 924547292 914658211 825548508 789089417 892034056 978670617 884339626 826618210 820229102 870955189 832476061 864268712 916497117 817555337 68844183 864852226 999682761 967022241 168661731 798718862 912413609 851791107 298021365 860571728 248926172 787800486 830350197 29899061 814522103 21726988 959878761 811080048 959326680 928344238 824422332 945104009 842938797 278501329 190938457 967813356 122206041 913518377 934586269 108996764 17234791 875762384 797510589 820758750 833630425 255667384 919940588 981270657 985975863 849521737 842360780 124891171 790617978 817710048 820935306 34850539 42460565 802146644 79488290 941393642 869715066 867903616 820422783 238262375 940198876 973844829 326969942 931741752 887006269 81841969 922326984 814907985 852683947 988370688 982260784 57613287 985663608 871559558 177966248 782763309 839570433 995016901 923017442 990354290 802569398 850940811 909673660 871288873 288545272 779214115 801506178 192267971 800795618 901498784 267017373 800445604 894030472 893603261 889950237 956226012 792424279 880153797 813753236 853973907 71469734 893555369 285063291 274140152 346028203 35578453 50183192 878813041 267407818 28824608 260498733 331758766 859754020 856808955 969330596 797002761 779971684 313321184 796680188 794695839 998283359 849762823 258507203 305386178 824700095 299676416 815648947 891724544 50724706 871833835 909968835 779995241 802911536 861645360 120913986 794073181 276548879 804881473 810123429 976136817 812951707 948650347 856523411 27954153 865039885 828064494 51507102 803700805 970064400 975996808 290399740 880988528 980300587 990751557 889202367 877904933 895866764 867974837 787431011 218460450 998694035 896095289 115893526 267004926 943796697 923868828 809752033 953438428 842619301 988966373 943700722 901963822 865122887 969903426 876753159 797353912 346373544 127857180 783196594 823318033 898265940 825287873 994417365 868242147 961786294 788813092 852114170 909198792 980629843 926174039 905677038 897602607 268555107 885673315 964576497 807965078 835682896 803743239 151235495 906435196 890755423 795539282 954281970 914244087 896073619 830614225 326638111 937469711 980062086 815102817 199963473 898418763 27594844 206742855 888164295 291964995 967328030 800680997 17039174 782056222 831693981 125453170 926136573 813636507 894031859 908968088 822968785 808585925 833228652 270939097 920200040 830523657 0 132067726 921570731 927738869 994108607 850117334 870422394 834248506 797914248 50932040 946094291 804219155 886520971 808498723 908190115 872419036 966394594 903294187 989727123 815600081 856915223 892584406 -393843566 879343139 921214699 895642997 949068081 247285944 838770884 803719203 859735564 828435112 854247552 20645321 973256065 795049323 871879709 25156798 898393029 154678702 18010487 778408888 931637723 840539657 204496164 803219777 973608453 915137612 893361450 875263524 955104031 959531182 825262241 832202752 988734307 842749790 843254047 944558656 785942380 4657906 987090285 897017210 843902397 872786981 908443056 848243510 979316311 802548584 818476485 957494851 866697736 785627670 886013120 851128664 818622501 0 810349846 975143890 851832601 907175887 915952206 897916882 905963939 861699037 972161986 824426271 842750894 999692299 844626518 849546043 885058471 248939174 858608120 978159562 966206344 842444715 959830374 869306181 989013240 210346249 781876018 861672107 864407737 874667980 951429057 886260757 800786680 872536951 915977180 856446283 905076701 910700170 930912078 934428573 829098342 814182703 805930951 886930239 861028106 789891688 927459781 86809986 882321362 860725940 172171012 311643008 815662541 977341693 298071093 866755504 868810047 187718602 156614181 823520318 789873733 974909058 -639803183 5380452 925765246 809111796 101576848 994097110 909696153 893161633 827070113 787270348 839634230 939163120 854600838 912493453 909233233 974344983 830924840 944060021 945691001 345928231 835001526 885800498 844201684 999219817 213312312 885995187 311776258 916038054 257174194 799373053 982203645 995969893 807064696 21396176 861470406 962120523 288475766 916609457 124585233 231142418 998650480 830648335 877142562 848151128 804158024 955879716 945231406 878770440 334267920 155482150 917329181 25144507 163459901 959554474 148143091 914416802 833164604 123012619 349933155 843753181 813299326 979513629 141195396 781536298 791041923 828785006 829479587 854600446 799194327 784278850 820333285 983728312 918086076 811330007 812820963 240039240 998277429 950904136 851598780 215645523 817861656 903636211 98230627 782128213 994477407 925759889 789372704 141880131 923617637 93144748 952031431 816784983 929771381 821659314 851594092 847669596 925199877 877240009 962628181 962779529 984697117 233270897 895905000 981258636 909556425 872055455 187055842 986453042 997996056 932109067 274808536 2632779 275993376 288387884 271380304 987629486 928423517 825368798 989583711 980888210 257657626 0 206839138 863923592 994698029 307347862 0 942880687 157891768 285586933 860146593 945479104 783409377 943745548 121897420 903209544 948671387 803826403 782526575 883426919 856114622 858891429 173134478 916531565 856466396 303736743 865448939 790545873 999713183 983188910 988392916 856234428 907835711 829276031 5201116 897962729 257825367 965504081 920982292 926865293 819596788 943472333 95240925 885906552 837762871 170244730 122353323 834737517 7000100 881784688 930214096 882320624 779176375 87086320 835438815 962029862 809197510 881519766 858695658 871342227 851097960 311259322 195675943 792908968 847645618 975366268 815546310 779420486 810257543 970945394 858109771 877526182 967776360 92669882 979221994 785085781 148607162 20219841 96252435 923293630 960863284 975784724 863013979 885885244 51066424 936274366 839005309 833126510 167626085 913133870 961847483 836735254 873875263 824375410 832253810 973745856 863693044 842542196 908669500 855540290 805399852 840597973 -605658186 934039060 984443967 854272351 985494305 999930776 996181940 971860364 158874593 884898445 925680616 877808452 853672191 983377408 276530369 943131294 891548307 904652774 928635204 902137482 881391054 311656301 946874629 939667609 980044785 73535101 209771325 923442552 860637849 942009247 829735965 997075597 935856307 225374191 898246856 278876114 113540641 975507868 947328126 255977659 84006975 923740304 940137538 839631669 800208635 918747518 945243084 942100835 850067848 857133392 866915498 868698614 968554299 778367813 778540648 995247336 830801110 149813675 0 836270081 928142214 971349624 998590820 842202794 969814617 872278005 10099519 801045755 314601993 926375590 839880189 824731975 934898960 888549706 856078722 792995234 859572036 816512355 974375725 954732709 972178487 147280442 -355045161 872703968 810984960 950057694 927156025 85465400 188901332 926813524 0 243049269 945530418 837709566 839496663 160896976 341432487 975916143 865661926 271151542 950874062 791401687 954034499 791904875 890861995 958959710 7473483 942549213 822977266 916141706 790794512 873096215 43706621 855071605 788286870 77346760 926092346 894736477 959129616 33726595 918017382 801079147 833396696 869303307 998936254 783413818 100698186 846128835 965503049 995824646 189874493 147419204 978353087 181493983 972377719 784438422 926492963 799822513 823474940 826072353 812320778 837210258 937196264 967905629 35947682 892450928 792231598 340996391 933041451 904333613 946288995 966000333 805011768 888570367 995715177 961150101 883634053 829069375 15470391 939997889 887397383 915866951 810933510 971065852 918918549 798950880 801369141 925546561 983488439 978048926 832086033 342086904 895076948 170941204 854193260 912277345 148685408 834448809 940450687 806241351 197986586 897046702 999256479 919970266 928060370 941742756 888086865 986492128 891832549 864923314 817728665 953670268 971234818 960597361 885332104 201467867 940888165 860198874 877268951 960408635 890049422 798302489 14573543 86366658 868960849 863193200 835601542 992015880 898091172 804533090 994046587 967574021 973108464 327580492 783769555 167666109 788418594 908741958 334657381 52098457 954587695 936208977 891398606 0 784998108 932651310 820386373 282394445 990597662 802247259 821273579 984942893 887387125 783829829 923264233 783681192 981184983 966666570 991756436 884881413 210800503 182820013 169935336 844995626 930382808 786952971 324909561 990535715 880986428 891274452 836220143 964407984 790885902 298419759 805970652 940831093 225774628 888428423 958729776 73160784 912278438 938770260 928619927 821192168 861684028 132372712 221383001 895255568 798441788 258651769 266514325 998493029 124875071 806373029 798077019 878168907 865008770 792446869 887680266 877083979 979514720 912861856 899631369 857984802 226770539 188459081 880636211 989192794 898668592 923500331 317523754 910681209 151648045 843919766 789305541 967107555 816080825 796193091 989332336 232854027 265986922 881426455 970535149 967170694 950909597 995322712 993628146 937317134 884842608 314962600 947689491 819400417 849973548 938742329 265026910 140183969 935620495 801417870 894917340 810414830 954858223 275648636 967486652 922509203 998412223 823149687 856455699 919057188 115495734 834217465 992034100 869947594 890575988 0 804791699 799629662 277518929 928432906 899048331 989471986 832729082 959000711 932582420 906070879 917323097 102424665 249464044 330411585 108758011 885054555 194424017 891201174 796691894 950065077 990191474 922398625 0 818921128 800221912 942783304 996208511 4761166 785413164 837757550 827597424 913447944 807118913 272261507 813382553 347164529 825615460 49761773 932691434 261556791 793718875 996961139 0 157561126 840980824 869906414 834724688 954149487 785172606 903168558 866801458 926405313 796123347 813012938 289100944 924930800 990592105 944180968 297406302 259202968 821833669 843201225 258515088 941130521 217812511 874452381 958142364 0 900692338 821355830 998278577 784341385 841035385 829063456 947713672 910338410 95845716 93755138 105087860 821078027 141774667 984940890 825764407 341374580 966979494 822799408 814778685 843353807 993347507 255487389 194360891 863469278 986894996 944536155 134190846 847590782 224399376 863879260 944335829 966447791 791229147 903749427 138640590 927364231 946734594 799157403 796845630 954026390 862539234 833791573 887049146 813398153 835008737 823697648 840182881 803416763 87073064 795779431 169154634 847817936 796762469 90461692 875319709 954277199 205386949 98995846 847499640 881198974 921336194 797426698 966552398 843430788 930774324 865180250 147228944 990968209 90772576 917919751 906944682 791926223 976238055 938137309 956039171 894642503 945750684 959866689 852938050 819535389 790016562 236802238 936898308 898444664 833398340 897369921 826380155 114752603 860433815 838701907 915774448 976243134 872310918 930810215 876743445 334106284 959110341 891035561 42922074 842182553 203368531 824257879 68331615 833217791 792734204 926786736 792021705 938791295 942314416 214258749 788516109 857621371 897736473 877586809 68569222 977245940 990510513 874244021 856209512 289386325 813496243 847627721 961617096 960212114 327082348 956031395 109936859 974186265 192154321 327101161 858643426 -696202277 878085069 956084357 916810621 914575087 863629590 855355395 866787126 30864541 861243020 831150931 300841695 132085579 794071093 953687924 993282877 985821796 819037591 29468837 786215461 904571521 199353757 889446059 943317346 998958140 189434277 876707899 893528041 798730459 913652409 805963169 993118320 841138607 915956589 946353258 33151142 874125363 830134731 835442626 334328474 820345787 984033526 838878223 994904371 850653738 827937207 905374380 350152092 917732365 939217385 861798408 839607181 851481093 0 306712414 249842131 933057258 995851298 66336947 806369070 63076471 957660168 806061710 249366071 827956798 836434606 940921240 999122339 967393342 810267674 870059723 794656150 805539621 832043420 839486801 20475498 784800745 987185068 905907024 815128474 893655705 909324818 816137510 797384240 961285767 786686565 25705670 914295268 966652917 841710516 950924381 948481778 862988134 905609099 995943318 786551311 872935802 99211031 822268992 906700353 971306854 852686245 892914245 790554383 61645621 307674686 797000224 783397605 304380459 855785339 864718995 231532536 874486652 912620760 956886135 900901821 962140925 937156593 943436053 881483239 915329830 838358052 892032041 320457565 305528416 997143001 65626935 872932215 129146737 969402217 834194335 803163188 924658598 288724275 827898102 339112307 949199145 921117199 976876132 257575520 800650625 861773215 53939060 852338677 956703631 938900222 971560534 787896641 942789575 965930072 111162268 54263219 788612467 919196418 846449412 794348445 966424015 872063903 888192791 841678784 988100358 819124157 279946545 783450568 175896169 931201979 967194965 888112087 791788281 956219762 992373245 916631406 909946416 872838200 64611665 886112743 978972858 934256423 312316743 976228860 999349067 897557285 980019736 932328080 74888107 794589530 934163978 892877687 986928113 979721084 782741480 778278659 300199169 933191868 956935934 968932851 919408551 912395368 968412337 182218710 71193420 952977662 933005815 919936647 884071900 27595087 821807373 973195277 794517330 848723785 -359856147 781527245 928994578 873434595 937463521 945851284 838107159 798592682 853673389 816558241 983456242 910530735 982129813 907690207 137987720 818395632 154046616 984548686 811035084 883038721 856455588 34226321 862938580 271942397 927952485 905067967 13312496 810224350 859766251 988498329 230304564 898844194 300157929 847187337 863957007 925290010 843002094 909806492 898148972 925235970 925590444 973535145 795276306 930470092 814318167 95956004 824750303 900554887 931943116 809134159 921684505 817314388 282645794 951357690 308384998 249599072 981056679 953819344 878947366 933370359 835037200 902627237 789510228 844371445 803464859 833780861 204052053 987932723 801697025 858343793 981253122 886329831 847004761 790969248 790080855 819807595 853224307 997489130 984225435 939984541 877617335 852856091 92326823 19450496 942435909 831407929 915981195 9712928 934486354 819181121 880717566 801727497 957239629 342397916 53409104 984054340 890308526 331064157 798526043 22045123 165424065 118606113 842391204 923265255 823550404 970867935 822309229 66342526 921423536 988373561 878387932 975727499 929978857 861320533 801101922 867016047 993699503 809433370 287282471 799348988 835815547 822631597 868488686 201954364 970844067 899714762 985286426 90444821 349077235 808866651 799775962 46566198 852264150 948528136 908361140 960517629 946269486 828416468 148750616 994344677 841760951 91972010 779950377 911221106 955069108 917189300 976077274 134926603 989148729 227501249 18831646 949825317 34900643 963404810 966457956 968941822 999275295 960389130 803049687 902799048 992227047 808032481 924392650 328041481 317675678 980707173 879862556 110267714 904033015 859839497 336197971 952981585 927713272 -405851994 864231491 189583695 962295308 304815382 970354328 256394834 977070350 843211363 848914477 988022822 815943044 993097568 851424013 780070957 835728491 887905139 70870126 888001091 829484060 895253145 990147932 900307446 881382078 799238574 887176229 861254549 822193349 347082216 212413941 982245551 915401808 922257260 862918604 897555960 856371305 145001947 165044901 882080089 843848350 981112315 877272509 950129627 981048039 941115354 0 162255076 782203158 898284514 964218607 979442232 987863751 106923011 809510214 917871560 102031872 971685150 804236684 990911918 928179864 823903135 998284057 802564763 105318399 307306843 850378146 811235915 920062890 914294125 877767213 796216848 812383051 805970248 785433662 55805702 867132324 791962293 826332745 945786026 901116150 69284910 814506480 210042296 940050602 984645739 858876288 821087007 931736006 150942765 923556829 898859330 886144376 788758559 795059177 883324693 983586653 860189045 991516189 885391809 830264613 985251484 902585914 822374035 204947605 809665479 818519306 948562980 885367266 902618580 862179203 896392325 78178680 887503673 899360377 862285924 905820056 959120055 933162271 182515711 780085819 966256280 878317870 193418902 820551355 809698469 928648762 809754911 828052822 824816114 970674603 812558828 212037444 954885637 945057585 965760442 987528911 936077970 848643455 803083313 955726964 801262372 250216653 999581691 315946781 937958431 943295456 964485792 816052256 931235458 856239768 240941272 167494442 984148570 979897154 985160767 163516339 867144084 922954933 894047035 806018106 917862783 846331961 110691432 337401587 882832302 975597491 169996984 304217797 999953347 939421164 49285439 784945116 219346415 940362832 929047218 786320271 893723525 968034300 923626826 783935078 303242514 938233531 219571578 85425958 799019876 799852734 925811384 885719106 328642192 202030392 9187201 864435616 939567447 6963341 788909139 863549214 98050224 850171049 879067950 906983396 47098489 951712062 104246501 816055640 778857776 834873974 204823058 228184009 993778585 814593637 29454826 893675189 940520545 815364875 810171201 844985431 989447247 931169354 919739331 962614704 818000783 921556464 940015083 936219356 848660890 43450001 797430376 297108734 826203446 824184820 339567029 973182057 977710663 842877921 182022956 115395979 955602682 991753564 819398803 821978620 286898789 913542047 870413243 795140802 334419208 132403680 902726519 864459873 930463742 933697829 817127732 830129712 861530831 268482144 285332331 779602598 163286281 786808125 81562863 933445579 866582713 852882468 782987484 166796306 919744702 952864546 840700090 145451370 252028953 806000375 957383536 851396828 802284149 783373418 867946983 930201984 47692382 976287010 900097583 801844593 200276117 914381612 882015593 970674029 818664939 207300211 838721931 982113564 316456332 253789757 799196082 904479915 950201539 103142301 954026341 822982949 811011875 931467380 825975724 129837773 802158515 822613521 962853975 985832370 903165331 861430477 937755061 866861217 851657844 844540119 152579376 897393345 888575360 155450945 872043862 862425258 916764428 842712212 11116663 886815530 778505587 8299290 296561269 920648407 963667489 875925525 798801545 981043956 868408037 787357504 840020231 801890148 888325931 877921663 833443124 235103564 847095130 813937276 943472185 829748296 964144216 956245345 893758262 965905699 833162044 931518930 902500214 48531112 901100306 165528337 952915252 921286229 984224977 927626392 933350244 778856766 925978164 258586622 934100840 936833059 789507639 -387600544 167410847 945332044 891831765 864675304 947464749 871985351 975203050 807241748 778843085 806581655 879555195 227023282 789962590 792569864 962436488 858150255 923158774 34597706 888435936 48879653 977633866 904110517 947810835 787511760 346110699 865485383 896611845 859121630 882689434 893200169 820515086 983911616 901221255 810470574 989463359 965293879 789784195 961774219 324844139 258531495 827566051 889286284 975479372 856697123 152824048 850965246 984248074 990500524 984488356 920470082 784546702 987958208 286741394 861359907 29370263 913959767 993436462 951225485 951248434 986402616 867205718 859346821 913295267 895506090 840458185 825495032 854511043 288811702 891218930 904953773 885416380 0 832014409 779064777 938196856 861392020 872283260 866418229 902037247 978357601 996829930 929266813 14552049 945613276 937735982 872855905 933141044 932210298 931805996 231024475 14548043 822116101 854063808 870487164 891949030 334125245 948174459 225971979 838620976 874584882 929183423 860864385 994535742 996244812 988904844 878971320 816387844 861515465 857717615 857754099 984132161 994011837 82909006 906407713 857316122 991047176 927954916 905214098 943568438 981050074 978664390 65310207 959431969 179824713 903366302 902762324 827485825 955819824 873022293 830150402 238668343 780173655 876821709 805309109 860285696 861435224 805362426 987607190 831265375 845607158 79413800 918907346 99905344 22235157 994183103 299769277 899093321 969919362 979802117 952178231 949131134 942584997 992019055 904810879 944138521 922728696 30101202 929930691 966956191 887759577 948663871 969256781 790667417 222330775 327177619 873865403 241691531 831087935 803828591 825614693 957240080 163525438 834342174 968250866 288479813 927917412 855376140 920354691 948786302 939733175 926219295 217788265 859944640 807874527 820366437 879968289 18835997 890921864 944894948 866506629 835116041 993132579 962840974 857306262 938737946 934700418 915324623 933885582 962446880 922977864 895789776 161354362 965893227 988215136 875899968 814434856 787835167 785299109 0 856295260 779238390 829758292 790157311 325467368 841310411 804960930 938227399 998366569 873530193 983178375 920883569 850910872 796656880 792732553 794340705 265941064 131160595 881825704 833154714 213274242 190414194 868864921 817785075 275627987 988599973 899069297 974614514 895013231 59678890 79873288 980611481 106197723 854972281 915131095 917384142 816152148 818575338 799738276 890942070 968773355 296757023 916441567 951150893 919701607 931742646 128646130 970842067 889125416 818444820 878386868 90287169 809950884 943182376 992786266 863436383 298502269 783760924 793560657 873041003 962305016 232838304 825198155 852538646 807084790 240349573 851554081 927953479 788899635 959120658 0 972347468 310282076 967729480 929233130 0 901110153 986451966 811528993 985242988 816262386 825475208 85137405 236043108 312337916 157491273 821640102 869622193 840189014 934247340 7275299 830782325 986322006 805093100 832601886 833131861 957002206 923129641 935134153 784591221 957750410 903098651 997340863 15805477 232761676 819416315 996177044 974553957 941607524 997570884 16606345 220082781 932150895 863578960 805066258 989079840 898086394 910834363 937185989 847922738 923592242 864592164 964747853 845329746 795977991 196274374 902384880 952163550 866674160 919540143 933875344 939923364 911711977 901045116 811120168 254115608 825913895 978885593 945977943 808443898 950346217 971820697 788925436 82051053 782455135 989001352 798500779 83478255 91465218 276656932 854006145 826870475 798138201 792555085 894650569 851446017 979801736 932019900 318956306 109806679 949150428 836285296 955350765 881891941 901713342 903242789 858366088 915887469 969045544 68092287 794481274 124368175 967609127 952590774 997883036 783487814 996706921 254839650 993108111 919969228 40509947 939327434 964151439 900616764 976296188 815565492 900565952 790506367 800490758 978954993 979381218 961943130 796057626 849314406 94666037 825038302 833135635 819590462 983925284 935880633 220631189 76449616 872274782 0 973459923 232252438 204054738 910938746 87289263 911018949 941410664 983905382 955115722 928119598 846190182 847505201 894947056 800521483 885722516 967130652 846747237 971938757 848624199 827514109 987285879 855686689 951238329 916710847 785772971 865827156 791955267 896285339 986825244 846697157 805369493 912613095 115103902 166959547 949253870 253508428 98212905 834145676 332777829 138895565 851124061 859007061 210855866 796254490 801644390 268698281 797790552 67634058 939276164 984431387 954615800 844988859 975449323 827914044 877167742 974171340 841922840 894177218 310185090 789004607 933714054 897943309 920032847 906058179 868741511 57192618 901816832 0 874728035 56626813 147046968 963927867 997622670 799970701 217718142 971739503 296818301 911627028 43553952 874706486 980722334 107089185 121788829 69235332 802792223 989082143 781822814 893828404 980628930 833135383 833882772 992145168 311723077 939559001 291103544 890951749 948500203 75611523 201951203 227807953 964072777 97025154 805229038 966450309 873713814 799134645 884364283 879266364 946509557 241835249 904785225 872772738 905460689 939107544 895479416 909404754 824901495 879791648 947321521 982795406 973901154 795929426 898956885 195045798 907267387 852419779 977676756 862600182 807143046 892599207 92353438 334497497 218930315 292674867 890243256 848505870 921851374 19906620 888532334 828798657 939840931 947769755 863962729 970753279 781867100 867172868 886031413 960246134 343206266 830868863 789836956 942515195 977806735 827884156 946017377 828550790 785877661 856728073 954010681 886603701 47684114 857230166 991406952 999531764 0 952699819 949164328 44770014 0 858883538 227541977 941907365 804638404 996860897 950382729 947626764 967656776 979521525 998122058 898066043 233048807 795524811 933631603 848916043 820311376 -765178648 818987158 988889103 780472317 867460779 824396449 170531780 261382376 839586129 190039049 824609212 819124812 865074489 926116565 934380978 819986019 826174628 977131194 882829210 977657001 48895323 780806289 859435479'

N,K = map(int, input().split())
A = list(map(int, a.split()))
P = []
M = []
for a in A:
    if a > 0:
        P.append(-a)
    else:
        M.append(a) 
A.sort(reverse=True)
M.sort()
heapq.heapify(P)
heapq.heapify(M)
ans2 = 1
i = 0

if len(P)==0 and K%2 == 1:
    for i in range(K):
        ans2 = ans2 * M[i] % mod 

else:
    while i < K-1:
        if(len(P)>=2 and len(M)>=2):
            if(P[0]*P[1]<M[0]*M[1]):
                i +=2
                ans2 = ans2*(heapq.heappop(M)*heapq.heappop(M))%mod
            else:
                i +=1
                ans2 = -ans2*heapq.heappop(P)%mod
        elif len(P)==1:
            if len(M)>=2 and -P[0] < M[0]*M[1]:
                ans2 = ans2*(heapq.heappop(M)*heapq.heappop(M))%mod
                i += 2
            else:
                ans2 = -ans2*heapq.heappop(P)%mod
                i += 1
        elif len(P)==0:
            if len(M)>=2:
                ans2 = ans2*(heapq.heappop(M)*heapq.heappop(M))%mod
                i += 2
        elif len(M)<=1:
            ans2 = -ans2*heapq.heappop(P)%mod
            i += 1
    while i < K:
        i += 1
        if len(P)>=1:
            ans2 = -ans2*heapq.heappop(P)%mod
        else:
            ans2 = ans2*heapq.heappop(M)%mod

print(ans2)