329574367 965067805 768744535 691214891 21873594 935910737 1713096 770680522 757544011 848715178 644187365 336688564 182429059 223030820 723200871 763281688 175554418 966503495 175554418 602811046 745215401 211362614 37081879 980134651 661932839 110012494 368764047 627589268 471865558 631700842 465892383 726124644 329542777 683489839 603620710 690863334 525617132 95779603 288628682 213926602 46011383 507142051 891573253 434526689 301714930 923159887 730824918 823787812 795730704 472407762 462383923 766504018 564190579 836680980 746419439 820211254 298868262 312308223 217928587 245677831 87162480 373683372 555828167 283107224 91064641 579690895 72621546 688597242 974521569 627589268 580470806 18794770 938954818 669655791 610069705 57551192 789404113 203018461 444874800 191697350 454563819 220059095 34584857 55517047 163091630 17012234 249558965 658212287 57551192 1713096 107839247 937633254 920219729 318110611 973579758 850351456 601762202 950235340 722874144 541463939 229515163 633637325 710113373 499941413 591700510 317871021 995194212 548806448 897789362 863278761 722874144 610069705 79323336 330785266 713199217 542661640 819523467 942384956 986331373 942297502 713199217 699856917 685423362 336688564 237773442 711501588 836680980 608724072 122067182 346394348 873072247 468107571 372510013 942045496 828722364 329574367 159647580 527897224 207023050 456863895 72794624 416756465 686865014 818829472 29287119 739554266 57551192 84208996 751316591 165753 761021239 751964866 730756715 659932705 638293140 332773543 211362614 307476694 438872920 308232133 623090438 572311287 730909832 850351456 973579758 753145692 387518405 274831438 75228974 575541534 428142800 46945925 669125354 493264770 468107571 384604556 750156197 197307546 769545495 563732029 984117471 575485118 938954818 842871738 523542917 976942240 12903603 181721636 724422672 284387166 722672739 59706771 861383306 281083465 437863021 594204193 626807589 656489207 894991717 484471406 56105859 976942240 -1 938914563 2433982 522063456 207023050 321467204 960643177 728492414 194126353 986331373 317871021 721120553 428747955 791932302 572589546 46011383 26375227 448707988 39885396 937633254 375673341 676685933 203580162 561553313 685097645 457715535 403334160 548806448 107808575 770278321 130431610 938446553 457715535 330318834 159647580 363811064 420342620 907456227 117347524 349032071 194126353 939946968 580884227 207023050 686865014 549323513 512615132 833246783 920219729 182026506 880665324 159647580 549323513 907772025 295504204 464037621 243341711 683489839 159056677 444874800 609637013 140113105 801169129 965067805 828722364 38372578 567416830 308705211 818974853 167415720 893897082 903297209 188196698 920219729 537867109 527897224 301334993 579991057 572311287 748186132 63243152 22393976 18794770 919585635 163789960 631700842 560556517 577758652 561494895 406568384 786969334 822261941 976942240 522063456 194126353 494923774 305936785 389956215 206644601 965993467 329959527 53028773 375673341 542661640 555548888 63243152 336688564 100130908 812140416 782594982 345392984 1713096 175144765 591700510 332773543 628220249 229821643 114396999 411999902 296417374 762227828 352607876 560556517 159056677 186539666 36050763 469384372 160366715 433114786 987705926 223785502 622737539 91064641 45426260 910994573 461274569 146197290 229515163 723933984 379109457 723200871 288628682 901803305 433348815 198628726 741339101 167036027 919585635 220059095 -1 349772488 638293140 532861718 244155041 749101296 751316591 457715535 443342808 469743398 155997760 188196698 734712823 966561320 56105859 270206207 72263116 321331882 700120477 307476694 988919874 518109595 765954927 433348815 679670176 767047665 345072009 997299598 297133830 986331373 229821643 965067805 807820896 244195221 721867658 614297261 854062217 991067365 243341711 709403855 708274346 470690645 211362614 686385319 183843307 66483968 922171930 664490073 413843857 149830598 514721585 379213018 368764047 206014003 207023050 281598862 81866966 457715535 335890204 329542777 850101344 957643716 830162158 845211351 417425319 116545387 415965469 689608865 372910848 596367148 283107224 782619049 807648187 863667577 433439854 619868736 406483013 481127177 13384724 766504018 950862675 785866095 414918047 665446719 431837446 746419439 47116225 431837446 634536293 433756914 663946492 444874800 719457202 942384956 335890204 81866966 864561721 740364356 367754743 614459776 264549124 385144989 912506727 707186544 757544011 325845006 229515163 907772025 939563959 197115342 721120553 893897082 358191652 199386661 782594982 580283317 165622114 333772685 586392635 349032071 223785502 888304663 186539666 100130908 456401701 368935143 84208996 325845006 691740164 175590565 175144765 306767836 507142051 363811064 54164180 424697572 165753 634983639 -1 660639438 579991057 508037594 868838278 229515163 992563691 770680522 527897224 710113373 638011115 426480224 408497768 663667470 577714620 603620710 721867658 562309509 67592009 885077908 857102413 535432483 786969334 541463939 594204193 -1 211362614 622918995 481127177 689897360 849123482 239987054 730909832 651109313 628220249 574417829 156929061 786075537 211070558 863667577 122067182 751316591 965993467 563732029 667841561 553190572 681823792 832364259 428142800 4610166 34030354 997299598 208028672 730824918 723933984 946112218 321331882 697184458 683489839 368704535 452820542 946112218 600962339 791183444 622823007 729941138 974448855 700120477 537867109 208493418 865880334 107596959 912506727 991067365 580918883 107596959 757544011 526755095 842306692 676709331 750769230 985045640 28416726 974521569 330785266 820211254 456401701 951926549 434526689 273365488 365679164 365679164 988919874 223785502 480210823 352607876 431837446 146171038 705622548 703311448 804352169 782927012 999101537 610932880 660639438 427618367 59501988 13841075 883564101 751964866 647427996 329574367 192251969 668250239 209977170 160366715 579690895 748526814 146197290 73525554 561553313 676709331 198703751 127278512 842306692 634536293 485683712 831985335 72643683 818829472 679275202 462383923 593587398 999101537 155997760 329542777 592274818 381881872 238951985 633637325 832494905 325845006 406483013 49212342 729178187 685423362 367754743 395983136 861208333 610932880 335743200 197115342 691504106 336862767 707186544 908463563 567600315 243995015 167036027 332773543 19140171 112624754 957643716 593282222 731745766 989747990 937638157 561553313 448316745 228137178 373771611 175590565 175144765 914291169 167036027 668281990 658212287 525617132 683531283 170824557 512615132 389956215 87162480 718229961 13841075 71713295 60978603 154693260 893860727 533560917 984895249 137132982 234968285 865880334 283107224 28576479 203493552 907772025 199770581 682038125 734712823 211333607 334677549 293155218 156929061 565554630 523542917 417425319 229405480 400907045 7545447 49208976 923159887 49212342 34584857 740364356 549323513 53590481 335743200 477076784 132774876 1713096 378610966 520086201 645695407 641164921 647290016 432069691 548806448 -1 675786233 984117471 336862767 307476694 613084013 586392635 729352677 722874144 651109313 760593154 943374902 741463146 785866095 288628682 669742991 991067365 12903603 470690645 469384372 746419439 77299524 562309509 367754743 146171038 295958449 705622548 817693389 281083465 999101537 770847694 788878491 608724072 250810872 365407761 198628726 688380735 774937853 448316745 711503207 681823792 897789362 206644601 888304663 740224085 527985132 745215401 229515163 167415720 668250239 177905368 29287119 468107571 295958449 822261941 456487084 92112290 84062198 638076633 748186132 170824557 537867109 182026506 977467597 438872920 223030820 175884183 345072009 692204091 717390689 168494769 799467751 163983150 532803555 965067805 946112218 142117376 306767836 596943234 580470806 432504521 216195055 610069705 623090438 7545447 769837665 626807589 860724917 655834254 232018015 39885396 790809628 893652215 194126353 701070480 627376276 507969865 122067182 -1 939946968 434526689 92160628 830162158 335743200 626807589 373771611 207023050 999674172 766504018 112302971 790809628 520086201 979580407 295805912 206644601 386381016 916321789 457715535 730824918 542986495 995194212 815472010 36050763 974448855 73525554 807820896 413494386 769837665 688597242 491543933 349772488 854398124 358191652 162425880 861115508 858159813 293155218 818974853 574924220 880844104 970265761 495712606 459789430 198628726 165753 579783784 457715535 270206207 416756465 406483013 110556435 942045496 217928587 100130908 976942240 73525554 453407680 420425052 741339101 789404113 914291169 667169560 323513395 713199217 365035648 935910737 374972287 16475116 823933296 392826688 416739210 704672739 264549124 26375227 169614935 620059513 238442797 163091630 -1 763183908 337502849 815472010 119601349 562309509 191697350 169614935 291386915 912506727 864561721 907456227 763856958 325845006 373683372 686385319 601762202 149052945 205644911 757544011 848715178 84208996 339350524 349032071 901803305 541460419 847840320 522063456 243341711 451474906 685097645 995194212 197307546 679670176 991188064 100130908 922220234 142117376 789404113 284387166 77299524 626837013 119601349 280856350 335743200 644336340 580918883 771459106 686385319 146197290 863278761 -1 740364356 750429264 26537314 740224085 675786233 691214891 909186692 868211619 199386661 533560917 989747990 138790019 420773560 330785266 254528769 368764047 833246783 659932705 658212287 417425319 319424815 476084224 660639438 159647580 667300705 594204193 296417374 78898063 904818318 46485154 655834254 750156197 354949635 352607876 183843307 901803305 852782081 63210631 624015614 189854783 231771136 644187365 831985335 387518405 171221433 325287502 953838288 880844104 330318834 812752908 55517047 387518405 729352677 830162158 697184458 -1 118534662 323513395 520086201 691740164 78898063 392826688 566096351 750769230 667300705 833246783 507142051 427618367 262575582 330318834 580283317 622737539 859063396 578238211 580884227 466852129 29272319 777440440 427618367 755527023 916738849 608724072 729941138 84062198 444874800 348123399 711501588 42277380 760593154 979580407 420342620 26375227 57606083 130431610 676685933 782594982 807820896 686385319 750429264 864561721 923159887 647427996 916738849 902419092 386935154 590603969 685423362 807820896 812140416 330318834 555828167 232531633 372510013 622918995 786892734 374972287 574924220 155997760 788878491 237773442 92102199 254756796 596367148 848715178 721867658 740224085 668281990 638011115 881489135 973579758 867723620 415965469 572311287 609637013 245677831 577758652 301334993 861383306 198628726 247165890 845211351 563732029 580884227 590603969 489295045 462383923 568090820 580470806 524542574 228137178 730824918 319424815 580918883 398981201 211362614 891573253 562288215 920219729 91064641 543122079 -1 -1 232018015 859962837 668281990 271708247 358191652 660639438 676685933 206014003 295958449 66483968 575541534 916738849 37724537 13384724 335890204 543006155 451474906 724422672 812140416 234968285 223030820 234968285 749101296 670408229 339350524 26375227 680666684 750763843 693375965 861115508 854062217 132774876 766504018 804352169 232531633 490869221 115470851 71713295 614593757 499941413 610932880 345072009 46945925 989747990 491294665 818014838 416739210 691214891 590138438 770680522 263798126 26537314 679275202 588150191 17012234 782619049 711501588 699856917 3090244 935910737 594204193 3090244 411907778 864561721 249558965 284696682 777440440 602915291 622918995 664295306 433114786 658388576 29734308 163789960 689608865 237773442 468199498 365679164 586392635 26375227 312308223 575485118 641205608 403334160 943374902 893860727 943374902 553190572 191697350 274831438 117347524 329542777 991188064 577714620 365035648 731936598 288542157 533367205 806195787 580470806 211070558 950862675 433756914 561494895 942297502 572311287 987705926 780117964 466852129 564190579 63243152 867723620 591284702 807820896 416739210 967987535 538432928 801169129 333772685 676709331 333260763 408244002 680666684 112302971 767047665 610932880 858159813 560814638 307476694 679275202 175144765 57606083 845459462 560455121 842306692 465892383 437517579 92102199 721867658 77564723 973579758 159647580 441949925 490869221 97299507 118534662 907772025 725418770 669742991 651109313 481127177 495336832 683531283 249558965 624015614 17012234 681690682 70161655 942384956 22576092 284387166 966561320 197115342 533560917 182026506 470803824 357329820 231771136 149830598 693375965 533367205 155906400 968396048 57606083 345072009 670408229 850101344 880844104 786969334 700120477 817331802 579783784 160366715 645695407 818014838 489295045 730756715 764751417 321467204 298868262 92102199 175884183 280856350 667169560 206014003 679670176 676709331 392826688 231771136 43392732 667300705 645276436 623188968 537867109 535432483 686385319 95779603 401672699 930790502 175590565 29272319 18299476 562309509 612885490 446355059 250810872 766504018 346394348 127278512 713199217 832364259 863278761 122067182 631700842 690664050 763281688 373683372 953838288 466852129 60081926 167415720 763856958 608724072 427618367 722874144 831985335 982693874 13384724 818829472 761021239 411999902 146171038 592274818 110012494 219896364 33812208 214924123 620059513 368779111 726776295 559785274 145847415 663946492 541460419 627561325 757544011 46485154 -1 819963767 392826688 45426260 770278321 907456227 965067805 762227828 596943234 847840320 284387166 162425880 464037621 569422962 433439854 731936598 828722364 456401701 543006155 779829204 709403855 577758652 957144144 976942240 471865558 812140416 145847415 612885490 902419092 46945925 980936845 907772025 53028773 745924515 622823007 726776295 318110611 618312173 336688564 818974853 73525554 29272319 325845006 420425052 47116225 702444538 711503207 748186132 38372578 95443860 760624728 303139271 -1 519762398 252012472 891573253 533367205 171504845 788878491 29272319 745924515 533367205 372510013 620059513 709403855 658388576 34685076 908463563 613084013 335743200 857269083 36050763 341012648 675573324 199770581 669742991 495241145 704672739 937633254 428413005 274831438 610613670 910994573 741339101 368935143 524972471 63243152 433439854 779829204 130580 580918883 389956215 938446553 760593154 167036027 112302971 243995015 774937853 -1 400907045 484471406 481127177 681823792 159056677 1713096 372510013 37081879 801326287 79213361 676685933 833220245 681690682 522063456 656489207 610613670 680666684 980134651 943374902 795730704 758575350 208493418 503810504 830544982 655834254 666590606 301334993 -1 681690682 665446719 368764047 84208996 453407680 284696682 336862767 140395123 700120477 181721636 140395123 428747955 632336991 745215401 768744535 524972471 832494905 566096351 301714930 276260520 452820542 819523467 368779111 -1 75228974 740364356 880446976 639572212 203580162 622737539 22393976 779829204 92112290 765954927 782927012 622918995 663946492 966503495 998120269 363457997 782594982 471865558 753145692 330583346 413494386 229821643 847840320 984895249 -1 984182750 325845006 116545387 113804160 722874144 -1 469384372 305936785 490869221 712694937 785247749 685423362 198016418 349772488 609637013 414918047 251692591 613084013 574924220 904818318 130580 907456227 330583346 595427792 470690645 2433982 57606083 968396048 132774876 249558965 675786233 494950691 408244002 437863021 46011383 60081926 339350524 115470851 745215401 914662962 424697572 716182336 818014838 352607876 658212287 832494905 112302971 123550994 590603969 512615132 155997760 575541534 907772025 378610966 560637528 880844104 555548888 596367148 938954818 171221433 609637013 385144989 997432376 337458711 367754743 885077908 454563819 662235717 957144144 275610416 115639466 580918883 22576092 666590606 33812208 308705211 486307671 817693389 804352169 832364259 761021239 688597242 768744535 586985028 649175882 966561320 580918883 433114786 942297502 427618367 939563959 456863895 408497768 325287502 766504018 763856958 673965031 679275202 186539666 63562141 433756914 970265761 664295306 211362614 564190579 495712606 165622114 79323336 330583346 888304663 741339101 560637528 337502849 329542777 989747990 13384724 340301060 894991717 577758652 656489207 -1 842871738 880665324 286319692 697184458 780117964 346188490 711501588 465892383 940104206 167036027 692204091 681690682 639572212 705622548 260946873 18299476 984182750 352508141 973579758 951926549 965993467 297175900 637964511 723933984 29592557 387518405 638293140 60978603 981763217 563675995 580884227 375673341 586985028 477076784 742174392 413843857 60081926 679670176 437517579 154693260 393835525 725418770 757544011 880938198 465892383 691504106 32796250 43392732 400907045 782927012 241693686 333772685 74820195 469384372 229821643 244883660 181721636 444874800 303139271 691504106 448707988 334677549 942045496 663307073 332773543 208028672 441949925 -1 908463563 413843857 281083465 638076633 634983639 568090820 46011383 416739210 26537314 325845006 174295016 57801759 368704535 785866095 725418770 301334993 812752908 363579344 167036027 448316745 372510013 265395517 685097645 703311448 480210823 490142300 651109313 637964511 110012494 827132364 863667577 914291169 904818318 599555786 13841075 181721636 46410909 563732029 327789615 566034579 399202754 748526814 231771136 580470806 60978603 329542777 140395123 385144989 127278512 197115342 481127177 814490763 673965031 603690869 271708247 84062198 662235717 784371166 86361620 321331882 663307073 238951985 685423362 491294665 192251969 301714930 177905368 47116225 319424815 730909832 863667577 214924123 549323513 112302971 588150191 904818318 950235340 791932302 757544011 122896725 312308223 880844104 881489135 171221433 387518405 710730165 400907045 281598862 159647580 107839247 47116225 612885490 456487084 957144144 950862675 345102555 387518405 352508141 363579344 854398124 897789362 199770581 26375227 308705211 814490763 305936785 572589546 21873594 36050763 655834254 799467751 590138438 117303447 672907310 46410909 522063456 329959527 16475116 785376602 112302971 734712823 846213413 295958449 428413005 823787812 549323513 13841075 150137560 13841075 867723620 231771136 420425052 488751710 345102555 167415720 273365488 596943234 647290016 563732029 881489135 312308223 600962339 690664050 582861386 42277380 466852129 602811046 175590565 57606083 980936845 812752908 1713096 119601349 237773442 765954927 337458711 916321789 43897314 86256730 415965469 63243152 332773543 165753 296417374 560814638 750156197 937633254 799467751 763281688 849035201 201066749 554782737 688380735 871898006 288542157 979285058 916738849 214317232 154693260 288542157 594204193 223030820 318110611 -1 655834254 384604556 56105859 484471406 644336340 770847694 417425319 663667470 970265761 679275202 633637325 531136661 406430184 175884183 868211619 284700142 942627653 830544982 325845006 102379477 852837035 270206207 244155041 95443860 491978273 666590606 336862767 373683372 960643177 122067182 358191652 469384372 750769230 211333607 29272319 132774876 750156197 799467751 -1 764751417 425469326 203018461 724422672 214924123 815472010 908463563 406430184 387518405 156929061 386381016 695553778 815472010 763183908 79097209 750769230 348123399 668250239 644336340 645276436 627589268 879954113 238951985 631700842 456401701 638011115 33812208 697184458 199386661 697184458 77564723 92102199 46485154 254528769 594204193 252012472 276260520 807820896 284387166 297133830 967987535 761888635 494950691 974521569 719457202 801326287 950629972 693375965 434526689 72643683 770847694 725418770 995194212 679275202 399202754 730824918 -1 325287502 94630229 319424815 724422672 609637013 452820542 551345512 638076633 582861386 725418770 658388576 612885490 622823007 859930182 656489207 987705926 203018461 118534662 551345512 73525554 165753 60978603 572589546 542986495 950629972 943374902 75228974 596943234 -1 614297261 765137854 595427792 827132364 830994144 198628726 491294665 771459106 610613670 953838288 975269268 699856917 588150191 262575582 57551192 863278761 705118513 13841075 760593154 57801759 163091630 731745766 46011383 670408229 34030354 470803824 790809628 345102555 592274818 398981201 378409769 755527023 885164572 122896725 33812208 512615132 679521131 156929061 161017478 428747955 213926602 -1 46410909 579690895 363457997 332773543 923159887 163983150 574417829 763281688 415965469 740364356 4610166 574924220 603620710 575541534 764751417 211550817 480210823 623090438 306854073 691504106 594204193 355756362 914291169 914291169 701070480 689897360 59501988 174295016 303139271 985045640 34030354 298868262 149052945 755527023 72621546 472516679 868838278 815472010 658388576 984182750 113804160 565554630 580918883 723200871 574417829 229515163 507142051 568090820 481127177 560814638 864561721 229821643 321331882 758575350 -1 72621546 63562141 842306692 395983136 295805912 976942240 957643716 868211619 623188968 407009263 36050763 357329820 660738659 533560917 645695407 281598862 957643716 975269268 345102555 769545495 67075526 761021239 623188968 542661640 893897082 579783784 569422962 631700842 966503495 543006155 984117471 600962339 113804160 902419092 381881872 582319429 275610416 958339854 663946492 989696303 407009263 586392635 417425319 697184458 -1 680666684 596943234 717390689 871898006 208028672 358191652 769545495 248636995 245677831 770847694 623090438 161017478 823933296 203580162 867933639 807648187 42277380 399202754 155376172 563732029 70161655 997432376 767047665 79213361 858159813 263798126 75228974 206644601 472407762 675573324 345392984 645695407 413843857 330318834 730909832 260946873 973579758 433348815 109891495 424146759 592274818 273365488 175554418 644187365 919585635 206287347 541463939 73453883 828722364 645695407 665446719 186539666 769545495 494751627 137132982 626807589 861115508 686649778 561553313 987705926 658212287 32796250 785376602 406568384 719457202 433756914 690664050 628220249 988919874 75228974 689608865 602811046 833220245 122896725 406717194 569422962 602811046 769837665 593587398 466852129 580470806 368704535 942384956 659932705 368764047 468107571 66483968 591284702 453407680 942627653 142117376 488751710 298868262 864350394 579991057 562309509 13841075 29592557 280856350 801402068 765137854 942297502 683531283 443342808 542661640 420773560 55517047 730756715 647911422 909186692 422331486 171504845 914662962 165753 111122929 578238211 42277380 790909002 495712606 676685933 690664050 670408229 699856917 432069691 283107224 17012234 688380735 295805912 891573253 358362276 484471406 122067182 79213361 458547544 414918047 753145692 791183444 668281990 845459462 500268473 567600315 919585635 87162480 730824918 271708247 535432483 119601349 762227828 852782081 447434673 273365488 270206207 26537314 12903603 852837035 891573253 823933296 198628726 622823007 355756362 427618367 327982936 985045640 472516679 317871021 729941138 114396999 203580162 411907778 191697350 306767836 999101537 307476694 248636995 234968285 208493418 206644601 543122079 197115342 991188064 593587398 33812208 572311287 832494905 470690645 707186544 908705907 130431610 283107224 333772685 335743200 53028773 660639438 284387166 719457202 365035648 726776295 112302971 757544011 386935154 329574367 782927012 231771136 883564101 578238211 43897314 624015614 238951985 893897082 758575350 818974853 337458711 223785502 785866095 177905368 132774876 512615132 12903603 321467204 264549124 942297502 914291169 94630229 183843307 768744535 130580 716182336 414918047 999101537 864350394 820211254 162425880 73453883 182026506 566034579 211550817 214924123 977467597 -1 117303447 730756715 730909832 420773560 819963767 563732029 241693686 391779414 416756465 562288215 490869221 295504204 812752908 254756796 730756715 87162480 494923774 970265761 330318834 199770581 786969334 709403855 363457997 665446719 437517579 306854073 977467597 444874800 806195787 18794770 562309509 220059095 443342808 867933639 603620710 162425880 237773442 431837446 159056677 72794624 38372578 966561320 801326287 268947673 123550994 46945925 565554630 239987054 765137854 213926602 610932880 46011383 614297261 782594982 16475116 572311287 647911422 505655512 415965469 599555786 428142800 459789430 494950691 160366715 861208333 679521131 73525554 71713295 567600315 992563691 920219729 920219729 112302971 107808575 401672699 819963767 111985669 -1 670408229 527985132 627589268 857102413 72794624 115639466 939563959 622918995 112302971 649175882 264549124 685097645 41524303 879954113 122896725 912506727 112624754 262575582 45426260 591700510 563823514 651109313 989747990 882812597 95779603 751316591 554782737 283107224 691740164 301714930 308232133 891573253 730824918 623090438 543122079 123550994 524542574 168494769 807648187 712694937 563823514 861383306 785866095 571736161 560637528 681823792 984117471 535432483 786892734 891573253 167415720 111985669 659932705 832364259 297133830 863667577 398981201 730756715 644187365 690664050 746419439 602915291 275610416 524542574 377651896 75228974 284387166 448316745 46011383 485683712 183843307 526755095 78898063 203493552 271516194 171504845 987705926 692204091 659932705 514721585 281598862 72621546 910994573 588150191 717390689 84208996 613084013 73525554 508037594 943374902 437863021 110012494 595427792 55517047 634536293 494950691 45426260 461274569 -1 997299598 960643177 923159887 13841075 244155041 481127177 335890204 424146759 373683372 507969865 628984381 753145692 417425319 86361620 935910737 681690682 400907045 36050763 112302971 943374902 461274569 904818318 769545495 462383923 428413005 578238211 252012472 542661640 447434673 130580 709403855 96109344 804352169 880844104 893652215 610613670 812140416 137132982 163983150 319379178 408497768 127278512 907456227 234968285 638293140 586392635 991188064 140113105 87162480 275610416 427675535 567600315 656489207 807820896 201066749 229821643 580470806 84208996 939946968 888304663 406483013 768744535 857269083 988919874 214924123 951926549 604148770 333260763 923159887 464037621 574924220 312308223 765954927 22576092 45426260 494923774 857269083 519762398 216195055 750156197 707186544 72263116 910994573 569422962 647427996 448707988 627589268 651109313 122896725 454563819 683489839 574417829 741463146 418807544 880844104 206644601 819963767 171221433 213926602 610613670 3090244 211550817 110012494 466034328 771459106 686865014 363811064 842871738 946112218 861115508 92102199 273365488 566096351 703311448 391779414 560814638 771459106 211333607 49212342 275463593 623090438 721120553 505655512 543122079 868838278 673965031 308232133 600962339 355126439 815472010 750429264 938446553 701070480 295504204 229821643 679521131 433439854 982581137 198016418 965067805 318110611 384604556 679521131 563732029 167036027 107839247 340301060 777440440 518109595 319424815 563823514 171504845 523542917 -1 908705907 667841561 543122079 819523467 935910737 275463593 491294665 160366715 995194212 420773560 238442797 604148770 446355059 94630229 579690895 686649778 291386915 32796250 861208333 950235340 927530478 863278761 207023050 348123399 819963767 893897082 175554418 731936598 577758652 651109313 620059513 596367148 154693260 914662962 63210631 138790019 873072247 102379477 997432376 493264770 317871021 149830598 427675535 495712606 92112290 117347524 750769230 16475116 345392984 155376172 57606083 333260763 991067365 634983639 198016418 293155218 270206207 249558965 291386915 41260287 117303447 564190579 676685933 427618367 897789362 722672739 691504106 330318834 1713096 760624728 163091630 665446719 239254051 751964866 122067182 26375227 406483013 795730704 580918883 91064641 780117964 812140416 263636646 286319692 170824557 634983639 807262913 107839247 427675535 827132364 518109595 833220245 942297502 658212287 348123399 175590565 33812208 79323336 638011115 47116225 112624754 753145692 114396999 60744503 669655791 338370105 92102199 763281688 407009263 920219729 59706771 834500260 417425319 109891495 953838288 766504018 4610166 722874144 726124644 150137560 713199217 520011864 845459462 721867658 408244002 627561325 523542917 644187365 908463563 42277380 428413005 378409769 32466209 524542574 428413005 385144989 860724917 468107571 691740164 950235340 301334993 741339101 966503495 667841561 897789362 731745766 102379477 679521131 987705926 352508141 577758652 893860727 368764047 628984381 14405655 271708247 238442797 938954818 883564101 112624754 832364259 622737539 580918883 950235340 321331882 863278761 1713096 174295016 372510013 842871738 710113373 751316591 882812597 907772025 420342620 345072009 888304663 186539666 708274346 46011383 365035648 852837035 542661640 987705926 32466209 239987054 284700142 596367148 385144989 206287347 710730165 750156197 211070558 563823514 774937853 628220249 553190572 29592557 620059513 604148770 403334160 138790019 456487084 432069691 919585635 554782737 995194212 982693874 901304975 375673341 186539666 524972471 645276436 644187365 790909002 334677549 766504018 406483013 354949635 740224085 981763217 406430184 3090244 36050763 379213018 189854783 770680522 491978273 485683712 845459462 647427996 424146759 818014838 297133830 703311448 658212287 628984381 168494769 163091630 254167164 647911422 336688564 254528769 18404492 459789430 22393976 451474906 914206506 564190579 490142300 987705926 973579758 37724537 444874800 169614935 358362276 950629972 247165890 763856958 378610966 785247749 32796250 260307180 327982936 228137178 561494895 960643177 555828167 979580407 782927012 975269268 424146759 850101344 722874144 434526689 537867109 903297209 420773560 763281688 722672739 379109457 67075526 198016418 169614935 372910848 421927353 341012648 372510013 750156197 651109313 880665324 791183444 284387166 427675535 473150723 893652215 418807544 433439854 36050763 138533159 11796756 922220234 495336832 784597145 327789615 638011115 873072247 481127177 614593757 211333607 387384744 420342620 524972471 244883660 953838288 681823792 894991717 683489839 293155218 582861386 830162158 533367205 590138438 174295016 211362614 428747955 456487084 700120477 214317232 522063456 81866966 228902962 11796756 363579344 107596959 939946968 638011115 29287119 29592557 325845006 211362614 619868736 560455121 519762398 553190572 74820195 75228974 73453883 72621546 -1 418807544 524972471 594204193 385144989 284859244 232531633 942384956 420773560 26375227 854398124 578238211 707186544 571736161 811841566 746419439 721867658 171221433 850101344 957643716 596943234 938446553 473150723 491543933 675573324 627589268 604148770 890844482 229515163 433348815 386935154 641164921 163789960 883564101 705118513 836680980 354949635 861115508 459789430 795730704 365407761 461274569 784597145 637964511 697374453 317871021 965993467 330583346 491294665 349032071 722874144 284859244 175884183 669655791 753145692 801402068 60081926 75228974 411999902 644187365 456863895 345392984 363811064 731745766 940104206 398981201 220059095 4610166 953838288 146197290 538432928 512615132 984182750 372510013 690664050 421927353 863278761 791932302 495712606 117303447 532861718 526755095 160366715 769545495 368935143 680666684 295805912 281598862 96109344 788878491 489295045 197307546 685423362 845459462 -1 163091630 769837665 659501910 308705211 469743398 329574367 697374453 411907778 868211619 729941138 590783394 848715178 86256730 43392732 777440440 57606083 857269083 378610966 137132982 819963767 453407680 167036027 982581137 627589268 505655512 330583346 284700142 159647580 827132364 251692591 217928587 957643716 626837013 231771136 520086201 729178187 433439854 17012234 904818318 183843307 386381016 686649778 961821360 480210823 72643683 675573324 411999902 3090244 206287347 845459462 779829204 433114786 420773560 537867109 288628682 984895249 26537314 567600315 804352169 428747955 951926549 927530478 997299598 888304663 647290016 34030354 286319692 337502849 879954113 245677831 891436447 203018461 966561320 71713295 753145692 327789615 246216644 893860727 472516679 102379477 999101537 527897224 891436447 833220245 59706771 115639466 645695407 339350524 164542502 72263116 97299507 569422962 491978273 357329820 330785266 346394348 432069691 280856350 329574367 992563691 297175900 730756715 859063396 723933984 339350524 228902962 705118513 271516194 836680980 782594982 867723620 686865014 335890204 614459776 379109457 644187365 433439854 786892734 92112290 140113105 942627653 387384744 171221433 512615132 680666684 988919874 685423362 518109595 526755095 596943234 637964511 60081926 116545387 923159887 907456227 791183444 338370105 644336340 867933639 -1 167036027 524542574 939946968 246216644 368764047 352607876 308232133 36050763 914291169 614593757 49212342 807262913 92112290 433439854 119601349 177905368 454563819 271708247 712694937 712694937 897789362 303139271 464037621 518109595 325845006 531136661 602811046 32796250 325845006 336862767 96109344 400907045 910994573 975269268 812752908 709403855 742174392 832494905 45426260 345392984 192251969 329959527 751316591 580918883 245677831 663667470 57801759 443342808 665446719 477076784 822261941 444874800 774149146 146197290 692204091 456487084 785376602 622737539 368779111 882812597 731936598 757544011 413494386 340301060 555548888 165753 363579344 937638157 406483013 656206261 433114786 37081879 41260287 443342808 87162480 107808575 403334160 234968285 563823514 406430184 42277380 832494905 86256730 43897314 691504106 363457997 761021239 730909832 252012472 740364356 977467597 812140416 182429059 785247749 960643177 59501988 641164921 -1 401672699 71713295 593282222 705118513 989747990 154693260 669125354 146171038 476084224 461649452 688380735 352508141 433756914 -1 713199217 854398124 203580162 788878491 421927353 494751627 488751710 992563691 861115508 861115508 368764047 533560917 271708247 122896725 632336991 459789430 45426260 55517047 321467204 234968285 432504521 229405480 985045640 500268473 461274569 232531633 579690895 426480224 819523467 252012472 682038125 982554231 246216644 208493418 263636646 791183444 769854437 -1 984895249 306854073 818829472 111985669 999101537 713199217 512615132 566034579 437517579 549323513 260307180 110556435 84208996 431837446 336862767 241693686 610613670 729352677 818974853 138790019 574417829 690863334 293155218 260307180 645276436 916321789 966503495 241693686 159056677 443342808 586392635 198628726 336862767 337458711 627561325 782619049 340301060 415965469 248636995 494751627 683531283 833246783 96109344 680666684 406568384 982693874 26375227 470803824 726776295 610932880 368779111 524972471 368764047 329574367 675573324 799467751 182429059 115639466 861115508 53590481 86361620 237773442 234968285 155906400 373683372 937638157 632336991 18299476 614593757 537867109 374972287 690664050 641164921 663307073 60081926 691504106 579690895 758575350 593587398 92112290 780117964 81866966 753145692 940104206 303139271 411999902 850101344 881489135 751316591 163091630 100130908 639572212 378610966 427675535 795730704 588150191 919585635 551345512 88469907 295504204 670408229 566034579 330785266 325845006 663946492 81866966 675786233 484471406 661932839 42277380 939563959 756425389 577714620 363457997 568090820 867723620 669742991 531136661 785376602 760593154 288628682 880844104 375673341 726776295 507969865 785247749 748186132 663946492 155997760 86256730 757544011 830544982 686865014 363811064 685097645 63210631 63562141 858159813 980134651 535432483 622823007 881489135 4610166 673965031 644187365 572589546 428747955 433348815 411999902 95779603 428142800 679521131 729941138 575485118 335743200 767047665 175144765 312308223 392826688 701070480 97299507 149052945 942297502 112624754 169614935 286319692 663946492 819963767 208028672 333772685 349772488 879954113 249558965 66483968 420773560 301714930 466852129 32796250 275610416 997299598 683531283 142117376 903297209 307476694 107839247 976942240 901304975 41524303 336688564 111985669 739554266 830544982 907456227 408244002 46011383 656489207 486307671 907456227 228902962 208493418 729941138 12903603 790809628 325845006 670408229 373683372 211362614 146171038 263798126 830994144 751964866 774937853 468199498 633637325 966561320 159056677 155997760 188196698 441949925 711503207 446355059 724422672 848715178 769545495 799467751 288628682 610895287 63562141 659932705 664295306 812140416 182429059 495336832 47116225 939563959 199386661 572311287 523542917 88469907 731936598 155376172 107839247 142117376 667841561 730824918 801402068 57606083 175884183 672907310 957144144 46485154 660040051 518109595 223030820 18299476 297175900 691504106 711501588 247165890 453407680 456401701 337502849 807262913 989696303 146171038 284387166 740224085 239254051 163789960 160366715 942627653 469035792 175144765 312308223 372910848 801326287 857269083 384604556 937633254 567416830 92160628 288628682 739554266 601762202 965067805 722874144 749101296 208493418 627589268 668281990 938954818 631700842 18299476 868838278 473150723 354949635 386935154 599555786 939563959 527897224 252012472 112624754 565554630 86361620 352508141 91064641 586985028 940104206 205644911 774149146 774937853 59501988 345072009 102379477 845459462 46011383 710113373 660738659 782619049 789495739 765137854 468107571 41260287 891573253 29592557 523542917 801402068 815472010 817693389 264549124 142117376 3090244 997299598 745924515 596943234 719457202 614593757 591284702 39885396 427618367 220059095 352508141 194126353 239254051 779829204 799467751 864561721 891573253 631700842 175590565 155997760 722672739 43392732 763281688 372510013 495241145 206644601 845459462 232018015 950629972 910994573 295958449 244155041 710730165 452820542 559785274 413843857 986331373 574417829 102379477 734712823 249558965 203580162 595427792 34030354 191697350 140395123 480210823 721120553 691740164 55517047 830162158 28576479 668250239 979580407 399202754 175884183 920219729 468199498 893897082 63210631 155997760 590603969 685097645 21873594 38372578 217928587 620059513 634536293 771459106 448316745 424697572 742174392 182026506 700120477 614459776 542986495 676709331 79097209 595427792 182429059 879954113 984895249 904818318 472516679 167036027 286319692 293155218 301334993 416739210 29592557 880844104 806195787 560455121 861383306 -1 432069691 966503495 459789430 149052945 72794624 920219729 118534662 842871738 418807544 358362276 600962339 667169560 301714930 935910737 647290016 437863021 219896364 433439854 739554266 846213413 763183908 827132364 363579344 182429059 403334160 215802236 867933639 532861718 859962837 688380735 782927012 842306692 638076633 333772685 542661640 464037621 533367205 433114786 938446553 386381016 750429264 188196698 748526814 708274346 708274346 372510013 782619049 92160628 916738849 391779414 26375227 177905368 791932302 575541534 713199217 614459776 919585635 989696303 290604263 664490073 818014838 686865014 368764047 413843857 86361620 850101344 635671105 464037621 223030820 307476694 245677831 275610416 251692591 389956215 894267291 676685933 894991717 561553313 84208996 577758652 39885396 937638157 984182750 494751627 163789960 301714930 901803305 987705926 842306692 34030354 730909832 980936845 861208333 861383306 456487084 127278512 72794624 819523467 72643683 367754743 554782737 634536293 49212342 346394348 930790502 655834254 992563691 520086201 424146759 559785274 480210823 317871021 327789615 34030354 163091630 938914563 885077908 349772488 763281688 562309509 26905429 489295045 217928587 29734308 728492414 790809628 454563819 319424815 982693874 206014003 710730165 789404113 622918995 641164921 341012648 297175900 685097645 563732029 203493552 464037621 769837665 708274346 275610416 250810872 966503495 97299507 574417829 817331802 770680522 77299524 782927012 59706771 91064641 907772025 664295306 318110611 985045640 746419439 800463769 893860727 263798126 123550994 627376276 273365488 683489839 868211619 618312173 577758652 562288215 560455121 637964511 420773560 786075537 470690645 213926602 219896364 541463939 274831438 42277380 555828167 763183908 596943234 940104206 441949925 722672739 452820542 293155218 365407761 130431610 348123399 590603969 638011115 155906400 801402068 965993467 560556517 355756362 740224085 610069705 865880334 37081879 206287347 682038125 842871738 2433982 215802236 718577411 693375965 760624728 940104206 763856958 330583346 203493552 464037621 644336340 211550817 223785502 560556517 4610166 262575582 290604263 281083465 751964866 466852129 563732029 713199217 73525554 363579344 603620710 339350524 168494769 500268473 220059095 107839247 363579344 865880334 38372578 579783784 659932705 208493418 495241145 363579344 188196698 512615132 86256730 182026506 73453883 346188490 679275202 281083465 12903603 533367205 156929061 999101537 4610166 211550817 893860727 568090820 186539666 627376276 49208976 638293140 751316591 680666684 471865558 33812208 461649452 333260763 406483013 67075526 984117471 848715178 290604263 548806448 940104206 -1 211362614 26537314 891573253 748186132 111985669 763281688 883564101 345102555 79097209 163983150 198703751 420425052 160366715 16475116 763183908 659501910 567600315 1713096 465892383 728357838 111122929 306854073 567416830 345072009 495712606 965067805 762227828 197115342 22393976 111122929 713199217 365679164 11796756 352508141 976942240 564190579 610069705 346394348 661932839 979580407 879954113 493264770 863278761 686865014 332773543 18299476 848715178 447434673 358191652 699856917 386381016 54164180 651109313 63562141 582861386 830162158 591284702 644336340 426480224 649175882 403334160 268947673 854062217 644187365 102379477 922171930 916321789 507142051 864350394 664295306 569422962 418807544 850351456 901803305 786075537 631700842 765137854 406717194 518109595 572589546 914662962 935910737 41524303 957144144 769854437 368779111 689608865 995194212 252012472 37081879 4610166 283107224 697374453 987705926 431837446 734712823 676685933 819523467 882812597 208877360 346188490 470690645 339350524 741339101 801402068 663946492 420773560 182659876 346188490 832364259 601762202 488751710 503810504 663946492 807262913 174295016 194126353 281083465 623090438 302277738 705622548 386935154 79323336 997299598 697374453 763856958 268947673 723933984 421927353 748186132 750156197 199770581 308232133 211070558 789404113 526755095 276260520 767047665 560556517 365407761 649175882 199770581 451474906 451474906 686385319 344240078 873072247 766504018 117347524 819963767 659501910 591284702 95779603 182026506 880665324 254528769 850101344 645695407 977467597 271708247 632336991 181721636 36050763 782594982 518109595 567600315 592274818 624015614 171504845 295958449 846213413 527985132 782927012 18794770 -1 149830598 232531633 434526689 416739210 885164572 26905429 699856917 403334160 448316745 352508141 577714620 119601349 211550817 341012648 807820896 32466209 880665324 238442797 681690682 670408229 122067182 627376276 560455121 679521131 340301060 846213413 231771136 232018015 745924515 491978273 421927353 241693686 72643683 686649778 373771611 880938198 512615132 123550994 574417829 683489839 303139271 420773560 690863334 42277380 127278512 603620710 879954113 130431610 381881872 494751627 -1 219896364 763281688 623188968 273365488 914291169 695553778 203493552 882812597 623090438 73453883 742174392 413843857 746419439 673965031 443342808 704672739 271516194 820211254 302277738 73525554 560637528 39885396 508037594 871898006 231771136 572589546 627589268 946112218 850636024 806195787 817331802 206287347 95779603 822261941 846213413 717390689 -1 691740164 580283317 231771136 94630229 686865014 762227828 437863021 262575582 845459462 638076633 182026506 199386661 663667470 659932705 12903603 379109457 668281990 163091630 424697572 542986495 138790019 847840320 535432483 -1 333772685 45426260 562309509 789495739 508037594 723933984 86361620 77299524 194126353 43392732 681823792 117347524 336862767 56105859 690863334 301714930 553190572 427618367 29592557 830994144 234968285 494950691 330785266 14405655 349772488 613084013 28576479 817693389 182429059 670979891 695553778 -1 228137178 470803824 164542502 893652215 293155218 729352677 505655512 373683372 60978603 940104206 817693389 16475116 96109344 596367148 750769230 812140416 95779603 491543933 679521131 495336832 102379477 991067365 86256730 801402068 197307546 950235340 284387166 28416726 305936785 569422962 244195221 660040051 37724537 672907310 274831438 857269083 984117471 330583346 603620710 973579758 668281990 417425319 308232133 721867658 494751627 59706771 760593154 321467204 957144144 577758652 867933639 420425052 249558965 637964511 327789615 1713096 610613670 680666684 494923774 118534662 883564101 464037621 551345512 645276436 879954113 592274818 507142051 763281688 953838288 645276436 327789615 155997760 263636646 441949925 223785502 112302971 336862767 330785266 708274346 330583346 325845006 29734308 669655791 991188064 189854783 957144144 691214891 885164572 522063456 26537314 836680980 43897314 413843857 523542917 830544982 203493552 337502849 117303447 56105859 790809628 641205608 686649778 182659876 260946873 306767836 175590565 140113105 422331486 612885490 413494386 319424815 345392984 914206506 252012472 542986495 847840320 848715178 -1 243995015 237773442 254528769 243995015 469743398 867723620 686385319 520086201 891436447 372910848 593587398 392826688 535432483 194126353 554782737 254528769 301334993 819963767 596367148 373683372 489295045 950862675 755527023 541463939 686865014 407009263 602811046 217928587 999674172 265395517 163091630 387518405 271516194 614459776 63210631 661932839 -1 750429264 757544011 182429059 295504204 254528769 489295045 574924220 273365488 298868262 819963767 679521131 138533159 490142300 411999902 828722364 836680980 175554418 645695407 111985669 939946968 336688564 984182750 237773442 822261941 -1 344240078 580918883 880938198 469384372 45426260 664490073 198628726 893897082 527897224 622737539 730824918 391779414 461649452 520011864 641164921 469384372 883564101 500268473 553190572 379213018 459789430 951926549 591284702 582861386 666590606 86256730 572589546 346188490 244155041 620059513 958339854 861208333 271516194 -1 288628682 676685933 998120269 281083465 627589268 622737539 117303447 535432483 575485118 817693389 288542157 910994573 481127177 868838278 149052945 693375965 197115342 560814638 107596959 707186544 346394348 827132364 612885490 939563959 499941413 365679164 254528769 580470806 807820896 378610966 231771136 241693686 229821643 263798126 823933296 318110611 238442797 836680980 560637528 907772025 988919874 817693389 387384744 67592009 719457202 329542777 385144989 500268473 -1 174295016 490142300 845459462 991067365 91064641 75228974 211550817 198016418 302277738 692204091 432069691 789404113 400907045 378610966 228137178 165753 667169560 893652215 201066749 63210631 760593154 791932302 288628682 246216644 46945925 33812208 537867109 432504521 664490073 524542574 333260763 205644911 197307546 893652215 495712606 836680980 555548888 790909002 42277380 723933984 729941138 163091630 22393976 345102555 345102555 693375965 916738849 239987054 56105859 165622114 57801759 183843307 766504018 164542502 198628726 730909832 456401701 730824918 341012648 406483013 13384724 588150191 414918047 488751710 560814638 719457202 590783394 60081926 596943234 828722364 786892734 693375965 113804160 53590481 473150723 41260287 686385319 329959527 244155041 580918883 297133830 751316591 67075526 63210631 345102555 542661640 398981201 765137854 437517579 57551192 248636995 165622114 890844482 786892734 399202754 306767836 627561325 357329820 861208333 330583346 428747955 495336832 622737539 681823792 363811064 457715535 801326287 246216644 914206506 527897224 922220234 764751417 957144144 627589268 774149146 330318834 -1 443342808 28576479 579690895 368779111 717390689 418807544 574417829 801402068 958339854 217928587 880938198 345072009 55517047 344240078 979285058 211070558 789404113 408244002 92102199 561553313 357329820 542986495 638011115 728357838 901304975 563823514 728492414 389956215 295805912 71713295 582861386 443342808 873072247 465892383 102379477 814490763 939563959 779829204 750429264 11796756 883564101 697184458 199386661 745924515 275610416 722672739 306854073 614297261 967987535 729352677 46485154 14405655 63210631 638293140 669742991 999101537 819523467 602915291 170824557 112302971 807820896 988919874 991188064 763183908 286319692 791183444 194126353 525617132 626837013 284387166 518109595 647911422 998120269 703311448 554782737 428413005 673965031 170824557 710730165 424697572 130431610 740364356 799467751 533560917 284387166 368779111 79323336 333772685 818974853 857102413 456863895 690863334 881489135 563823514 341012648 163983150 232531633 761888635 590603969 645695407 523542917 655834254 163789960 357329820 766504018 637964511 66483968 119601349 590138438 505655512 365407761 341012648 790909002 53028773 667169560 117347524 494950691 858159813 912506727 446355059 560455121 590783394 211333607 699856917 149052945 175884183 613084013 595427792 922171930 663667470 614593757 284696682 182659876 731745766 37081879 523542917 -1 333260763 381881872 94630229 950629972 859962837 790909002 718577411 36050763 622737539 668250239 413494386 229821643 207023050 507142051 464037621 820211254 489295045 469743398 155997760 867723620 533367205 660040051 790809628 748186132 613084013 850351456 182429059 246216644 238442797 16475116 804352169 922220234 566034579 633637325 378409769 740224085 594204193 118534662 201066749 864350394 18299476 321331882 977467597 67075526 830162158 922220234 161017478 433756914 663307073 618312173 893652215 339350524 174295016 914291169 426480224 613084013 447434673 686865014 864350394 785376602 215802236 365035648 555828167 602915291 857102413 655834254 117347524 271708247 644336340 127278512 988919874 332773543 777440440 980936845 795730704 473150723 265395517 288628682 748526814 137132982 766504018 306854073 41524303 578238211 41524303 914662962 181721636 408497768 885077908 469384372 922220234 86256730 303139271 784597145 627376276 34584857 432069691 725418770 679521131 859962837 387518405 622918995 555828167 -1 229821643 861383306 907456227 901803305 893652215 566034579 634983639 29287119 958339854 664295306 189854783 842306692 669125354 836680980 60081926 199770581 854398124 579783784 72263116 73453883 237773442 702444538 980134651 59706771 658212287 53590481 335743200 363457997 446355059 854062217 317871021 113811391 982581137 622737539 46485154 175590565 416756465 79213361 586392635 927530478 32796250 746419439 67592009 764751417 490869221 197115342 907772025 590138438 323513395 79323336 789404113 327789615 854062217 17012234 329542777 668281990 688597242 664295306 451474906 456401701 161017478 577758652 43897314 914291169 602915291 712694937 490869221 11796756 730824918 363579344 572311287 420425052 707186544 7545447 857102413 882812597 182659876 771459106 664295306 627561325 323513395 244195221 818014838 830162158 18299476 689608865 940104206 748526814 683489839 560455121 130431610 374972287 60081926 150137560 566096351 45426260 447434673 984182750 655834254 946112218 79213361 345392984 117347524 572311287 45426260 88469907 485683712 602915291 586392635 372910848 790909002 527897224 14405655 198628726 219896364 175590565 512615132 882812597 867723620 667169560 586392635 155997760 785866095 46485154 367754743 60081926 991067365 807648187 327982936 16475116 57801759 56105859 910794274 146197290 600962339 578238211 982554231 123550994 284859244 885164572 977619929 709403855 885077908 115639466 760593154 96109344 79213361 707186544 244883660 194126353 341012648 425469326 97299507 -1 318110611 711501588 691504106 634536293 94630229 750429264 750156197 374972287 527897224 549323513 817693389 197307546 208028672 368779111 168494769 207023050 560556517 763856958 234968285 575541534 709403855 494923774 456401701 337458711 610613670 420773560 815472010 979580407 238951985 231771136 834500260 123550994 771459106 986331373 495241145 206014003 54164180 845211351 167415720 777440440 721867658 494751627 337502849 38372578 782619049 55517047 705622548 459789430 477076784 413494386 663667470 149052945 92112290 95779603 393835525 801402068 503810504 713199217 939946968 117303447 138790019 644187365 806195787 182429059 330583346 626837013 426480224 591700510 437863021 358362276 665446719 820211254 730756715 379109457 645276436 377651896 214317232 92160628 438872920 480210823 745215401 710730165 660639438 574417829 201066749 907772025 768744535 468107571 669655791 755527023 329574367 791183444 704672739 86256730 863667577 318110611 78898063 329959527 4610166 219896364 780117964 188196698 319379178 96109344 575541534 533560917 389956215 411999902 977467597 373771611 81866966 78898063 832364259 112624754 345102555 601762202 729941138 386381016 115470851 769545495 981763217 590138438 939946968 295958449 26375227 535432483 36050763 697184458 254167164 18299476 751316591 711503207 748186132 183843307 847840320 627589268 149052945 330785266 686649778 386935154 627561325 628220249 686649778 345102555 669125354 883564101 719457202 243995015 17012234 238442797 45426260 656489207 770680522 499941413 26905429 586985028 567600315 789495739 799467751 800463769 729352677 753145692 466852129 407009263 171504845 -1 319379178 638293140 403334160 641205608 102379477 92102199 165622114 345392984 649175882 333260763 782594982 838379139 337458711 859063396 675573324 579991057 885077908 146171038 818974853 697184458 203580162 416739210 970265761 211550817 623188968 827132364 981763217 668281990 832364259 389956215 145847415 672907310 980134651 702444538 170824557 418807544 197115342 416739210 849035201 260307180 578238211 729178187 499941413 731745766 721120553 349032071 228137178 254167164 827132364 930790502 337458711 861383306 466034328 588150191 745215401 251692591 651109313 957144144 561494895 392826688 579991057 406717194 275610416 330785266 760624728 790809628 115470851 223030820 420342620 321467204 -1 456863895 989696303 769545495 379109457 522063456 461274569 86361620 333260763 644336340 741339101 432069691 566096351 681823792 693375965 999101537 563675995 406430184 335890204 750156197 456401701 37081879 609637013 183843307 795730704 159647580 644336340 647290016 638076633 335743200 11796756 296417374 716182336 237773442 938954818 503810504 710113373 903297209 73453883 -1 274831438 321331882 830162158 100130908 271516194 765137854 592274818 78898063 26905429 560556517 686649778 801326287 319379178 524972471 817331802 119601349 312308223 302277738 142117376 46410909 495241145 63210631 777440440 476084224 167415720 433756914 494950691 275463593 283107224 582861386 122896725 935910737 582319429 117347524 94630229 768744535 854062217 628220249 72643683 782594982 130580 453407680 38372578 703311448 84208996 116545387 92112290 37724537 354949635 428747955 761021239 59501988 182659876 664295306 354949635 250810872 -1 454563819 182659876 860724917 434526689 602811046 863278761 728492414 688597242 379109457 288542157 36050763 893652215 982693874 378409769 830544982 252012472 831985335 377651896 561494895 244883660 692204091 535432483 208493418 551345512 790809628 660639438 220059095 413843857 745215401 472407762 658388576 28416726 549323513 379109457 459789430 958339854 663667470 711503207 763856958 494923774 416739210 175590565 718229961 494950691 596367148 346188490 254167164 579991057 893652215 389956215 325845006 908463563 162425880 163091630 782594982 206014003 937633254 579783784 692204091 679275202 456863895 582861386 122067182 940104206 655834254 667169560 417425319 563675995 413494386 414918047 647911422 627376276 703311448 365035648 811841566 373683372 283107224 248636995 74820195 53590481 763281688 408244002 836680980 470803824 127278512 182026506 582861386 830994144 622918995 238442797 477076784 297133830 198016418 461649452 238442797 107839247 42277380 345072009 198016418 850636024 1713096 159647580 927530478 711501588 28576479 950235340 348123399 519762398 634536293 817693389 494923774 842306692 602915291 60744503 307476694 284859244 341012648 213926602 262575582 920219729 786892734 731745766 760593154 95443860 -1 663667470 958339854 78898063 940104206 433439854 541463939 372910848 338370105 567416830 39885396 171221433 563675995 567600315 55517047 705622548 135519629 403334160 575541534 688597242 645276436 864561721 638011115 890844482 723933984 708274346 668250239 790909002 264549124 260946873 286319692 641205608 358191652 723200871 939563959 786892734 965993467 518109595 981763217 46485154 417425319 447434673 957643716 902419092 626837013 188196698 155997760 609637013 771459106 644187365 818829472 72794624 375673341 78898063 79097209 74820195 548806448 378610966 645695407 280856350 740224085 937633254 365407761 751964866 602915291 801169129 57801759 609637013 274831438 262575582 239254051 982581137 28416726 560814638 209977170 60744503 780117964 765954927 214317232 379213018 345072009 989696303 663307073 667300705 745924515 46011383 705118513 211550817 312308223 363811064 910794274 208493418 894991717 710730165 901803305 542661640 232018015 433348815 113804160 812752908 211550817 208493418 599555786 861383306 751316591 81866966 880446976 707186544 484471406 117347524 211070558 297175900 745215401 614593757 914206506 11796756 780117964 804352169 488751710 71713295 568090820 211550817 465892383 79213361 763281688 46945925 660639438 217928587 916321789 790809628 470690645 537867109 384604556 731936598 812752908 234968285 705118513 786892734 823787812 231771136 398981201 387518405 833246783 276260520 422331486 13384724 245677831 167415720 779829204 880938198 327982936 603690869 208028672 330583346 749101296 938954818 679275202 333772685 789495739 761888635 852837035 559785274 -1 818974853 782927012 325287502 574417829 729352677 863667577 142117376 604148770 229515163 818014838 329959527 18404492 389956215 563675995 728357838 247165890 761888635 484471406 854398124 372910848 387518405 985045640 873072247 627561325 763856958 457715535 403334160 726776295 807262913 263636646 532803555 46410909 406483013 363457997 441949925 372910848 811841566 358362276 681690682 146171038 507142051 729352677 215802236 368764047 367754743 86256730 699856917 338370105 689897360 373771611 861208333 424697572 603620710 689897360 751964866 663667470 901803305 812752908 637964511 13384724 335890204 368779111 965993467 939946968 577758652 930790502 424146759 549323513 303139271 939563959 250810872 345102555 49212342 614593757 263798126 485683712 731745766 146171038 346394348 908463563 663946492 779829204 785866095 378409769 627376276 750429264 74820195 182429059 456401701 182026506 728492414 162425880 115639466 214317232 26375227 734712823 72794624 307476694 822261941 827132364 291386915 634536293 461274569 976942240 336688564 112624754 413843857 354949635 729178187 100130908 -1 456863895 770680522 801326287 198016418 254528769 416756465 490869221 601762202 155376172 542661640 542986495 661932839 349772488 660738659 276260520 358191652 519762398 87162480 462383923 966561320 34685076 456401701 -1 252012472 697184458 95779603 973579758 818829472 205644911 812140416 935910737 26375227 244195221 26905429 691740164 115470851 495336832 387518405 833246783 649175882 901304975 602811046 705118513 358362276 946112218 437863021 731745766 426480224 60081926 424697572 135519629 807820896 766504018 790809628 580884227 215802236 901803305 670979891 109891495 579991057 57606083 115470851 327789615 637964511 208028672 633637325 908705907 211362614 49212342 26905429 477076784 562288215 47116225 209977170 437863021 495712606 679521131 494950691 206014003 406430184 327789615 374972287 822261941 705118513 339350524 953838288 46485154 679670176 312308223 728357838 411907778 849123482 363457997 914662962 507142051 664490073 252012472 252012472 693375965 348123399 452820542 610932880 333260763 408244002 149830598 782927012 475822349 717390689 182429059 909186692 348123399 970265761 363579344 110556435 469743398 765954927 18794770 600962339 490869221 914291169 21873594 766504018 692204091 34030354 459789430 590783394 154693260 766504018 603690869 868838278 63562141 563823514 56105859 885164572 377651896 764751417 490142300 363811064 358362276 67075526 398981201 812140416 612885490 507142051 567416830 958339854 217928587 308705211 725418770 541460419 785866095 203580162 427675535 97299507 416739210 670979891 741463146 67075526 943374902 219896364 634536293 930790502 845459462 406483013 549323513 29287119 868211619 368779111 340301060 -1 491543933 701070480 16475116 140113105 41260287 574924220 365407761 861208333 958339854 638076633 60081926 937633254 638011115 817693389 213926602 428413005 208877360 75228974 97299507 406717194 150137560 594204193 997432376 3090244 858159813 705118513 832364259 908705907 319424815 907456227 4610166 468199498 238442797 117303447 112302971 250810872 942384956 958339854 993786079 426480224 527985132 175884183 37724537 115639466 997299598 113811391 339350524 833220245 327982936 920219729 626807589 28576479 469035792 533367205 689608865 302277738 425469326 367754743 41260287 777440440 595427792 847840320 785247749 427675535 831985335 248636995 922171930 191697350 609637013 834500260 623090438 420425052 710730165 284859244 355756362 332773543 891436447 942045496 367754743 832364259 171221433 77564723 693375965 72621546 819963767 842871738 167036027 942627653 -1 811841566 580283317 562288215 77299524 755527023 18299476 437517579 11796756 627376276 407009263 604148770 13384724 507142051 427618367 683531283 718577411 329574367 431837446 301334993 520086201 881489135 746419439 845459462 140395123 541463939 411999902 871898006 575485118 325287502 908705907 284696682 355756362 791183444 923159887 982581137 987705926 486307671 406717194 890844482 379213018 -1 422331486 84062198 346394348 466852129 880665324 800463769 822261941 470690645 859930182 548806448 499941413 485683712 897789362 842306692 28576479 908463563 494950691 937633254 150137560 713199217 288628682 375673341 428142800 786075537 507969865 593587398 633637325 770847694 768744535 784597145 711501588 32796250 451474906 888304663 728492414 60081926 352607876 -1 92160628 42277380 580283317 663667470 871898006 569422962 997432376 238951985 55517047 699856917 669125354 499941413 663667470 728492414 751316591 175884183 818014838 472407762 750156197 232018015 54153332 950629972 416756465 490869221 914206506 992563691 22393976 710113373 748186132 175590565 721867658 489295045 395983136 363457997 111985669 358191652 100130908 984182750 593587398 188196698 447434673 29734308 432069691 979285058 457715535 551345512 490869221 237773442 59706771 86256730 989747990 559785274 34685076 730909832 288542157 766504018 858159813 243995015 251692591 770680522 214924123 191697350 980936845 582319429 610895287 958339854 718229961 710113373 572589546 107839247 248636995 84208996 338370105 718229961 721867658 888304663 679670176 520011864 812752908 456401701 113804160 368764047 977619929 411907778 937633254 748526814 618312173 39885396 785866095 424697572 60978603 260946873 28576479 691504106 355126439 527897224 668281990 893897082 271708247 807820896 730909832 265395517 403334160 162425880 254756796 591284702 710113373 223785502 472407762 335743200 7545447 211550817 634536293 358362276 17012234 916321789 680666684 488751710 332773543 910994573 770278321 265395517 385144989 861208333 701070480 88469907 164542502 149052945 426480224 110012494 433439854 522063456 113804160 471865558 54153332 295504204 920219729 378409769 582319429 950629972 175884183 43392732 312308223 603690869 953838288 284696682 819523467 339350524 142117376 384604556 297175900 680666684 774149146 690863334 938954818 79323336 815472010 631700842 596943234 206014003 940104206 958339854 770278321 989696303 639572212 14405655 223030820 852782081 74820195 997432376 930790502 325845006 721867658 252012472 385144989 827132364 378409769 699856917 567600315 992563691 845211351 21873594 980134651 903297209 635671105 760624728 817693389 795730704 785247749 29287119 472407762 784371166 551345512 554782737 379109457 758575350 559785274 265395517 408497768 724422672 77299524 769837665 381881872 12903603 505655512 966561320 644187365 205644911 560637528 711501588 465892383 689608865 194126353 146171038 263636646 867723620 602915291 823787812 17012234 594204193 182026506 92112290 768744535 591700510 13384724 208877360 863278761 177905368 456401701 117347524 842306692 469743398 942045496 627561325 156929061 522063456 679275202 719457202 271516194 686385319 667300705 130431610 745924515 491978273 21873594 891436447 686649778 764751417 535432483 857102413 254528769 241693686 493264770 679275202 159647580 610895287 812752908 973579758 46945925 336862767 363457997 818974853 175884183 812140416 730756715 348123399 29272319 922220234 748526814 433348815 53028773 276260520 785247749 667169560 457715535 208493418 667300705 768744535 237773442 861115508 461274569 368764047 592274818 745924515 37724537 823933296 672907310 127278512 942627653 206644601 904818318 635671105 580884227 699856917 774149146 135519629 812140416 317871021 852837035 123550994 302277738 337502849 186539666 297133830 734712823 73453883 907456227 41524303 686649778 610613670 491978273 480210823 11796756 647427996 4610166 451474906 770847694 428142800 471865558 96109344 495241145 542986495 560814638 330785266 88469907 788878491 774937853 86361620 991188064 746419439 974448855 691740164 232018015 466852129 665446719 46945925 432504521 914291169 454563819 695553778 145847415 411907778 801326287 592274818 161017478 393835525 711501588 722874144 252012472 950235340 719457202 461274569 330583346 628220249 833246783 566096351 145847415 774149146 562288215 290604263 198628726 975269268 987705926 135519629 392826688 32466209 495241145 363811064 461274569 555548888 721120553 318110611 927530478 43897314 768744535 28416726 713199217 117347524 110556435 560455121 78898063 907772025 416756465 462383923 691740164 372910848 461649452 520086201 801169129 45426260 568090820 782594982 763281688 505655512 284696682 66483968 823787812 848715178 335743200 413494386 485683712 579991057 951926549 471865558 130431610 372910848 942297502 741463146 42277380 716182336 989696303 596367148 296417374 610932880 232018015 919585635 305936785 961821360 566096351 207023050 345102555 298868262 414918047 72643683 18404492 639572212 891436447 758575350 578238211 254528769 494923774 675786233 560814638 330583346 60744503 78898063 782594982 399202754 950235340 927530478 66483968 437517579 633637325 667841561 113804160 722672739 562288215 880938198 117347524 345072009 579783784 656489207 718577411 705622548 17012234 188196698 46011383 472407762 123550994 520086201 572311287 95443860 533560917 663667470 386381016 96109344 156929061 319424815 251692591 518109595 942045496 493264770 57801759 308705211 268947673 850101344 26905429 34584857 247165890 301714930 667300705 86256730 355756362 562309509 679670176 610069705 92112290 417425319 580918883 555548888 146197290 891573253 312308223 162425880 624015614 786969334 739554266 665446719 395983136 766504018 726776295 565554630 871898006 663667470 411999902 758575350 817331802 91064641 730909832 21873594 999674172 239987054 122067182 471865558 730756715 341012648 417425319 753145692 13384724 574417829 183843307 447434673 92160628 469743398 59706771 138533159 724422672 560556517 596943234 520086201 92102199 770680522 596943234 260307180 26375227 967987535 340301060 760593154 372510013 958339854 378610966 422331486 572311287 670979891 72794624 453407680 685097645 832494905 244883660 206644601 533560917 770847694 537867109 232531633 582861386 685423362 670408229 29592557 726124644 34685076 903297209 112302971 201066749 595427792 600962339 728492414 297133830 580283317 574417829 468199498 198703751 823933296 596943234 577714620 984182750 363579344 786075537 614297261 728357838 817331802 638011115 751316591 319379178 87162480 785376602 437863021 697184458 329574367 958339854 365679164 111122929 57551192 628984381 702444538 57801759 472407762 815472010 524972471 624015614 363579344 -1 770680522 170824557 406430184 823933296 214317232 414918047 454563819 399202754 939563959 263636646 174295016 208028672 873072247 725418770 914291169 373683372 554782737 522063456 966561320 676709331 161017478 248636995 730909832 842871738 268947673 229405480 768744535 507969865 327982936 553190572 159056677 692204091 363457997 244883660 239254051 339350524 110556435 604148770 634536293 408497768 448316745 275610416 432504521 673965031 433348815 84208996 387384744 428747955 823787812 223030820 638076633 198628726 284700142 751964866 472407762 194126353 854062217 411999902 -1 807820896 495336832 199770581 758575350 286319692 850351456 548806448 319424815 590138438 198703751 560814638 818014838 494950691 26905429 950629972 846213413 488751710 140113105 957144144 602915291 560637528 433348815 246216644 555548888 567416830 721120553 252012472 92112290 566096351 211362614 673965031 198016418 372510013 507969865 991188064 527985132 470690645 -1 387518405 830994144 939563959 286319692 18794770 160366715 427618367 416739210 722874144 170824557 669125354 203493552 667169560 779829204 367754743 33812208 867723620 709403855 433756914 3090244 138790019 807648187 782594982 386381016 626837013 784371166 950235340 690664050 755527023 428413005 591700510 686385319 263798126 908463563 372910848 724422672 -1 406430184 155376172 219896364 595427792 591700510 712694937 379109457 703311448 845211351 406568384 469743398 679670176 660639438 456863895 358362276 197115342 638011115 989696303 73453883 760624728 788878491 451474906 229821643 456863895 78898063 461274569 859930182 145847415 682038125 26375227 325287502 827132364 658212287 41260287 659932705 561494895 849123482 175884183 341012648 41524303 767047665 930790502 626837013 893897082 997432376 920219729 746419439 593282222 681823792 695553778 22576092 156929061 306767836 993786079 174295016 425469326 582861386 728492414 66483968 950629972 424146759 979580407 920219729 466852129 626837013 254167164 890844482 33812208 588150191 867723620 916321789 551345512 424146759 13384724 182429059 580283317 538432928 950862675 838379139 28576479 71713295 386381016 395983136 938954818 175590565 537867109 861383306 563675995 903297209 689608865 107808575 96109344 634536293 526755095 112624754 721867658 395983136 291386915 87162480 378610966 817331802 609637013 73525554 122067182 920219729 571736161 989696303 740224085 659501910 306854073 183843307 564190579 424697572 564190579 745924515 406430184 250810872 42277380 22393976 764751417 730909832 199770581 154693260 329959527 832494905 871898006 705118513 942297502 791183444 138533159 609637013 784371166 622918995 505655512 477076784 697374453 774937853 822261941 273365488 95443860 46945925 939563959 448707988 163091630 579690895 432069691 111985669 838379139 999101537 748186132 723933984 745924515 664490073 988919874 169614935 298868262 610613670 211070558 54164180 74820195 580470806 374972287 937633254 638011115 284696682 146171038 493264770 681690682 -1 229405480 599555786 750156197 672907310 974521569 574924220 991067365 42277380 495712606 670408229 250810872 670979891 29592557 531136661 26375227 626837013 690664050 718577411 577714620 871898006 832494905 910994573 197115342 155906400 966503495 940104206 368935143 697184458 592274818 660040051 177905368 367754743 590138438 433348815 572311287 914662962 296417374 711503207 594204193 777440440 486307671 997299598 693375965 286319692 699856917 827132364 36050763 -1 411999902 627561325 577758652 533560917 454563819 669655791 830162158 627561325 632336991 206014003 559785274 789404113 456863895 852782081 626807589 669655791 818014838 655834254 215802236 330785266 167415720 454563819 46945925 87162480 800463769 927530478 286319692 406483013 868838278 701070480 186539666 263636646 214317232 897789362 566034579 507969865 92102199 427618367 13841075 34030354 610613670 842871738 784371166 149052945 623188968 730824918 807262913 175554418 95779603 777440440 18404492 203018461 374972287 19140171 456487084 669655791 690863334 312308223 118534662 644336340 849035201 769837665 591700510 471865558 574924220 838379139 472516679 87162480 329574367 542986495 208493418 977467597 244155041 209977170 420425052 363811064 254756796 533367205 329959527 789404113 656489207 275610416 683531283 901803305 411907778 920219729 263798126 288542157 198016418 818829472 271708247 293155218 291386915 938954818 690863334 18404492 208493418 820211254 298868262 472516679 491294665 562309509 647427996 563823514 861208333 174295016 966561320 938914563 438872920 548806448 610895287 627561325 118534662 610895287 572589546 861208333 960643177 593587398 115639466 491294665 386381016 470690645 664490073 422331486 815472010 763183908 828722364 939563959 786892734 74820195 632336991 38372578 317871021 508037594 633637325 807262913 691214891 116545387 345392984 149052945 459789430 34584857 667841561 691214891 562288215 223030820 801169129 664490073 721120553 979285058 171504845 389956215 156929061 868211619 592274818 580470806 199770581 541463939 26537314 403334160 524542574 330785266 71713295 785866095 264549124 751964866 760624728 760624728 461274569 329959527 751316591 469035792 685097645 664295306 21873594 107596959 239254051 161017478 466852129 32796250 586985028 164542502 37081879 469743398 820211254 818829472 893897082 667300705 765137854 769545495 330318834 751964866 984895249 22576092 859930182 165622114 53028773 163789960 939946968 1713096 970265761 43897314 537867109 997299598 432504521 119601349 22393976 669742991 751316591 349772488 814490763 897789362 977619929 346188490 349772488 345072009 551345512 155997760 890844482 458547544 111985669 95443860 223030820 234968285 146197290 601762202 112302971 163789960 901803305 514721585 942045496 750429264 444874800 982693874 490142300 916321789 834500260 471865558 637964511 728492414 446355059 942045496 770278321 634536293 84062198 428413005 244883660 834500260 254167164 690664050 861208333 59501988 363579344 468107571 664490073 254528769 961821360 454563819 879954113 519762398 288628682 937633254 593282222 622918995 881489135 586985028 355756362 59706771 319424815 401672699 336862767 408497768 140113105 368764047 830994144 17012234 531136661 580884227 416756465 275463593 239254051 216195055 333772685 520011864 22576092 288542157 690863334 999674172 708274346 163789960 189854783 919585635 685423362 601762202 3090244 622823007 286319692 182026506 438872920 286319692 641164921 691740164 354949635 413843857 336862767 833220245 951926549 307476694 495336832 -1 333260763 527897224 78898063 22393976 114396999 208028672 57551192 580884227 32796250 107596959 244195221 458547544 472516679 914206506 830994144 435984127 861208333 92160628 251692591 367754743 619868736 850351456 730824918 489295045 574924220 352508141 137132982 57551192 301714930 867723620 711501588 217928587 385144989 220059095 447434673 651109313 493264770 32796250 186539666 26375227 283107224 991067365 107596959 307476694 295504204 817331802 659932705 647911422 3090244 644187365 381881872 986331373 243995015 765954927 993786079 149052945 997432376 602811046 551345512 785376602 966503495 469035792 211070558 847840320 830544982 7545447 140395123 628984381 815472010 985045640 427618367 519762398 112624754 260307180 110012494 723933984 777440440 337458711 248636995 726776295 586392635 697184458 554782737 283107224 894991717 113804160 818014838 284859244 784371166 782927012 779829204 602811046 281598862 832494905 586985028 742174392 251692591 155376172 916321789 32466209 574924220 503810504 620059513 149052945 538432928 566034579 795730704 203493552 95779603 667169560 712694937 38372578 377651896 182026506 198016418 563823514 582861386 907772025 284859244 991188064 638011115 12903603 329574367 494923774 34030354 18404492 164542502 165622114 656489207 254528769 384604556 519762398 543006155 682038125 63562141 319424815 -1 812752908 461649452 682038125 438872920 753145692 524542574 760624728 860724917 46011383 807262913 966503495 533367205 7545447 378409769 155906400 867933639 321331882 765954927 -1 491543933 593282222 171504845 637964511 894267291 647911422 541460419 553190572 600962339 923159887 986331373 675573324 84208996 181721636 603690869 549323513 433439854 610069705 977467597 335890204 381881872 111122929 760624728 683531283 297175900 560637528 938914563 894267291 116545387 975269268 765137854 149830598 991067365 729178187 852837035 852782081 740224085 456863895 885077908 751964866 651109313 336688564 444874800 146197290 507969865 532861718 345072009 757544011 432504521 880938198 473150723 562288215 86361620 863667577 761888635 681823792 635671105 334677549 335890204 910994573 263636646 600962339 564190579 561553313 494751627 414918047 276260520 986331373 481127177 306767836 979285058 508037594 117347524 634983639 533367205 457715535 618312173 341012648 386935154 604148770 641164921 647427996 239254051 563732029 432069691 937633254 211362614 608724072 859930182 801326287 67075526 644187365 355756362 893652215 683531283 433114786 115470851 726124644 812752908 976942240 295504204 433439854 927530478 582861386 246216644 211362614 163983150 864561721 18794770 341012648 263798126 160366715 989696303 284700142 422331486 703311448 219896364 123550994 211362614 940104206 349032071 901803305 523542917 494950691 766504018 572589546 508037594 183843307 995194212 198016418 205644911 880446976 661932839 566034579 751964866 801326287 132774876 468107571 658388576 789495739 823933296 244883660 701070480 750429264 789495739 691214891 127278512 386381016 46011383 336862767 836680980 679670176 789495739 446355059 867723620 70161655 358362276 784371166 593587398 29592557 476084224 518109595 45426260 679275202 631700842 857102413 79213361 206014003 67075526 655834254 970265761 762227828 481127177 667169560 786892734 819963767 965993467 602915291 977619929 592274818 977467597 958339854 456401701 665446719 46945925 731936598 748526814 801402068 675786233 729941138 626807589 532803555 995194212 610613670 722672739 818974853 726124644 363579344 177905368 163983150 130431610 750763843 893897082 399202754 700120477 812140416 378409769 368704535 748186132 469035792 354949635 867723620 801326287 766504018 288542157 667841561 726776295 490869221 695553778 967987535 647427996 863667577 861208333 29287119 155376172 432069691 363457997 670979891 37081879 868211619 740364356 111122929 692204091 418807544 608724072 358362276 993786079 26375227 758575350 437517579 239254051 155376172 832364259 111985669 312308223 418807544 34030354 306854073 254528769 601762202 3090244 789404113 413494386 857269083 337458711 399202754 175554418 894991717 472407762 691214891 667300705 327789615 413843857 897789362 950235340 782594982 845459462 685423362 286319692 779829204 560455121 662235717 211362614 647290016 734712823 893897082 577714620 731936598 217928587 444874800 2433982 363579344 344240078 865880334 610069705 820211254 53590481 475822349 717390689 627589268 514721585 861115508 638293140 909186692 312308223 275610416 372510013 97299507 914662962 77299524 495241145 54164180 406568384 728357838 223785502 791932302 494923774 372910848 254528769 306854073 753145692 386381016 651109313 198703751 746419439 691740164 330583346 66483968 526755095 974521569 751964866 760593154 163789960 830544982 406430184 709403855 208493418 683489839 421927353 67075526 675786233 660738659 437517579 426480224 110012494 490142300 974521569 505655512 237773442 647427996 704672739 470690645 228137178 216195055 893860727 763183908 -1 387518405 60081926 239254051 493264770 740224085 746419439 833246783 155906400 938954818 795730704 638293140 307476694 961821360 993786079 334677549 432069691 770847694 406483013 372510013 111985669 132774876 901803305 859962837 67592009 113811391 231771136 254528769 593587398 686649778 274831438 420425052 503810504 753145692 -1 593282222 425469326 740224085 608724072 491978273 871898006 710730165 610932880 832364259 208877360 845459462 490142300 854398124 849035201 679275202 669125354 293155218 476084224 107839247 219896364 29287119 162425880 146171038 165753 54153332 38372578 167036027 563823514 116545387 859930182 408244002 785247749 707186544 111985669 293155218 378409769 211333607 588150191 46011383 1713096 859063396 416756465 888304663 375673341 232018015 697184458 446355059 54153332 414918047 107839247 891573253 777440440 53590481 79323336 95779603 538432928 593282222 729352677 604148770 565554630 281598862 72621546 238951985 842306692 337502849 563823514 441949925 161017478 601762202 145847415 705118513 345072009 669655791 243341711 842871738 641164921 323513395 443342808 238442797 750156197 859930182 71713295 169614935 338370105 32796250 387384744 112624754 170824557 519762398 284700142 182659876 852782081 194126353 192251969 893860727 329574367 593587398 426480224 414918047 580283317 543006155 488751710 916321789 296417374 95443860 593587398 312308223 691504106 29734308 912506727 363811064 686649778 163789960 54164180 469035792 984182750 191697350 191697350 560637528 358191652 284700142 211362614 428747955 411999902 205644911 594204193 163789960 220059095 161017478 34584857 686385319 155376172 560637528 580884227 -1 602811046 590603969 291386915 755527023 575485118 974521569 231771136 554782737 716182336 623188968 132774876 107808575 865880334 333772685 910994573 728357838 562309509 619868736 614297261 914662962 494950691 669655791 367754743 525617132 864350394 542661640 32466209 658212287 763856958 284700142 216195055 441949925 46410909 297133830 741463146 208028672 592274818 443342808 159056677 329959527 861115508 769837665 413494386 690863334 508037594 860724917 953838288 1713096 57606083 919585635 785376602 979580407 271516194 398981201 263798126 750769230 634983639 730909832 807648187 456487084 56105859 628984381 199386661 199386661 -1 340301060 335890204 494751627 693375965 667841561 634536293 337458711 832364259 365035648 197115342 451474906 208493418 46410909 675573324 729178187 950862675 352508141 575541534 691214891 836680980 18404492 220059095 239987054 639572212 622823007 459789430 167415720 984182750 160366715 688597242 254756796 849123482 531136661 688597242 623090438 774937853 691740164 3090244 574417829 378610966 140395123 205644911 663307073 526755095 368704535 922220234 838379139 302277738 707186544 833246783 701070480 28576479 318110611 753145692 613084013 243995015 998120269 337458711 346394348 512615132 907772025 982554231 63562141 882812597 628220249 755527023 663946492 16475116 472516679 559785274 160366715 330785266 239987054 676709331 175554418 622737539 623090438 107839247 37724537 386381016 857269083 21873594 206287347 764751417 232531633 209977170 627589268 332773543 336688564 238951985 424697572 691504106 308232133 966561320 970265761 451474906 34030354 670979891 146197290 864561721 830994144 335743200 663946492 992563691 175884183 341012648 453407680 555548888 923159887 989696303 43897314 852782081 95779603 494923774 586392635 566096351 644187365 358191652 406568384 194126353 982554231 495241145 468107571 685097645 795730704 719457202 863278761 524972471 365407761 191697350 422331486 26375227 666590606 94630229 974448855 398981201 989696303 416756465 871898006 432504521 352607876 548806448 358362276 753145692 416756465 922220234 997299598 229821643 635671105 628220249 998120269 305936785 979285058 232531633 -1 740364356 374972287 881489135 507969865 -1 365679164 660040051 688597242 206014003 577714620 593282222 845459462 145847415 651109313 524972471 609637013 627589268 385144989 785866095 54164180 386381016 34685076 21873594 907772025 705622548 379109457 72643683 -1 774149146 848715178 211550817 801402068 848715178 263798126 966561320 999674172 950235340 247165890 495241145 378409769 155376172 719457202 520086201 624015614 437517579 719457202 639572212 984895249 619868736 447434673 535432483 731745766 456863895 817331802 729941138 476084224 997299598 644336340 667169560 407009263 175144765 34584857 958339854 753145692 758575350 599555786 248636995 986331373 651109313 789404113 338370105 208877360 349772488 319424815 49208976 297175900 939563959 620059513 333260763 59706771 447434673 323513395 145847415 154693260 942627653 159056677 975269268 77564723 669125354 763281688 791932302 332773543 663667470 301334993 916321789 708274346 12903603 927530478 894991717 599555786 374972287 818974853 79097209 987705926 476084224 280856350 254167164 568090820 102379477 997432376 729352677 199770581 680666684 784371166 728357838 150137560 420425052 281083465 943374902 753145692 284696682 614459776 16475116 53590481 701070480 987705926 574924220 367754743 620059513 823933296 966561320 718229961 295805912 13384724 663667470 422331486 596367148 852782081 427618367 -1 408244002 950235340 651109313 718577411 966561320 968396048 72263116 408244002 1713096 465892383 850636024 417425319 549323513 676709331 387384744 686649778 175884183 919585635 842306692 413843857 786969334 722874144 989696303 873072247 561494895 71713295 57606083 246216644 670408229 691504106 88469907 914662962 352508141 880446976 198703751 378610966 919585635 989696303 669742991 818974853 833220245 691740164 494751627 60978603 384604556 950629972 682038125 647911422 211550817 857102413 451474906 912506727 704672739 680666684 795730704 213926602 807648187 765137854 435984127 710113373 181721636 525617132 182429059 633637325 596367148 16475116 244155041 701070480 499941413 72263116 170824557 416739210 740364356 22393976 767047665 400907045 406717194 722874144 992563691 251692591 60081926 812140416 355756362 982693874 214317232 122067182 685097645 237773442 22393976 563823514 428747955 66483968 685423362 586392635 424146759 624015614 249558965 175554418 943374902 469743398 34685076 79097209 660639438 293155218 790809628 995194212 54164180 845459462 859063396 591284702 975269268 79213361 346188490 495712606 334677549 59501988 603620710 -1 523542917 220059095 14405655 908463563 330785266 448707988 548806448 406483013 244155041 988919874 938954818 12903603 26375227 241693686 791932302 741463146 181721636 559785274 345392984 327982936 666590606 270206207 297175900 107808575 880446976 355756362 590138438 634983639 993786079 614459776 567416830 181721636 628220249 953838288 28576479 916738849 63562141 974521569 987705926 880665324 554782737 265395517 709403855 377651896 667169560 710730165 675786233 456487084 763856958 634983639 999101537 791183444 763856958 317871021 683531283 823787812 981763217 197307546 26375227 791183444 976942240 92112290 845459462 675786233 769854437 622823007 600962339 789404113 977619929 332773543 632336991 795730704 415965469 577714620 162425880 863667577 579690895 349772488 751316591 554782737 386935154 610613670 610613670 658388576 341012648 880665324 880938198 859930182 997432376 859063396 215802236 363457997 363457997 721867658 494923774 574417829 375673341 165753 308705211 920219729 335743200 348123399 340301060 867933639 46011383 241693686 850351456 175554418 18299476 669655791 71713295 663667470 433114786 985045640 786969334 832494905 400907045 337502849 789404113 560637528 475822349 663946492 814490763 437863021 937633254 72263116 393835525 594204193 100130908 683531283 194126353 567600315 38372578 432504521 329574367 34030354 406483013 991188064 456863895 391779414 512615132 998120269 37081879 165622114 984895249 832364259 433114786 595427792 381881872 229515163 481127177 138790019 37081879 321467204 26375227 695553778 67075526 970265761 307476694 602915291 953838288 198016418 729941138 406483013 647290016 849035201 982693874 461649452 208877360 664490073 146197290 819963767 831985335 355756362 763856958 332773543 689897360 857102413 395983136 77299524 415965469 910794274 330318834 711501588 849035201 352607876 223030820 750429264 849035201 763183908 800463769 691740164 538432928 563675995 804352169 639572212 340301060 112302971 904818318 974521569 967987535 22393976 739554266 801326287 270206207 724422672 37724537 494751627 182026506 987705926 864350394 977619929 867933639 830544982 145847415 669742991 770278321 75228974 591284702 763281688 284696682 59501988 984117471 893860727 14405655 718229961 159647580 77564723 254756796 679670176 415965469 254756796 454563819 596367148 782927012 789495739 132774876 401672699 36050763 695553778 367754743 675786233 563675995 728492414 740364356 820211254 542986495 208493418 942384956 468107571 637964511 702444538 355126439 211362614 619868736 399202754 541463939 79097209 302277738 848715178 603690869 635671105 590783394 296417374 718577411 32466209 986331373 271516194 49208976 769545495 163983150 330785266 854398124 951926549 319424815 288628682 416739210 711503207 867723620 14405655 459789430 345072009 764751417 345392984 991067365 495336832 408244002 323513395 507142051 910794274 317871021 791183444 580918883 610613670 476084224 332773543 437517579 112302971 274831438 593587398 385144989 957643716 470803824 553190572 223030820 807820896 54164180 12903603 997432376 45426260 526755095 330318834 175884183 472516679 74820195 769837665 942384956 54153332 577714620 54153332 820211254 408244002 609637013 71713295 41260287 741339101 132774876 345392984 721120553 379109457 389956215 199770581 146171038 109891495 520011864 527985132 174295016 42277380 560455121 950629972 416756465 284700142 60978603 858159813 541460419 344240078 216195055 659501910 746419439 645695407 656206261 565554630 854062217 28576479 231771136 18299476 433114786 345072009 43392732 519762398 78898063 992563691 459789430 22393976 365407761 724422672 507969865 271516194 117303447 622737539 381881872 137132982 189854783 902419092 489295045 910794274 689608865 254167164 86256730 295958449 806195787 785376602 817693389 26537314 96109344 807820896 55517047 38372578 92102199 199386661 555828167 700120477 57551192 36050763 175590565 424697572 703311448 740224085 464037621 682038125 960643177 880665324 140113105 271516194 533560917 695553778 569422962 332773543 591700510 852782081 229515163 344240078 470803824 447434673 763281688 333260763 748186132 958339854 912506727 782594982 232531633 107808575 638011115 724422672 293155218 84208996 961821360 156929061 922220234 -1 592274818 675786233 795730704 182429059 745924515 424146759 140395123 832364259 927530478 468199498 329574367 223030820 201066749 859063396 610069705 730909832 559785274 982581137 553190572 818829472 818829472 451474906 542661640 149052945 681823792 373683372 262575582 16475116 170824557 762227828 957643716 507142051 927530478 979580407 132774876 791183444 3090244 424146759 860724917 208493418 239987054 596943234 155997760 208877360 175884183 422331486 308705211 998120269 806195787 63562141 522063456 676685933 49212342 939946968 422331486 491543933 764751417 3090244 741463146 565554630 603620710 610895287 961821360 880844104 13841075 26905429 663946492 71713295 683489839 991188064 414918047 596943234 551345512 748526814 245677831 472516679 420773560 817331802 804352169 682038125 110012494 211550817 198703751 392826688 660639438 676709331 79323336 769545495 433756914 903297209 188196698 46410909 329542777 491543933 728492414 332773543 197115342 379109457 122896725 686385319 766504018 608724072 34685076 254167164 860724917 418807544 634536293 848715178 207023050 433348815 574924220 441949925 43897314 765137854 468107571 786892734 281598862 563675995 712694937 880938198 731936598 908705907 305936785 275463593 114396999 28576479 907772025 543122079 641205608 610932880 291386915 819523467 771459106 894991717 980134651 704672739 538432928 830544982 867933639 602811046 211362614 724422672 610932880 542661640 722874144 734712823 57801759 541460419 208877360 676709331 78898063 464037621 163789960 942297502 818014838 110012494 600962339 660040051 850101344 472407762 637964511 456487084 818014838 78898063 832364259 275463593 907772025 57551192 271708247 215802236 807262913 453407680 939563959 893860727 352607876 669742991 456863895 295504204 339350524 4610166 135519629 561553313 938954818 217928587 574417829 828722364 116545387 329959527 262575582 577714620 46410909 912506727 858159813 22393976 276260520 102379477 523542917 938446553 307476694 560556517 823933296 29287119 532803555 669655791 156929061 -1 175144765 923159887 60978603 211070558 338370105 317871021 710730165 211550817 491543933 688380735 923159887 123550994 667841561 834500260 601762202 312308223 806195787 995194212 47116225 728357838 142117376 689897360 338370105 252012472 814490763 1713096 699856917 34030354 265395517 420773560 579690895 729352677 830162158 198628726 457715535 950235340 577714620 722672739 137132982 647911422 161017478 34030354 229515163 771459106 428142800 788878491 79097209 661932839 577714620 308232133 86361620 644336340 491978273 113804160 169614935 893860727 493264770 381881872 686385319 122067182 658388576 22576092 -1 859962837 363457997 999674172 683531283 563675995 815472010 470690645 507142051 957144144 232531633 41524303 117303447 87162480 645276436 883564101 524972471 560556517 92112290 223785502 577758652 739554266 1713096 138533159 114396999 765137854 676709331 325845006 7545447 229405480 28416726 755527023 415965469 760624728 564190579 801402068 740224085 741463146 454563819 681690682 495241145 192251969 668281990 662235717 231771136 427675535 375673341 433439854 63210631 989696303 675573324 114396999 318110611 495241145 982554231 982581137 428142800 784371166 628984381 456863895 782594982 785247749 823933296 500268473 214317232 661932839 724422672 499941413 354949635 43897314 211333607 950629972 239987054 110012494 16475116 246216644 28576479 923159887 768744535 748526814 729178187 413494386 610932880 998120269 601762202 541463939 632336991 614593757 596943234 716182336 975269268 457715535 656489207 73525554 609637013 505655512 880665324 213926602 127278512 340301060 908463563 96109344 691740164 60978603 551345512 966503495 319379178 365407761 433114786 165622114 859063396 801326287 32796250 399202754 160366715 761021239 823933296 619868736 358191652 428747955 690863334 448316745 466034328 864561721 685423362 403334160 284700142 113811391 484471406 471865558 427675535 861115508 368935143 668281990 633637325 669125354 604148770 683531283 407009263 84062198 664490073 847840320 175884183 491978273 332773543 77564723 271708247 782927012 217928587 149052945 1713096 352508141 679275202 191697350 428413005 763281688 977619929 989696303 991188064 749101296 392826688 533560917 325287502 425469326 638076633 543006155 244155041 507142051 909186692 231771136 967987535 565554630 574924220 437517579 960643177 422331486 845211351 135519629 229405480 894267291 494923774 155906400 532861718 379109457 995194212 469384372 317871021 748526814 293155218 700120477 533367205 854062217 563675995 411999902 341012648 997432376 939563959 599555786 214924123 885164572 406717194 531136661 49208976 244883660 167415720 171504845 32796250 681823792 602811046 639572212 56105859 761888635 565554630 339350524 689897360 902419092 902419092 229515163 59706771 831985335 67592009 572311287 861115508 660639438 150137560 790809628 243341711 208028672 55517047 485683712 231771136 162425880 379109457 182429059 145847415 182659876 77299524 461649452 593282222 675786233 681823792 424697572 854398124 854398124 476084224 494950691 780117964 942384956 667300705 770680522 667169560 155376172 861383306 909186692 29734308 182659876 168494769 801326287 191697350 79323336 861115508 567600315 579991057 569422962 43392732 491978273 122896725 375673341 264549124 363579344 664490073 712694937 413494386 271708247 880844104 427675535 923159887 72263116 638011115 586392635 563823514 63562141 22576092 491294665 894991717 49212342 73525554 603620710 861115508 411999902 938954818 628984381 288542157 32466209 690664050 223785502 203493552 411999902 524542574 132774876 175554418 171504845 325845006 111122929 367754743 670979891 333772685 812752908 979285058 579690895 812140416 833220245 722874144 45426260 668281990 940104206 520086201 827132364 208493418 348123399 206644601 491294665 711503207 469035792 782927012 745924515 79213361 854062217 722672739 122067182 211070558 47116225 692204091 608724072 560814638 211333607 942384956 453407680 610932880 238442797 723200871 363457997 189854783 563675995 119601349 602915291 543122079 689897360 690664050 765954927 827132364 244195221 174295016 731745766 619868736 854062217 43897314 4610166 849123482 686649778 378409769 627376276 -1 565554630 499941413 784597145 785866095 480210823 355756362 312308223 392826688 663307073 246216644 756425389 857102413 203018461 861383306 -1 415965469 575541534 938446553 602915291 263636646 32796250 820211254 22393976 208028672 407009263 774937853 950862675 553190572 575541534 325845006 518109595 333772685 263798126 392826688 763856958 566034579 758575350 229515163 563732029 767047665 740224085 329542777 644336340 386381016 473150723 275463593 789404113 325845006 46410909 92102199 749101296 907772025 302277738 518109595 683489839 420342620 563732029 818014838 819963767 211550817 378409769 834500260 495336832 753145692 485683712 881489135 664490073 -1 330785266 697184458 164542502 681690682 668250239 609637013 524972471 756425389 291386915 663307073 355126439 325845006 420773560 29592557 117303447 53590481 427618367 113804160 263798126 454563819 791932302 767047665 54153332 54153332 163983150 857269083 667300705 167415720 18404492 967987535 559785274 765137854 164542502 710730165 354949635 130580 564190579 165753 189854783 217928587 41260287 493264770 332773543 465892383 220059095 883564101 667169560 -1 182026506 656489207 663667470 604148770 912506727 239254051 711501588 373771611 41260287 456487084 389956215 246216644 532803555 345102555 860724917 182026506 46945925 297175900 514721585 812140416 979580407 807648187 812752908 199386661 275463593 997432376 155906400 137132982 329574367 461274569 155997760 888304663 939563959 553190572 818014838 669742991 464037621 891436447 852782081 660639438 602811046 532861718 704672739 163983150 298868262 659501910 586392635 32796250 979580407 718229961 461274569 561553313 168494769 329959527 807262913 422331486 140113105 156929061 398981201 54164180 770278321 726776295 981763217 428142800 666590606 -1 628220249 830162158 626807589 740364356 958339854 575485118 333260763 363457997 63562141 610932880 664490073 982693874 57551192 982693874 888304663 427675535 368764047 849123482 472516679 472407762 462383923 438872920 628984381 117303447 904818318 470690645 765137854 723200871 658212287 578238211 907456227 77299524 958339854 902419092 686865014 639572212 756425389 46410909 939946968 988919874 922171930 594204193 882812597 333260763 293155218 336862767 495241145 422331486 525617132 84208996 970265761 524972471 649175882 41260287 820211254 852837035 107839247 560814638 577758652 704672739 130580 688597242 57551192 490869221 938954818 560814638 823933296 122067182 742174392 46410909 685097645 986331373 88469907 465892383 63562141 329959527 433114786 755527023 59501988 302277738 739554266 757544011 112302971 244195221 801326287 437863021 284700142 937633254 662235717 398981201 308705211 286319692 381881872 201066749 582861386 777440440 988919874 770847694 473150723 845459462 861115508 470803824 524972471 705622548 41524303 408244002 491294665 466852129 358362276 691740164 579783784 228902962 891573253 81866966 33812208 995194212 484471406 533367205 965993467 135519629 211362614 321467204 357329820 719457202 555828167 566096351 807820896 232018015 182429059 59706771 716182336 100130908 577758652 337502849 123550994 663946492 627561325 845211351 466034328 177905368 785866095 408244002 303139271 130580 201066749 413494386 395983136 782594982 582861386 651109313 832364259 92112290 708274346 363579344 73525554 286319692 339350524 965993467 254167164 110012494 997299598 861115508 567600315 295958449 4610166 975269268 627376276 950862675 457715535 622737539 45426260 551345512 523542917 245677831 110556435 13841075 977467597 57801759 92112290 112302971 34030354 228137178 290604263 59706771 296417374 950629972 490142300 588150191 885164572 686385319 260307180 669125354 834500260 761021239 336862767 782619049 384604556 620059513 182026506 569422962 527897224 293155218 610613670 325287502 286319692 554782737 675786233 533560917 406430184 666590606 726124644 782927012 319379178 290604263 155376172 459789430 711503207 968396048 639572212 785376602 579991057 897789362 207023050 245677831 508037594 586985028 638293140 741339101 308705211 33812208 577714620 916321789 416756465 961821360 116545387 998120269 981763217 560556517 417425319 408244002 307476694 716182336 950235340 330318834 211333607 763856958 762227828 2433982 79097209 960643177 424697572 769545495 78898063 346188490 508037594 207023050 596367148 603620710 627376276 211070558 627561325 779829204 448707988 387518405 729178187 961821360 403334160 634983639 823933296 338370105 575485118 961821360 666590606 801402068 92112290 18404492 503810504 246216644 188196698 577758652 59501988 662235717 623090438 263636646 365035648 577758652 327982936 663667470 72643683 281598862 41260287 902419092 427675535 -1 635671105 45426260 537867109 406568384 563675995 67075526 723933984 414918047 989696303 265395517 818974853 154693260 520086201 194126353 363811064 665446719 979285058 413843857 344240078 845211351 381881872 318110611 555548888 582861386 97299507 73525554 551345512 765954927 638011115 614593757 281598862 368764047 74820195 239254051 421927353 330318834 298868262 283107224 45426260 211070558 183843307 329959527 308232133 982581137 560814638 452820542 392826688 790809628 579991057 627561325 424146759 919585635 113804160 817693389 658388576 596943234 97299507 418807544 770680522 284700142 786969334 699856917 868838278 850351456 766504018 456401701 663667470 871898006 470690645 7545447 699856917 784371166 634536293 234968285 406717194 251692591 717390689 719457202 716182336 373683372 149830598 16475116 827132364 197307546 470803824 950862675 232018015 -1 745924515 325287502 863278761 75228974 535432483 332773543 333772685 53590481 470803824 711503207 28416726 879954113 541460419 724422672 140395123 168494769 86256730 77564723 697184458 850101344 750429264 731745766 130431610 95443860 365407761 386381016 470803824 997432376 800463769 568090820 114396999 228902962 469384372 940104206 890844482 130431610 130431610 626807589 22576092 329959527 115470851 57801759 198628726 807648187 490142300 29734308 765954927 991067365 790909002 594204193 804352169 748186132 567416830 723200871 228902962 702444538 198628726 306767836 567600315 988919874 779829204 363579344 386381016 38372578 165622114 71713295 861115508 393835525 992563691 742174392 203018461 771459106 38372578 801326287 167036027 543006155 645695407 232018015 -1 60978603 81866966 392826688 414918047 580283317 664490073 163091630 16475116 312308223 164542502 245677831 596367148 -1 861208333 88469907 632336991 665446719 847840320 701070480 433439854 208877360 891436447 182659876 400907045 789495739 750763843 122896725 914291169 863667577 638076633 908463563 610932880 745924515 349032071 988919874 989747990 406717194 464037621 991188064 716182336 769545495 -1 823787812 614593757 406483013 127278512 49212342 34030354 100130908 490142300 135519629 393835525 26537314 468107571 922220234 95443860 111122929 739554266 998120269 590603969 857102413 451474906 112624754 691214891 468107571 46011383 208877360 392826688 567416830 968396048 750769230 206287347 135519629 997432376 923159887 250810872 260946873 399202754 154693260 819523467 77299524 888304663 86256730 871898006 486307671 250810872 130431610 992563691 325287502 957144144 946112218 414918047 730824918 400907045 562309509 433348815 284700142 622823007 140395123 663946492 46485154 532803555 73453883 554782737 244883660 433114786 692204091 661932839 960643177 355756362 354949635 469384372 770680522 634983639 710730165 880844104 43392732 975269268 672907310 -1 614459776 893897082 466852129 526755095 298868262 818014838 306767836 637964511 87162480 882812597 953838288 490142300 110556435 97299507 942384956 868211619 177905368 507969865 818974853 790909002 244883660 730756715 927530478 681690682 321467204 658212287 265395517 500268473 987705926 730824918 695553778 451474906 428747955 864561721 602915291 859930182 782927012 588150191 432069691 998120269 186539666 29272319 686649778 951926549 833220245 57551192 713199217 312308223 372910848 494923774 822261941 246216644 561494895 827132364 801169129 444874800 538432928 368779111 566096351 864350394 950862675 476084224 418807544 861115508 437863021 850351456 789404113 564190579 175554418 672907310 244195221 332773543 779829204 777440440 274831438 411907778 1713096 704672739 582319429 638076633 194126353 939946968 260307180 365679164 336862767 228137178 656206261 400907045 109891495 910794274 378409769 785866095 533367205 596367148 18794770 541460419 538432928 381881872 319379178 908705907 194126353 42277380 26905429 446355059 523542917 495241145 67592009 428142800 850636024 122896725 807262913 -1 907456227 387384744 63243152 751964866 307476694 864350394 149052945 182659876 411999902 254756796 1713096 634536293 879954113 114396999 323513395 579991057 907456227 815472010 54164180 471865558 914206506 205644911 594204193 305936785 637964511 421927353 368764047 567416830 614297261 86256730 165753 688380735 942297502 527897224 791183444 214317232 622737539 554782737 660040051 223785502 946112218 807262913 818829472 904818318 211362614 2433982 244195221 384604556 473150723 665446719 365679164 758575350 495241145 788878491 373771611 980134651 4610166 26375227 459789430 95779603 748526814 283107224 276260520 904818318 243995015 718577411 790909002 365035648 244195221 182659876 656489207 167415720 71713295 493264770 488751710 975269268 560637528 276260520 984117471 211070558 562288215 281598862 301334993 142117376 574417829 264549124 600962339 488751710 938954818 123550994 879954113 863667577 41260287 664490073 295958449 433348815 893897082 119601349 683489839 689608865 473150723 852782081 861115508 220059095 914662962 524972471 448316745 3090244 480210823 815472010 456863895 60081926 938954818 -1 647911422 633637325 973579758 323513395 203018461 46945925 49208976 622737539 132774876 867723620 37081879 685423362 150137560 406483013 399202754 791183444 846213413 46011383 284387166 312308223 231771136 548806448 710113373 21873594 223785502 175554418 368779111 965993467 26375227 958339854 365679164 262575582 823787812 88469907 842306692 155906400 138790019 303139271 123550994 47116225 97299507 940104206 182429059 909186692 618312173 281598862 989696303 46485154 414918047 939946968 789404113 902419092 346188490 864561721 894267291 251692591 590783394 957144144 782619049 355756362 155906400 465892383 244883660 92112290 508037594 57551192 167036027 264549124 769837665 973579758 845211351 55517047 907772025 977467597 601762202 770847694 667300705 965067805 769854437 542661640 849123482 818829472 548806448 466034328 980134651 215802236 647427996 695553778 161017478 730824918 838379139 276260520 494923774 60978603 806195787 182429059 488751710 63210631 523542917 599555786 107839247 572589546 49212342 644336340 205644911 163091630 -1 730756715 541460419 199770581 938446553 367754743 603620710 59706771 308705211 634983639 53590481 527897224 893860727 462383923 579690895 861208333 53590481 94630229 434526689 56105859 18404492 927530478 4610166 428142800 548806448 428747955 244883660 161017478 293155218 656489207 686385319 490869221 574417829 38372578 731936598 779829204 181721636 205644911 421927353 993786079 937633254 3090244 612885490 689608865 286319692 533367205 730909832 307476694 214317232 708274346 603690869 823787812 403334160 644187365 164542502 223785502 503810504 26375227 939946968 411907778 701070480 859962837 163789960 186539666 142117376 566096351 608724072 542661640 537867109 751316591 119601349 620059513 859063396 114396999 780117964 329574367 939563959 688380735 352508141 281083465 323513395 681690682 43392732 914662962 739554266 54153332 246216644 234968285 18299476 220059095 243341711 591700510 691740164 45426260 485683712 914662962 922171930 542661640 912506727 428413005 950235340 229515163 393835525 424146759 681690682 679275202 873072247 181721636 612885490 537867109 357329820 238951985 18299476 647290016 555548888 327789615 298868262 842306692 181721636 943374902 523542917 950629972 146197290 532861718 18794770 161017478 988919874 71713295 610932880 214317232 243995015 28576479 763856958 740224085 57801759 422331486 34030354 885164572 182659876 986331373 571736161 254528769 91064641 818014838 427675535 779829204 946112218 433756914 485683712 228137178 859962837 245677831 709403855 704672739 21873594 345392984 45426260 804352169 660639438 922171930 72643683 332773543 217928587 239254051 -1 634983639 344240078 991067365 29272319 273365488 943374902 138533159 667300705 268947673 260946873 37724537 92160628 828722364 211070558 312308223 618312173 237773442 495336832 355126439 842306692 507142051 920219729 957643716 453407680 618312173 812140416 288542157 72621546 237773442 338370105 11796756 859930182 26375227 644187365 976942240 29592557 275610416 400907045 275463593 879954113 860724917 569422962 198016418 995194212 722672739 491978273 860724917 852782081 563732029 594204193 660040051 863667577 893897082 228137178 406430184 765137854 273365488 938954818 422331486 303139271 435984127 495336832 73525554 989696303 271708247 560814638 175144765 358362276 437863021 -1 571736161 363457997 658212287 848715178 191697350 663946492 977619929 612885490 639572212 660040051 685423362 879954113 301334993 613084013 880844104 748526814 791932302 262575582 973579758 991188064 910994573 251692591 154693260 850101344 612885490 199770581 399202754 332773543 420425052 33812208 739554266 535432483 681823792 762227828 668250239 951926549 205644911 995194212 94630229 782619049 296417374 155997760 818014838 880665324 974521569 745924515 577714620 628984381 -1 663667470 57801759 656206261 610069705 243995015 470803824 206014003 567600315 248636995 730824918 817693389 192251969 762227828 26375227 881489135 842871738 574924220 817693389 77299524 414918047 368704535 400907045 327982936 574417829 682038125 881489135 73453883 79323336 118534662 344240078 569422962 146171038 102379477 957643716 697374453 859962837 182429059 888304663 -1 532861718 591284702 472516679 47116225 174295016 508037594 580283317 3090244 367754743 216195055 603690869 815472010 623188968 989696303 375673341 692204091 710113373 893652215 301714930 982554231 979285058 538432928 427618367 680666684 838379139 691740164 660738659 799467751 491543933 301714930 155997760 116545387 601762202 568090820 349772488 349772488 757544011 94630229 297133830 329574367 203580162 22576092 209977170 520011864 891436447 707186544 386381016 658212287 644336340 704672739 580470806 742174392 95443860 610895287 477076784 18404492 386935154 980134651 132774876 807262913 260946873 633637325 7545447 563675995 827132364 469384372 524972471 414918047 667300705 508037594 801402068 119601349 950629972 273365488 340301060 697184458 81866966 966561320 712694937 697184458 771459106 850101344 -1 276260520 219896364 424146759 336862767 96109344 860724917 763183908 208493418 43897314 458547544 937638157 623090438 228137178 480210823 880844104 784371166 785247749 885164572 140395123 363579344 490142300 601762202 655834254 199386661 603620710 150137560 961821360 854398124 432069691 264549124 295504204 201066749 96109344 818829472 608724072 599555786 60978603 373683372 859962837 480210823 333260763 777440440 297175900 189854783 599555786 660639438 118534662 730756715 757544011 223785502 346188490 712694937 365679164 984895249 191697350 769837665 988919874 691504106 763856958 466034328 458547544 705622548 750769230 838379139 623188968 577758652 989696303 239987054 580884227 372910848 493264770 745215401 637964511 526755095 897789362 960643177 293155218 721867658 168494769 602811046 656489207 593282222 295805912 637964511 232531633 220059095 332773543 679521131 637964511 690863334 234968285 580918883 973579758 264549124 160366715 243341711 86256730 395983136 966503495 533367205 662235717 254167164 448707988 690863334 564190579 885164572 682038125 11796756 999674172 46945925 18794770 524972471 827132364 312308223 130431610 818829472 330318834 490869221 470803824 135519629 893652215 763281688 283107224 182659876 881489135 751316591 982581137 628220249 799467751 950235340 628984381 577758652 535432483 718229961 32796250 680666684 703311448 432504521 751316591 728492414 406717194 308232133 -1 626807589 631700842 680666684 880446976 989696303 970265761 355126439 522063456 590138438 53590481 723200871 378610966 -1 308705211 520086201 140395123 782619049 580470806 614459776 243995015 142117376 335890204 543006155 297175900 37724537 533560917 389956215 613084013 491294665 216195055 768744535 60744503 413494386 13841075 893652215 833220245 481127177 418807544 622823007 938954818 871898006 942384956 859962837 214924123 286319692 618312173 988919874 845459462 355126439 910794274 500268473 764751417 281083465 296417374 86361620 692204091 608724072 527897224 777440440 468107571 38372578 836680980 751964866 986331373 495336832 622918995 700120477 295504204 811841566 444874800 729941138 183843307 122067182 286319692 572311287 393835525 579991057 859962837 830994144 791183444 387384744 724422672 72794624 407009263 910794274 325287502 974448855 246216644 834500260 78898063 32796250 859962837 244195221 542661640 325845006 580470806 770847694 367754743 66483968 456863895 999674172 507142051 102379477 790809628 535432483 681690682 865880334 561494895 668250239 871898006 246216644 78898063 535432483 520011864 45426260 75228974 950235340 211550817 206644601 593587398 111122929 456401701 94630229 13841075 268947673 391779414 413843857 765137854 989696303 170824557 525617132 1713096 882812597 916738849 658388576 107596959 223030820 689897360 761021239 559785274 508037594 363457997 446355059 413843857 880446976 245677831 329542777 67592009 363579344 490869221 567416830 28416726 34584857 149052945 891436447 560455121 373771611 914291169 72621546 111122929 344240078 958339854 433114786 670408229 29287119 686385319 208493418 761888635 438872920 -1 691504106 666590606 836680980 508037594 -1 208493418 57606083 761888635 55517047 18299476 627561325 63243152 60978603 418807544 610069705 580918883 459789430 330583346 716182336 609637013 619868736 984895249 71713295 697374453 209977170 457715535 731936598 610069705 751964866 600962339 57551192 232531633 740364356 198628726 647911422 117347524 566034579 984895249 433756914 333260763 159056677 726776295 22393976 368935143 491543933 19140171 163091630 329542777 137132982 563675995 94630229 543006155 974521569 78898063 988919874 580884227 891436447 688597242 888304663 868838278 993786079 448707988 614459776 645695407 165622114 991067365 330318834 830544982 591284702 406430184 688380735 159647580 273365488 111985669 610895287 470803824 729178187 830544982 275463593 211550817 957643716 750429264 753145692 145847415 161017478 441949925 622737539 819523467 626807589 580918883 470690645 602811046 979580407 660738659 271516194 532861718 355126439 782927012 42277380 533367205 950862675 349032071 333772685 567416830 761021239 232531633 194126353 17012234 407009263 730909832 411999902 208877360 527985132 174295016 86256730 183843307 770278321 281083465 81866966 761021239 753145692 57801759 711501588 690863334 748526814 428747955 38372578 560814638 627589268 574924220 413494386 842306692 562309509 601762202 563675995 524542574 848715178 169614935 722672739 72263116 291386915 49208976 321331882 943374902 318110611 600962339 559785274 645695407 263798126 155906400 297175900 34584857 638011115 852782081 750429264 868211619 140395123 973579758 988919874 137132982 863667577 232531633 628220249 750763843 593587398 32796250 330583346 100130908 910994573 942297502 818974853 939946968 937638157 709403855 208028672 507142051 161017478 868211619 192251969 477076784 830994144 571736161 561494895 29287119 470690645 191697350 13384724 355126439 580918883 169614935 873072247 39885396 -1 389956215 942384956 804352169 59706771 683531283 208028672 575485118 503810504 427675535 766504018 352508141 966503495 391779414 832364259 608724072 508037594 197307546 979580407 942627653 288628682 252012472 490142300 47116225 346394348 930790502 73453883 365679164 647427996 447434673 850101344 265395517 527985132 232531633 81866966 572311287 769854437 330583346 385144989 271708247 22576092 588150191 679521131 79213361 532803555 745924515 656206261 726124644 817693389 770680522 997299598 229515163 992563691 318110611 608724072 602811046 365679164 828722364 722672739 638293140 627561325 520086201 582319429 456401701 239254051 59501988 563823514 373683372 966561320 763183908 413843857 833220245 711501588 594204193 846213413 567600315 275463593 538432928 946112218 970265761 159056677 791932302 135519629 632336991 984182750 32466209 577758652 659501910 683531283 525617132 203493552 408244002 518109595 689897360 308705211 149052945 117347524 160366715 87162480 408497768 398981201 296417374 560637528 391779414 817331802 205644911 701070480 276260520 991188064 782927012 373771611 770278321 43897314 594204193 610613670 721120553 321467204 333260763 177905368 610069705 938446553 181721636 910994573 991067365 786969334 490142300 791183444 378610966 336862767 823933296 36050763 763183908 627561325 302277738 580283317 982554231 681690682 961821360 704672739 676709331 603620710 902419092 428413005 490869221 894991717 882812597 811841566 830162158 34685076 301334993 273365488 140395123 854398124 211550817 306854073 36050763 574924220 198016418 680666684 32796250 750429264 647911422 433439854 610613670 893897082 555828167 850101344 100130908 651109313 902419092 666590606 982581137 273365488 26375227 391779414 613084013 560814638 700120477 122067182 433348815 819523467 433114786 -1 75228974 627589268 275463593 138533159 777440440 591284702 561494895 514721585 850101344 262575582 722672739 477076784 690664050 669655791 627376276 155376172 943374902 935910737 979285058 398981201 574417829 86256730 730824918 296417374 857102413 406483013 770847694 790809628 882812597 864350394 306767836 71713295 627561325 670408229 336688564 400907045 302277738 414918047 811841566 659501910 181721636 330785266 378610966 830544982 548806448 883564101 198016418 575485118 461274569 288542157 88469907 681690682 966561320 857269083 421927353 19140171 762227828 729178187 216195055 590783394 284859244 135519629 26537314 961821360 612885490 660738659 435984127 664295306 149830598 280856350 411907778 262575582 667169560 593587398 495241145 495241145 346394348 352508141 551345512 741463146 520011864 271708247 337502849 206014003 117303447 569422962 910994573 465892383 760593154 999101537 201066749 386381016 785247749 894991717 644336340 54153332 538432928 372510013 723933984 387384744 443342808 765954927 531136661 46945925 387384744 163983150 807820896 563732029 728357838 763856958 71713295 953838288 859063396 748526814 454563819 760593154 961821360 206014003 408244002 -1 762227828 217928587 676685933 481127177 864561721 938446553 602811046 927530478 564190579 819523467 723933984 893860727 88469907 845211351 198703751 215802236 238442797 16475116 742174392 22393976 938446553 60081926 582319429 228902962 169614935 730909832 57801759 507969865 63210631 812140416 679670176 757544011 217928587 697184458 830544982 873072247 209977170 560556517 274831438 566096351 569422962 135519629 468107571 579690895 830994144 433439854 762227828 241693686 16475116 580884227 41524303 786969334 614593757 659932705 199386661 845211351 667841561 241693686 295504204 57801759 107839247 363811064 608724072 801169129 758575350 561494895 591284702 774937853 365679164 586392635 861383306 228902962 626837013 683531283 28416726 54153332 780117964 667841561 428142800 667841561 634983639 577714620 660738659 12903603 26537314 337502849 638293140 462383923 171504845 92112290 140113105 697184458 189854783 770680522 577714620 345392984 679521131 149052945 14405655 891436447 609637013 580283317 689608865 107808575 32796250 757544011 333772685 567600315 37081879 577758652 961821360 627589268 186539666 997299598 518109595 660738659 626807589 81866966 922220234 302277738 399202754 13384724 801169129 656489207 155997760 984182750 427618367 765954927 769854437 140113105 307476694 980134651 637964511 690664050 29734308 891436447 29272319 70161655 771459106 688380735 130580 163789960 175884183 697184458 198628726 920219729 789404113 284696682 699856917 354949635 750769230 265395517 214924123 319379178 418807544 728492414 634536293 579690895 697184458 997432376 238951985 490869221 283107224 182429059 507969865 303139271 691214891 373771611 428142800 140395123 982693874 244883660 47116225 426480224 729178187 627589268 725418770 485683712 610895287 95443860 749101296 198016418 812140416 377651896 284859244 247165890 38372578 578238211 789495739 358362276 666590606 307476694 421927353 116545387 563675995 729178187 145847415 211362614 115639466 567600315 87162480 912506727 758575350 372510013 117303447 2433982 790909002 84208996 580283317 658212287 647911422 848715178 384604556 352508141 842871738 -1 74820195 146171038 984895249 670408229 845211351 800463769 284696682 329959527 614593757 209977170 381881872 967987535 7545447 610613670 435984127 401672699 903297209 264549124 659932705 880938198 456401701 623188968 26375227 710113373 753145692 613084013 958339854 72621546 41524303 198703751 77564723 850351456 679275202 807820896 329574367 894991717 274831438 398981201 655834254 901803305 53028773 448316745 262575582 92102199 554782737 443342808 229405480 543122079 903297209 561553313 182026506 561553313 182429059 562309509 508037594 335890204 761021239 330785266 41524303 834500260 297133830 149830598 987705926 745924515 260946873 275463593 846213413 462383923 175590565 363811064 246216644 596367148 340301060 231771136 937633254 149052945 680666684 401672699 757544011 295958449 634536293 298868262 950862675 580283317 655834254 580884227 95443860 53028773 966561320 894267291 206014003 22393976 46011383 377651896 203018461 861383306 431837446 264549124 214924123 763856958 626837013 249558965 67075526 385144989 159647580 691740164 937633254 789495739 283107224 663307073 580470806 785376602 348123399 942045496 34584857 14405655 32466209 72643683 555548888 122067182 59501988 950235340 182659876 995194212 330785266 991188064 812752908 329574367 596367148 927530478 707186544 280856350 560637528 985045640 490869221 425469326 297175900 857102413 976942240 263636646 251692591 182026506 888304663 72643683 19140171 850351456 291386915 28576479 718577411 970265761 17012234 203018461 372910848 317871021 162425880 199386661 508037594 757544011 425469326 817331802 627589268 663667470 249558965 815472010 739554266 711503207 426480224 275610416 859063396 919585635 175590565 72643683 927530478 220059095 645695407 470803824 991067365 535432483 771459106 561494895 663307073 237773442 406483013 194126353 758575350 77299524 406717194 198016418 254756796 123550994 60081926 668281990 206287347 975269268 868211619 216195055 722672739 107839247 695553778 785247749 41260287 559785274 333772685 363579344 459789430 763183908 514721585 411907778 420425052 548806448 801169129 940104206 53028773 464037621 882812597 608724072 786892734 39885396 138790019 349772488 107839247 769545495 880446976 81866966 937633254 572311287 13841075 110012494 717390689 634983639 639572212 398981201 980134651 214317232 555548888 608724072 966561320 600962339 386381016 398981201 416739210 18299476 270206207 469384372 569422962 538432928 655834254 26375227 790909002 832364259 377651896 893860727 77299524 880446976 -1 308705211 33812208 681823792 619868736 113811391 472407762 848715178 596367148 182429059 831985335 692204091 904818318 579991057 203493552 649175882 791183444 312308223 582861386 717390689 649175882 857102413 986331373 569422962 263798126 60081926 533560917 399202754 245677831 965067805 819523467 593282222 346188490 979580407 602811046 254756796 818829472 94630229 260946873 13384724 244195221 518109595 854398124 864350394 138533159 379109457 873072247 468107571 867933639 63210631 495241145 491978273 127278512 614459776 537867109 614459776 880844104 741463146 554782737 92102199 518109595 883564101 846213413 818974853 739554266 91064641 466852129 728357838 368935143 560455121 562288215 710113373 750429264 275463593 669125354 951926549 211550817 937633254 298868262 527897224 472516679 459789430 197115342 213926602 142117376 594204193 159647580 17012234 942045496 580918883 165753 16475116 627589268 641205608 818829472 368779111 937638157 512615132 92112290 562288215 53590481 683489839 938954818 466852129 542986495 135519629 758575350 541463939 950862675 298868262 -1 149052945 169614935 -1 29734308 473150723 433114786 111985669 960643177 760624728 413494386 660639438 265395517 162425880 865880334 894991717 753145692 845459462 661932839 602915291 639572212 433348815 72643683 572311287 814490763 620059513 628984381 679521131 385144989 690664050 165622114 724422672 580884227 118534662 966503495 336688564 961821360 765954927 729941138 244195221 182429059 730756715 13384724 708274346 791183444 363811064 958339854 960643177 910794274 710113373 790809628 433756914 251692591 238442797 647290016 456863895 461649452 349772488 47116225 763856958 638076633 491543933 708274346 420425052 86361620 424697572 92160628 647911422 117347524 407009263 232531633 2433982 160366715 774149146 749101296 288542157 634983639 858159813 779829204 461274569 428413005 281598862 730824918 115470851 72621546 627376276 920219729 940104206 980936845 940104206 893860727 63243152 525617132 424697572 769837665 337502849 308232133 14405655 325287502 426480224 538432928 957643716 580918883 408497768 77564723 608724072 444874800 46011383 348123399 675573324 459789430 29287119 596943234 491543933 667841561 329959527 59706771 631700842 345102555 223030820 14405655 494751627 137132982 155906400 74820195 951926549 842871738 420342620 373771611 469384372 37081879 734712823 659932705 348123399 301334993 976942240 659501910 301714930 175144765 818014838 880665324 413843857 777440440 833246783 485683712 763281688 769837665 444874800 951926549 325287502 86361620 199770581 461649452 -1 543122079 801326287 753145692 801326287 332773543 564190579 421927353 295504204 14405655 586392635 244155041 372910848 679275202 740364356 262575582 355756362 667169560 503810504 693375965 627589268 140395123 574924220 -1 626837013 723200871 262575582 453407680 203580162 975269268 303139271 999674172 973579758 19140171 790909002 363811064 745215401 689608865 453407680 181721636 697374453 367754743 160366715 145847415 70161655 177905368 18299476 679521131 907456227 211070558 692204091 762227828 330583346 729941138 691214891 685097645 197307546 769545495 216195055 701070480 596367148 618312173 660639438 1713096 229515163 871898006 34030354 46945925 16475116 110556435 533560917 908463563 373683372 603620710 548806448 206644601 555548888 495712606 645276436 352607876 67592009 568090820 908463563 335743200 525617132 566096351 730909832 868838278 770847694 26537314 974521569 688380735 709403855 946112218 812140416 72794624 378610966 243995015 893652215 560556517 999674172 164542502 168494769 723200871 592274818 689608865 627589268 73525554 691740164 47116225 41524303 691504106 489295045 67592009 729352677 321467204 111985669 610895287 438872920 428747955 999674172 77299524 274831438 785866095 527897224 508037594 845459462 45426260 857269083 531136661 239987054 155376172 59706771 228137178 29272319 414918047 591700510 790909002 295805912 748186132 591700510 -1 741463146 70161655 155906400 132774876 175554418 572589546 16475116 130431610 697184458 579783784 980936845 641164921 562309509 610069705 560455121 46011383 368704535 806195787 582861386 847840320 223030820 281598862 254528769 836680980 239987054 490869221 763856958 49208976 337458711 553190572 46485154 685423362 177905368 989696303 901803305 161017478 459789430 512615132 927530478 290604263 349032071 337502849 274831438 555548888 456863895 112624754 462383923 495336832 580884227 865880334 986331373 306854073 686865014 705622548 660738659 768744535 688597242 555548888 456487084 325287502 368704535 117303447 885164572 427618367 43392732 614593757 572311287 982554231 417425319 852837035 182659876 297133830 107596959 198628726 670979891 117303447 163983150 572589546 345392984 211070558 169614935 791932302 852837035 566096351 923159887 634536293 13384724 527985132 57551192 834500260 957144144 634536293 782619049 329959527 54164180 418807544 36050763 663946492 391779414 182026506 901803305 86361620 18794770 37724537 804352169 935910737 867723620 211333607 427618367 680666684 979285058 939563959 834500260 857102413 882812597 697374453 660639438 693375965 333772685 175554418 100130908 857102413 689608865 425469326 612885490 303139271 387518405 861383306 29734308 673965031 280856350 614593757 238951985 465892383 284859244 710113373 538432928 612885490 115470851 618312173 290604263 807262913 192251969 705118513 206644601 745924515 72621546 712694937 669742991 729178187 997432376 845459462 70161655 182026506 171504845 982581137 579783784 555828167 312308223 19140171 923159887 880446976 769837665 893652215 739554266 116545387 893860727 577714620 145847415 446355059 537867109 220059095 543006155 957643716 991188064 392826688 728492414 424146759 914662962 211070558 194126353 834500260 679275202 890844482 274831438 378409769 765954927 902419092 943374902 818014838 346188490 815472010 523542917 767047665 424146759 46011383 762227828 29592557 426480224 73453883 138533159 346188490 769854437 284859244 815472010 828722364 36050763 283107224 769854437 938914563 367754743 670979891 102379477 387518405 622737539 970265761 232531633 507142051 110012494 634983639 306767836 428142800 728492414 112302971 662235717 228902962 459789430 664490073 716182336 987705926 46485154 864561721 599555786 697374453 211362614 386935154 495712606 254756796 779829204 897789362 958339854 681690682 461274569 588150191 766504018 514721585 57551192 325845006 466852129 461649452 596943234 481127177 879954113 307476694 686385319 997432376 788878491 138790019 372910848 976942240 527985132 443342808 238951985 897789362 363579344 930790502 644336340 722672739 41524303 638293140 879954113 112302971 192251969 263798126 265395517 722874144 907456227 275610416 520086201 -1 352508141 207023050 760593154 484471406 454563819 211550817 649175882 960643177 263798126 711501588 830994144 858159813 46485154 164542502 627589268 523542917 485683712 122067182 110556435 881489135 122067182 559785274 812140416 542661640 457715535 288628682 39885396 140395123 86256730 634983639 81866966 718577411 998120269 542661640 655834254 12903603 34685076 770278321 145847415 377651896 392826688 454563819 777440440 18404492 175590565 96109344 303139271 197115342 888304663 241693686 223030820 358191652 189854783 768744535 551345512 18299476 132774876 3090244 782594982 958339854 984182750 379109457 939563959 704672739 -1 391779414 156929061 907772025 692204091 428747955 910994573 352607876 484471406 247165890 719457202 47116225 801326287 145847415 766504018 469035792 638011115 608724072 690863334 330583346 647290016 -1 203018461 411999902 216195055 385144989 628220249 167415720 940104206 554782737 591284702 59706771 721120553 379109457 807820896 669655791 713199217 790809628 469743398 175554418 199386661 260307180 799467751 524972471 384604556 577714620 435984127 229405480 163789960 223030820 622823007 165622114 469743398 55517047 56105859 416756465 520011864 670979891 975269268 801402068 163091630 493264770 229821643 985045640 459789430 561553313 690863334 161017478 561494895 262575582 961821360 345102555 451474906 75228974 942627653 214317232 586985028 943374902 386381016 541463939 325287502 974521569 562309509 199386661 435984127 910794274 46011383 865880334 541460419 86361620 580470806 916738849 633637325 560556517 705118513 514721585 280856350 264549124 865880334 458547544 942297502 293155218 54153332 117303447 318110611 42277380 334677549 993786079 566034579 -1 709403855 466852129 461274569 561553313 980134651 182026506 532803555 709403855 807820896 519762398 177905368 769854437 171221433 438872920 893860727 751964866 231771136 916738849 228137178 494950691 520086201 433348815 446355059 746419439 786969334 413494386 406483013 507142051 891573253 123550994 60081926 858159813 520011864 34685076 801402068 290604263 107808575 57551192 561553313 693375965 987705926 675786233 411907778 779829204 335890204 352508141 842871738 420342620 466034328 110556435 109891495 912506727 526755095 750769230 293155218 997432376 659501910 883564101 418807544 223030820 686385319 41524303 499941413 656206261 999101537 551345512 38372578 634983639 155997760 801402068 14405655 699856917 873072247 888304663 562309509 250810872 341012648 201066749 349032071 288542157 43897314 686649778 60081926 112624754 305936785 406717194 524542574 746419439 891573253 411999902 345072009 722874144 676685933 26375227 71713295 790909002 473150723 780117964 87162480 669655791 965067805 191697350 490142300 17012234 722874144 321467204 685097645 377651896 420342620 499941413 406483013 604148770 860724917 135519629 560455121 849035201 330583346 457715535 198628726 428747955 572311287 973579758 317871021 566096351 786969334 461274569 957643716 115639466 789495739 927530478 346394348 308705211 730909832 170824557 595427792 500268473 614297261 329959527 345102555 243995015 580884227 791183444 771459106 873072247 716182336 599555786 563732029 421927353 514721585 245677831 695553778 807820896 507142051 567600315 968396048 543122079 645695407 53590481 130431610 791932302 462383923 427618367 986331373 263798126 769854437 223785502 658388576 319379178 337458711 685423362 182659876 561494895 564190579 595427792 406717194 973579758 13384724 885077908 284700142 -1 638076633 879954113 49212342 834500260 60744503 582319429 979285058 681823792 568090820 804352169 991188064 656489207 194126353 469743398 507142051 391779414 622737539 537867109 250810872 377651896 495241145 664295306 114396999 673965031 239987054 728492414 908463563 420773560 785376602 500268473 54153332 275610416 406568384 553190572 907456227 495336832 29272319 237773442 446355059 966503495 637964511 188196698 57551192 591700510 392826688 693375965 16475116 63562141 368779111 338370105 182659876 717390689 164542502 358191652 186539666 734712823 854398124 950629972 340301060 533367205 960643177 67592009 197307546 628984381 67075526 175590565 167036027 263636646 281598862 522063456 413494386 249558965 631700842 577714620 13841075 559785274 639572212 229405480 774937853 675786233 667841561 248636995 801402068 975269268 871898006 211333607 549323513 447434673 386935154 213926602 97299507 352508141 425469326 411907778 165622114 548806448 758575350 115470851 507142051 524542574 241693686 612885490 433756914 283107224 260307180 198628726 336688564 569422962 340301060 957144144 118534662 801402068 374972287 661932839 590603969 688380735 375673341 493264770 164542502 97299507 249558965 672907310 182026506 434526689 595427792 537867109 66483968 890844482 162425880 812140416 519762398 998120269 284859244 695553778 704672739 927530478 830994144 357329820 469743398 391779414 411999902 543122079 26905429 893897082 880665324 984117471 688380735 894991717 164542502 637964511 248636995 957144144 260946873 731936598 638076633 293155218 254756796 769545495 156929061 163789960 472516679 760593154 812140416 244155041 368764047 977467597 113811391 426480224 86256730 365679164 111122929 182429059 1713096 927530478 295805912 686865014 384604556 -1 452820542 495712606 661932839 785376602 827132364 970265761 749101296 211362614 691504106 175590565 686865014 719457202 745215401 -1 472407762 865880334 508037594 26905429 791183444 565554630 710113373 780117964 349772488 469035792 284859244 398981201 -1 538432928 491294665 352607876 275463593 374972287 302277738 29287119 400907045 88469907 757544011 659932705 491294665 571736161 489295045 672907310 308705211 263636646 801402068 46011383 346188490 560814638 688380735 561494895 961821360 580918883 879954113 854398124 297133830 638293140 428413005 149830598 628984381 428747955 767047665 209977170 586985028 756425389 333260763 201066749 265395517 421927353 619868736 72263116 806195787 21873594 760593154 957144144 542661640 916321789 818829472 18404492 548806448 398981201 46011383 782619049 740224085 386381016 142117376 167036027 522063456 303139271 37081879 667169560 365679164 595427792 830162158 740224085 903297209 907456227 563823514 229821643 767047665 403334160 786892734 858159813 804352169 966503495 786969334 818974853 4610166 555548888 766504018 782927012 757544011 53590481 908705907 741463146 631700842 495712606 984182750 729178187 34584857 270206207 610895287 763281688 641164921 438872920 867723620 49212342 354949635 54164180 349032071 284859244 477076784 163091630 901304975 465892383 586985028 63562141 444874800 75228974 769545495 711503207 842871738 491543933 95443860 669742991 726776295 91064641 13841075 505655512 110012494 2433982 626807589 641205608 586985028 26375227 665446719 937638157 524542574 761888635 421927353 142117376 79213361 469035792 603620710 110556435 633637325 43897314 838379139 365679164 833246783 919585635 183843307 197115342 690863334 491978273 748186132 335890204 386381016 182429059 480210823 533367205 308232133 668250239 462383923 686649778 319424815 914291169 982693874 182026506 472516679 437863021 999101537 270206207 411999902 363579344 823787812 78898063 117303447 842871738 549323513 555548888 288628682 976942240 41260287 644336340 354949635 49212342 572311287 109891495 305936785 833220245 700120477 890844482 751316591 406568384 471865558 16475116 318110611 818829472 -1 47116225 327982936 641205608 562309509 -1 566034579 219896364 823787812 53590481 117347524 198628726 755527023 989696303 303139271 70161655 938914563 935910737 725418770 372910848 165622114 22576092 503810504 695553778 740224085 770680522 243341711 127278512 679670176 769545495 42277380 490869221 595427792 488751710 522063456 297133830 84062198 795730704 533560917 804352169 560455121 823787812 308232133 750429264 140395123 73525554 138533159 590783394 354949635 950862675 563823514 849035201 942384956 340301060 451474906 728357838 60081926 86361620 408497768 780117964 685423362 32466209 495712606 275610416 942297502 -1 726124644 699856917 470690645 909186692 243341711 850101344 768744535 819523467 789404113 852782081 785247749 520011864 4610166 651109313 699856917 818014838 355756362 562288215 214317232 428413005 811841566 717390689 768744535 592274818 73525554 59501988 249558965 903297209 680666684 355756362 456401701 -1 175144765 604148770 288628682 942384956 533560917 669125354 115639466 491543933 17012234 894267291 790809628 935910737 57551192 438872920 967987535 669125354 937638157 335890204 800463769 92112290 344240078 731936598 406717194 458547544 613084013 563732029 332773543 494923774 774937853 197115342 456401701 791183444 208493418 100130908 722874144 466852129 116545387 130431610 834500260 979580407 265395517 966561320 363579344 871898006 403334160 590783394 54153332 812140416 937638157 159647580 748186132 138533159 466852129 426480224 26375227 591700510 541460419 263798126 336688564 73525554 729178187 420425052 448707988 290604263 264549124 263798126 655834254 638293140 710730165 789495739 333260763 668250239 651109313 562309509 618312173 290604263 456487084 123550994 655834254 823933296 628984381 358362276 70161655 779829204 418807544 992563691 112624754 609637013 298868262 609637013 42277380 283107224 167036027 4610166 854062217 628984381 685097645 927530478 117303447 386381016 567600315 81866966 87162480 622918995 535432483 880844104 81866966 861115508 846213413 880844104 880938198 55517047 241693686 270206207 149052945 881489135 566034579 167415720 922171930 250810872 291386915 84208996 659501910 984117471 717390689 992563691 290604263 850636024 457715535 11796756 263636646 138533159 818974853 418807544 864350394 667841561 491978273 729941138 456401701 595427792 189854783 488751710 664295306 710730165 339350524 43897314 336688564 579991057 46485154 668281990 988919874 238951985 891573253 850351456 553190572 109891495 452820542 191697350 833220245 920219729 17012234 214317232 70161655 960643177 116545387 818829472 553190572 49212342 426480224 823787812 670979891 770847694 110012494 112302971 92160628 420425052 950235340 420425052 827132364 749101296 891436447 96109344 308705211 -1 770680522 215802236 427618367 724422672 764751417 830162158 335890204 984895249 740364356 57801759 946112218 664295306 109891495 997432376 999101537 491978273 34584857 973579758 613084013 750769230 339350524 672907310 637964511 334677549 567600315 852782081 72263116 13841075 268947673 670408229 608724072 912506727 437517579 71713295 453407680 406568384 561553313 433756914 275463593 728357838 469384372 815472010 3090244 475822349 579783784 685423362 562288215 26905429 437863021 760593154 594204193 319424815 329574367 663307073 433756914 728492414 679670176 433114786 914662962 910794274 695553778 656489207 -1 107808575 452820542 67075526 703311448 53028773 494950691 731745766 939563959 228902962 4610166 426480224 111985669 791183444 850101344 980134651 273365488 864350394 163983150 601762202 22393976 244883660 162425880 721120553 638011115 680666684 456487084 372910848 393835525 832494905 206644601 769837665 142117376 75228974 680666684 395983136 748526814 827132364 903297209 658388576 239987054 728492414 493264770 806195787 29592557 220059095 219896364 750769230 770680522 672907310 229515163 368764047 749101296 807648187 249558965 685097645 867723620 485683712 833246783 543006155 667169560 246216644 984895249 602811046 138533159 566034579 663667470 456487084 211070558 454563819 937638157 57801759 32796250 234968285 582319429 861115508 208028672 232018015 223030820 904818318 554782737 571736161 207023050 53590481 73453883 560556517 368935143 680666684 966561320 563823514 789404113 603620710 830162158 201066749 711503207 859930182 984895249 852782081 428142800 739554266 668281990 750156197 610932880 608724072 830162158 34584857 469384372 -1 588150191 767047665 551345512 943374902 588150191 670979891 980134651 59706771 201066749 149052945 46011383 988919874 117303447 -1 992563691 392826688 801402068 241693686 658388576 46485154 639572212 249558965 470690645 807262913 198703751 164542502 329574367 847840320 812752908 137132982 94630229 639572212 627589268 26537314 676685933 170824557 961821360 610932880 46410909 18404492 943374902 989747990 702444538 857269083 562288215 231771136 859930182 745215401 676709331 628984381 779829204 386381016 880446976 335743200 675573324 951926549 594204193 857102413 263798126 26375227 741463146 708274346 801169129 384604556 254756796 466034328 81866966 693375965 823787812 541463939 117303447 332773543 470690645 721120553 577758652 470803824 713199217 920219729 -1 623090438 953838288 567416830 280856350 217928587 563732029 414918047 13841075 458547544 801402068 400907045 167036027 115470851 548806448 627561325 456401701 641164921 527985132 306854073 864561721 997432376 538432928 337458711 336688564 867933639 586985028 26375227 163091630 490142300 381881872 368935143 433348815 676709331 248636995 283107224 645695407 428413005 389956215 114396999 -1 569422962 352508141 489295045 448316745 675573324 740224085 363579344 819963767 572589546 610613670 209977170 622737539 741463146 154693260 432069691 873072247 38372578 541460419 679670176 456863895 628220249 245677831 647427996 472516679 624015614 102379477 566096351 18404492 730824918 346394348 819523467 782927012 833220245 393835525 14405655 561553313 728357838 660040051 960643177 336862767 849035201 613084013 391779414 296417374 880844104 748186132 723200871 697374453 387384744 288542157 26375227 363811064 145847415 428142800 859063396 883564101 408244002 165753 476084224 416739210 288628682 755527023 232531633 937633254 84062198 427675535 672907310 525617132 18299476 965067805 937633254 753145692 731745766 593587398 595427792 746419439 338370105 563823514 961821360 265395517 488751710 57606083 491543933 38372578 170824557 97299507 107596959 863667577 122067182 836680980 182429059 514721585 42277380 950862675 211333607 14405655 167036027 999674172 229515163 623090438 295958449 750429264 631700842 979580407 198628726 574924220 864350394 901304975 997432376 46945925 734712823 667300705 33812208 264549124 538432928 18794770 494751627 398981201 67592009 18794770 424146759 632336991 302277738 751316591 779829204 358362276 847840320 203580162 746419439 252012472 475822349 288542157 976942240 72263116 852837035 54153332 113811391 730756715 216195055 333260763 729352677 688380735 1713096 46945925 666590606 563675995 453407680 741339101 -1 92112290 740224085 453407680 237773442 746419439 579991057 655834254 580884227 433348815 346394348 637964511 26537314 296417374 211333607 814490763 561494895 472516679 748526814 194126353 609637013 295504204 658212287 968396048 548806448 238442797 138790019 308232133 725418770 160366715 943374902 827132364 244195221 644336340 914206506 566034579 702444538 365679164 325845006 72263116 679670176 904818318 580884227 72263116 466034328 812140416 600962339 92112290 762227828 122896725 868211619 622823007 982554231 303139271 614459776 880938198 234968285 432504521 471865558 229821643 306854073 345072009 414918047 413494386 12903603 191697350 590603969 861383306 908705907 795730704 472407762 107808575 60081926 520011864 92112290 830994144 723933984 907456227 237773442 96109344 986331373 997299598 937633254 974521569 724422672 355756362 462383923 46485154 335743200 624015614 208877360 327982936 739554266 433114786 641164921 667841561 980134651 335890204 765137854 79097209 795730704 939946968 977467597 448316745 998120269 977467597 387518405 197115342 295805912 56105859 11796756 56105859 663946492 527897224 53028773 849035201 818974853 950629972 355756362 115470851 850351456 426480224 548806448 254528769 997299598 758575350 211550817 985045640 170824557 -1 763183908 72794624 638011115 976942240 804352169 711501588 472407762 784371166 563823514 533367205 672907310 466852129 562309509 431837446 665446719 663946492 846213413 264549124 683531283 102379477 197115342 428413005 73453883 154693260 500268473 149830598 107808575 111985669 319379178 399202754 424697572 761888635 219896364 393835525 59706771 919585635 723933984 284700142 908463563 789495739 223785502 861208333 211070558 755527023 622918995 554782737 49208976 75228974 352508141 413494386 348123399 329959527 213926602 334677549 723200871 165622114 823787812 914662962 199770581 902419092 518109595 676685933 852837035 999101537 560455121 574924220 760593154 800463769 602811046 283107224 146197290 975269268 627376276 276260520 408497768 907772025 462383923 223785502 988919874 469384372 845459462 562288215 503810504 846213413 850101344 555548888 481127177 476084224 122067182 804352169 167415720 60744503 418807544 891436447 724422672 758575350 407009263 84062198 750763843 593282222 499941413 770847694 47116225 823787812 155376172 281598862 651109313 244195221 150137560 138790019 215802236 381881872 578238211 541460419 680666684 659932705 386935154 888304663 268947673 378409769 288628682 293155218 593282222 590603969 403334160 712694937 543006155 413843857 262575582 18404492 638011115 149052945 822261941 365035648 345072009 507142051 275463593 417425319 41260287 243341711 865880334 446355059 599555786 885164572 248636995 908705907 181721636 130580 838379139 806195787 167036027 433439854 488751710 140113105 704672739 880844104 527897224 53028773 857269083 950629972 563675995 580470806 655834254 333260763 579783784 958339854 63243152 567416830 381881872 276260520 980134651 79213361 -1 561494895 685423362 697184458 432069691 716182336 830994144 102379477 211333607 756425389 675786233 718577411 968396048 753145692 880446976 689897360 389956215 912506727 53590481 495241145 784371166 659932705 769837665 114396999 111985669 807820896 614459776 660639438 495336832 717390689 54164180 707186544 586392635 938954818 807820896 329542777 722874144 329542777 203493552 115639466 782619049 857269083 524972471 63562141 378610966 939946968 142117376 740364356 446355059 638011115 228137178 567600315 354949635 854398124 145847415 885164572 669125354 665446719 45426260 448707988 428747955 182429059 691504106 602915291 907456227 750763843 863667577 663946492 411907778 54153332 146171038 70161655 505655512 741339101 79323336 495241145 524542574 142117376 319424815 454563819 490142300 208493418 987705926 704672739 873072247 321467204 586392635 567600315 864350394 37724537 635671105 53028773 647290016 970265761 87162480 49208976 72643683 220059095 168494769 175144765 638076633 443342808 922220234 659501910 63562141 804352169 296417374 454563819 595427792 330583346 406568384 358191652 865880334 317871021 960643177 542661640 580283317 608724072 603620710 763183908 365679164 263636646 740364356 711501588 2433982 107808575 670979891 357329820 849123482 524542574 820211254 893652215 332773543 768744535 444874800 72263116 751316591 499941413 363579344 705622548 761021239 451474906 96109344 92102199 548806448 626837013 403334160 939563959 414918047 950629972 865880334 422331486 849123482 549323513 368704535 276260520 993786079 655834254 447434673 75228974 468199498 729941138 527897224 461274569 873072247 302277738 761021239 723933984 182429059 286319692 373683372 864350394 490142300 748526814 965993467 71713295 384604556 569422962 580918883 914206506 132774876 114396999 938446553 307476694 555548888 658212287 950862675 828722364 290604263 355756362 245677831 937638157 939946968 675786233 96109344 32466209 977619929 845211351 680666684 232531633 244883660 45426260 286319692 86361620 912506727 169614935 373683372 633637325 582861386 814490763 454563819 525617132 765137854 150137560 146197290 507969865 155376172 957144144 323513395 579690895 209977170 469035792 599555786 914206506 681690682 612885490 989747990 271708247 420773560 836680980 283107224 579783784 807820896 766504018 13841075 301334993 801326287 78898063 769837665 170824557 822261941 789404113 832364259 991188064 718577411 18404492 601762202 357329820 712694937 168494769 -1 508037594 542986495 728357838 635671105 111985669 490142300 679670176 670979891 271708247 890844482 710730165 909186692 115470851 984895249 950235340 950862675 112624754 633637325 680666684 863278761 298868262 822261941 307476694 344240078 721120553 290604263 499941413 764751417 379109457 685423362 45426260 830162158 155997760 830162158 281598862 232531633 602915291 220059095 321467204 113811391 365407761 610932880 53590481 922220234 823933296 791932302 79323336 902419092 880665324 491978273 92160628 734712823 572589546 920219729 12903603 88469907 867723620 192251969 494751627 386935154 728357838 399202754 250810872 610895287 421927353 543122079 86256730 939563959 28576479 647290016 984895249 560814638 55517047 244883660 407009263 997432376 21873594 525617132 228137178 632336991 873072247 286319692 432504521 208877360 830162158 111985669 26375227 997432376 901803305 -1 112624754 458547544 938914563 999674172 208028672 942045496 43897314 67592009 407009263 579690895 355126439 115639466 604148770 175590565 882812597 982693874 211362614 288628682 658388576 368764047 818974853 393835525 92102199 644187365 323513395 559785274 175884183 416739210 245677831 433114786 656206261 871898006 398981201 46485154 559785274 188196698 543122079 72794624 138533159 163091630 663667470 688597242 447434673 712694937 197307546 693375965 92102199 118534662 692204091 379109457 -1 211550817 566034579 567416830 847840320 171504845 264549124 980936845 518109595 663667470 384604556 614297261 767047665 237773442 593282222 175554418 867723620 695553778 548806448 355756362 647427996 622737539 208493418 199386661 763281688 146171038 566034579 456401701 171504845 836680980 -1 446355059 427618367 488751710 345072009 986331373 201066749 488751710 466852129 863278761 21873594 638011115 542661640 281598862 464037621 842306692 914206506 871898006 203580162 335743200 729941138 -1 566034579 977619929 774937853 363811064 604148770 861115508 146171038 850636024 28416726 563675995 254756796 346188490 669655791 45426260 718229961 348123399 620059513 189854783 791932302 491543933 699856917 283107224 838379139 244883660 284387166 893652215 26537314 182026506 663667470 306767836 854398124 433348815 330583346 923159887 690664050 942627653 807648187 206014003 81866966 75228974 79323336 452820542 800463769 37081879 42277380 339350524 627589268 567600315 217928587 675573324 459789430 406483013 59706771 766504018 745924515 626837013 848715178 495336832 186539666 748186132 594204193 689608865 78898063 188196698 325845006 307476694 55517047 575485118 593282222 574924220 468107571 223785502 363811064 70161655 379213018 330583346 456401701 770680522 626807589 245677831 619868736 613084013 398981201 231771136 415965469 426480224 183843307 203493552 437863021 217928587 579783784 716182336 297175900 686385319 422331486 155376172 335743200 199770581 295504204 19140171 939946968 920219729 244883660 333772685 857269083 186539666 867723620 890844482 72263116 595427792 406430184 789404113 490869221 107596959 765137854 428747955 490142300 739554266 495712606 473150723 632336991 163983150 293155218 830994144 601762202 488751710 807648187 763281688 819963767 458547544 577714620 526755095 659932705 548806448 349032071 329542777 163789960 182659876 416739210 297133830 779829204 897789362 431837446 41524303 908705907 832494905 845211351 375673341 660639438 937633254 861208333 560556517 154693260 572311287 41524303 827132364 92160628 771459106 473150723 387518405 373683372 893860727 57606083 659501910 922220234 683489839 110012494 477076784 922171930 623188968 77299524 586392635 686649778 372910848 420773560 683489839 663946492 786892734 724422672 668250239 344240078 417425319 372510013 592274818 795730704 782619049 489295045 284387166 612885490 238442797 782619049 297133830 420425052 543122079 456487084 997299598 329574367 883564101 37081879 112302971 206644601 937633254 368779111 43897314 663946492 254528769 995194212 466852129 118534662 198016418 43897314 197115342 579690895 458547544 864561721 182429059 946112218 92160628 92112290 17012234 41524303 308232133 679670176 72263116 363579344 57551192 251692591 543122079 989747990 -1 938954818 858159813 43392732 680666684 910794274 940104206 177905368 113804160 284700142 263636646 688597242 923159887 596943234 490869221 352508141 391779414 627589268 522063456 203018461 922171930 667300705 271516194 243995015 951926549 697184458 107596959 849123482 854062217 301714930 968396048 728492414 456401701 115639466 532861718 614593757 182026506 425469326 268947673 888304663 647290016 832364259 641205608 730909832 830994144 622918995 355126439 722672739 560637528 833220245 765137854 159056677 907456227 770680522 175884183 974448855 329542777 997299598 117303447 591284702 175554418 365035648 156929061 205644911 241693686 716182336 922171930 433439854 864561721 831985335 811841566 26537314 354949635 612885490 484471406 551345512 431837446 831985335 981763217 957643716 138533159 989696303 549323513 323513395 159647580 795730704 632336991 741463146 638076633 29592557 432504521 688380735 229821643 807648187 542661640 274831438 572311287 493264770 940104206 582319429 697184458 243341711 676709331 471865558 555548888 665446719 755527023 100130908 722672739 72263116 238442797 758575350 171504845 912506727 4610166 433756914 211550817 658212287 466034328 804352169 183843307 461649452 330318834 857269083 984895249 627376276 403334160 92102199 563732029 345102555 206014003 29272319 791183444 739554266 532803555 243341711 470803824 317871021 499941413 473150723 635671105 97299507 601762202 830994144 208877360 908463563 448707988 75228974 726776295 699856917 161017478 228137178 201066749 575485118 29272319 308232133 297133830 237773442 763281688 254756796 159056677 254528769 84208996 638011115 890844482 580884227 329542777 456863895 685423362 571736161 859962837 748186132 197115342 194126353 293155218 726124644 789404113 742174392 779829204 333260763 165753 580918883 689897360 70161655 55517047 39885396 823787812 562309509 1713096 700120477 568090820 335743200 168494769 790809628 637964511 248636995 352508141 649175882 683489839 801326287 873072247 686385319 997299598 908705907 73453883 579690895 186539666 740364356 420425052 634536293 231771136 435984127 939563959 211362614 329959527 444874800 669655791 520086201 36050763 818974853 833220245 901803305 946112218 306767836 849123482 420425052 466034328 771459106 154693260 387384744 860724917 591700510 741339101 59501988 686385319 938954818 560455121 604148770 232018015 386935154 881489135 602915291 54164180 580283317 160366715 427675535 916738849 818829472 206014003 705622548 484471406 790909002 306854073 542986495 349772488 432069691 163983150 427618367 711503207 373683372 801169129 660738659 560637528 842871738 19140171 188196698 254528769 916321789 286319692 966561320 697184458 254528769 46011383 399202754 372510013 789404113 329574367 377651896 739554266 298868262 216195055 807262913 411999902 341012648 349032071 472407762 29734308 319379178 171504845 563732029 922220234 602811046 413843857 411999902 391779414 417425319 54164180 548806448 716182336 275610416 358191652 114396999 100130908 392826688 897789362 850351456 198628726 767047665 191697350 923159887 427675535 637964511 357329820 726776295 676685933 842871738 426480224 957144144 596943234 491543933 746419439 560556517 812752908 466852129 555548888 830994144 658388576 18299476 832364259 782619049 321331882 72643683 590783394 494950691 60744503 734712823 651109313 415965469 854062217 19140171 695553778 622918995 765954927 691504106 697184458 770680522 711503207 610932880 815472010 18299476 197307546 29734308 199386661 339350524 -1 635671105 993786079 626807589 639572212 327982936 465892383 730824918 858159813 162425880 722874144 363811064 818974853 950862675 229405480 295805912 368779111 344240078 655834254 644336340 127278512 750763843 890844482 780117964 433439854 560814638 203018461 574924220 216195055 100130908 -1 420773560 386381016 982693874 433348815 885164572 389956215 175144765 448707988 465892383 857102413 758575350 72794624 613084013 691214891 29592557 505655512 145847415 260946873 567416830 399202754 46410909 682038125 685097645 491543933 2433982 729178187 768744535 95779603 850101344 774149146 831985335 827132364 634983639 115470851 613084013 989696303 628984381 19140171 32466209 998120269 561494895 -1 595427792 946112218 374972287 297175900 191697350 437863021 634536293 41524303 26537314 246216644 939563959 192251969 293155218 704672739 329574367 973579758 779829204 301334993 43897314 448707988 523542917 392826688 679275202 265395517 495241145 740364356 885164572 22576092 100130908 401672699 868211619 489295045 965993467 461274569 721867658 53028773 490142300 408244002 368779111 729352677 392826688 729178187 46945925 599555786 730756715 399202754 639572212 368764047 260307180 593282222 165753 763183908 34584857 849035201 238951985 155376172 67592009 676685933 223030820 138533159 -1 817693389 541460419 669655791 838379139 987705926 610613670 72263116 365035648 524542574 908705907 484471406 563823514 26375227 73453883 260946873 408244002 337502849 664490073 705622548 937633254 811841566 -1 406568384 600962339 254756796 203493552 344240078 219896364 485683712 297175900 368764047 910994573 880844104 250810872 373683372 801402068 942045496 686649778 879954113 456401701 561553313 197115342 156929061 219896364 238951985 384604556 651109313 457715535 26537314 466852129 579783784 188196698 391779414 169614935 712694937 448316745 32466209 444874800 421927353 623188968 912506727 79097209 392826688 965067805 220059095 325845006 800463769 78898063 284696682 750769230 893860727 908463563 32796250 634983639 968396048 981763217 208877360 882812597 53028773 881489135 614593757 942297502 627376276 424146759 115639466 337502849 327789615 695553778 165622114 254756796 890844482 368779111 219896364 645695407 745215401 211362614 572311287 288628682 332773543 766504018 344240078 647427996 198016418 817331802 846213413 979285058 49208976 682038125 215802236 830544982 29592557 464037621 726776295 660738659 549323513 424146759 789495739 427675535 73453883 284859244 730824918 769854437 885077908 942297502 -1 593587398 986331373 406568384 833220245 857102413 84062198 372910848 832494905 387518405 416739210 149830598 731936598 284700142 12903603 2433982 416756465 571736161 543006155 26905429 63210631 580918883 86256730 92112290 599555786 860724917 561553313 659501910 922220234 879954113 762227828 33812208 908705907 939946968 387518405 599555786 239987054 770680522 386935154 75228974 982581137 857269083 750763843 437863021 268947673 505655512 381881872 319379178 780117964 63210631 57801759 791183444 667300705 790909002 626837013 591700510 832364259 729352677 378610966 465892383 818829472 60744503 149830598 38372578 722672739 580283317 100130908 807262913 627589268 171504845 660040051 243341711 537867109 849035201 132774876 386381016 47116225 883564101 580884227 60978603 297175900 660040051 998120269 3090244 206014003 784597145 745215401 208493418 579783784 620059513 705622548 602811046 146197290 26905429 160366715 507142051 49208976 164542502 86361620 991188064 142117376 567600315 437863021 524542574 902419092 819523467 245677831 422331486 756425389 695553778 709403855 846213413 786969334 387518405 495712606 116545387 163091630 73525554 42277380 36050763 307476694 209977170 223030820 229821643 833220245 113804160 395983136 431837446 568090820 115470851 745924515 726776295 229515163 379109457 574924220 697374453 47116225 703311448 645276436 406483013 330785266 365035648 850636024 566034579 1713096 428747955 660639438 718229961 882812597 399202754 750429264 830994144 145847415 564190579 17012234 219896364 453407680 930790502 561494895 457715535 525617132 668281990 468107571 448316745 659932705 -1 861115508 84062198 363579344 568090820 452820542 661932839 379213018 668281990 352508141 789495739 603620710 697184458 974448855 791932302 268947673 953838288 679670176 88469907 470690645 26375227 384604556 774149146 95443860 676709331 46011383 110012494 28576479 155997760 197307546 386935154 659932705 957643716 742174392 378610966 683531283 664490073 169614935 681823792 111985669 811841566 590138438 683489839 726124644 984182750 779829204 782619049 164542502 750769230 693375965 750769230 420342620 77564723 668281990 960643177 537867109 666590606 441949925 966503495 41524303 466034328 668250239 707186544 262575582 957643716 580470806 769854437 686649778 723933984 74820195 830544982 586985028 281083465 100130908 850101344 189854783 433348815 655834254 882812597 186539666 433756914 323513395 782619049 28576479 329574367 122067182 345392984 807262913 800463769 469384372 468199498 901803305 155906400 861115508 828722364 880665324 318110611 435984127 574924220 115470851 526755095 514721585 988919874 525617132 725418770 72621546 499941413 729941138 335890204 484471406 755527023 739554266 428413005 790809628 799467751 769837665 171221433 782594982 765137854 344240078 238442797 448707988 323513395 908463563 769837665 603690869 818014838 832364259 916738849 920219729 850636024 -1 329959527 84208996 140395123 859930182 149830598 448707988 422331486 861383306 208028672 34584857 721867658 974448855 702444538 208493418 77564723 243341711 633637325 73525554 685423362 846213413 922220234 70161655 19140171 828722364 284859244 922171930 562309509 96109344 710113373 4610166 223030820 330583346 756425389 549323513 676685933 832364259 183843307 871898006 26375227 456401701 721120553 880844104 543006155 238951985 102379477 951926549 531136661 78898063 950629972 53590481 96109344 857102413 281598862 685423362 284700142 903297209 406483013 890844482 175144765 206014003 211550817 588150191 169614935 421927353 766504018 164542502 661932839 265395517 43897314 205644911 406568384 627561325 216195055 254167164 107596959 494751627 951926549 102379477 880844104 845211351 321467204 443342808 368764047 96109344 603690869 97299507 852782081 565554630 406483013 491978273 263636646 645276436 53590481 345102555 78898063 466852129 -1 731745766 845211351 434526689 433114786 858159813 112624754 554782737 507969865 937633254 22393976 72794624 560556517 987705926 716182336 771459106 466034328 711501588 566096351 72263116 130580 681690682 241693686 823787812 74820195 609637013 107839247 973579758 349772488 662235717 203018461 574924220 748526814 275463593 520086201 854062217 171504845 167415720 885077908 535432483 454563819 220059095 582319429 461649452 522063456 489295045 325845006 718577411 32796250 979285058 879954113 254167164 669742991 614297261 55517047 718229961 260307180 950235340 452820542 633637325 275610416 53028773 459789430 624015614 881489135 627561325 854062217 600962339 468107571 559785274 260307180 -1 871898006 979285058 454563819 572311287 183843307 602811046 499941413 566096351 761021239 205644911 569422962 548806448 229405480 495336832 53590481 571736161 745924515 345072009 243341711 336688564 712694937 252012472 421927353 857102413 717390689 790809628 203018461 602811046 507969865 379109457 993786079 641164921 461649452 577714620 232018015 888304663 763856958 645695407 211070558 435984127 301714930 859962837 495712606 718577411 119601349 91064641 214317232 248636995 457715535 427675535 976942240 43392732 649175882 174295016 507969865 374972287 84208996 718577411 72643683 645695407 718229961 16475116 644336340 262575582 92102199 373683372 264549124 448707988 49212342 295958449 215802236 868211619 400907045 92102199 524542574 164542502 321467204 198628726 456863895 413494386 433439854 861115508 162425880 729941138 723200871 734712823 468199498 532861718 601762202 295805912 729352677 777440440 91064641 970265761 461649452 182659876 122896725 831985335 981763217 135519629 288628682 976942240 710113373 288628682 602811046 574924220 942045496 645276436 709403855 571736161 84062198 238951985 34584857 740364356 223785502 912506727 3090244 970265761 146171038 91064641 718577411 904818318 149830598 920219729 765954927 307476694 664295306 330583346 317871021 468107571 800463769 665446719 564190579 690664050 216195055 663667470 987705926 801402068 580918883 729178187 41524303 472516679 59501988 28576479 11796756 842306692 29734308 438872920 950235340 418807544 663946492 691504106 116545387 992563691 881489135 628984381 95443860 970265761 78898063 115470851 60081926 984117471 327789615 997432376 612885490 220059095 244155041 595427792 761021239 682038125 673965031 86256730 769545495 414918047 102379477 830994144 661932839 448707988 997432376 336862767 984117471 807820896 433756914 975269268 689897360 271516194 431837446 60081926 175144765 333772685 203493552 197115342 995194212 859063396 454563819 461649452 830162158 525617132 91064641 729352677 858159813 7545447 780117964 494923774 531136661 673965031 199386661 79323336 26375227 560556517 613084013 132774876 628220249 982581137 485683712 857102413 163091630 466852129 765954927 719457202 857269083 469035792 711503207 473150723 823933296 761888635 836680980 586392635 695553778 768744535 161017478 448316745 647290016 208877360 3090244 72794624 237773442 246216644 699856917 664295306 730824918 177905368 697374453 982693874 207023050 177905368 95443860 594204193 291386915 239987054 979580407 335743200 763183908 950862675 763856958 532861718 799467751 734712823 864561721 850101344 206644601 206287347 163091630 60744503 693375965 495241145 395983136 137132982 494923774 600962339 785247749 26537314 984895249 46011383 197307546 26375227 879954113 594204193 113804160 541460419 67075526 524972471 273365488 468107571 77299524 239987054 685097645 627561325 481127177 301714930 358362276 861115508 765137854 290604263 63562141 433348815 175884183 337502849 668281990 63562141 281598862 779829204 999101537 645276436 149830598 384604556 408497768 769854437 336862767 891436447 499941413 327982936 466852129 507142051 628984381 297175900 214924123 165622114 561494895 387384744 490142300 689608865 433114786 111122929 -1 194126353 156929061 863667577 499941413 894267291 974521569 785247749 586985028 626837013 111985669 254756796 970265761 72263116 586392635 168494769 709403855 293155218 758575350 563675995 472516679 229515163 107808575 739554266 411907778 189854783 681690682 871898006 169614935 626807589 596943234 666590606 333772685 770680522 330318834 42277380 411999902 386381016 852782081 863278761 107596959 284696682 789404113 571736161 86256730 757544011 495712606 56105859 358191652 175554418 894267291 43392732 401672699 782594982 441949925 43897314 428747955 817331802 398981201 656206261 908705907 378409769 708274346 786075537 181721636 681823792 686385319 454563819 37724537 208493418 373683372 284700142 159056677 703311448 762227828 553190572 420773560 206287347 209977170 149830598 363457997 95779603 336688564 472407762 349032071 400907045 -1 651109313 433756914 47116225 910994573 624015614 72621546 734712823 74820195 533560917 456401701 385144989 95779603 986331373 413494386 786892734 861208333 774149146 493264770 37081879 403334160 679670176 567600315 372910848 880665324 446355059 11796756 264549124 965993467 13841075 885077908 284700142 374972287 161017478 335743200 34030354 909186692 60081926 768744535 563823514 260307180 384604556 635671105 708274346 579783784 336862767 707186544 861208333 779829204 433756914 107596959 94630229 319424815 842871738 873072247 610069705 891436447 780117964 169614935 462383923 7545447 562288215 345102555 560637528 -1 610895287 726776295 685423362 244883660 372910848 659501910 799467751 531136661 857269083 762227828 893860727 431837446 603620710 441949925 416739210 408497768 21873594 494950691 199386661 339350524 368779111 408244002 135519629 284859244 206287347 548806448 560556517 807820896 520011864 669655791 670979891 823787812 213926602 675786233 660738659 428747955 634983639 -1 725418770 729941138 842871738 533560917 992563691 982693874 986331373 452820542 466034328 284387166 228902962 786892734 177905368 254167164 702444538 910994573 784371166 868838278 127278512 355756362 207023050 524542574 67075526 73453883 647290016 335890204 400907045 229405480 406430184 254756796 823787812 953838288 177905368 444874800 491294665 755527023 338370105 612885490 188196698 413494386 333772685 249558965 33812208 867723620 691740164 239254051 254756796 367754743 252012472 155906400 186539666 248636995 477076784 189854783 223785502 336688564 741463146 663946492 13841075 827132364 790909002 199770581 914291169 731936598 920219729 637964511 345072009 206644601 618312173 29592557 293155218 60081926 850351456 280856350 264549124 428413005 140395123 765137854 461649452 637964511 275463593 881489135 690664050 107839247 349772488 942045496 690863334 880938198 763183908 16475116 330785266 580884227 427675535 789404113 34685076 298868262 512615132 84208996 669655791 203493552 41524303 979580407 639572212 368704535 198628726 664295306 880665324 627376276 476084224 74820195 842871738 782619049 373771611 73453883 109891495 638011115 638293140 192251969 132774876 751316591 274831438 901304975 508037594 863667577 567416830 346188490 533560917 354949635 820211254 163983150 191697350 850636024 123550994 801169129 183843307 966561320 801402068 228137178 335890204 908463563 182429059 785376602 639572212 379109457 116545387 112624754 254528769 842871738 770680522 819523467 21873594 885164572 893897082 489295045 957643716 880844104 303139271 659501910 13841075 203493552 514721585 345072009 66483968 182026506 750429264 186539666 466034328 245677831 468199498 800463769 560455121 930790502 659932705 461649452 203018461 782594982 453407680 109891495 658212287 505655512 329542777 965067805 750156197 608724072 438872920 818829472 438872920 175590565 860724917 514721585 610613670 189854783 175144765 561553313 34030354 170824557 428142800 171221433 161017478 291386915 628220249 761021239 358362276 683531283 138533159 508037594 871898006 953838288 760593154 927530478 734712823 231771136 295504204 414918047 919585635 582861386 182659876 63562141 555828167 473150723 765954927 92102199 238951985 613084013 451474906 55517047 33812208 499941413 551345512 12903603 323513395 491978273 275463593 790809628 13841075 363579344 723200871 861383306 77299524 998120269 22576092 63243152 807648187 770278321 286319692 880665324 330785266 957643716 594204193 254167164 286319692 437863021 658212287 946112218 574924220 784597145 75228974 378409769 57606083 454563819 461649452 198016418 505655512 330583346 705118513 437863021 254528769 533367205 115639466 234968285 713199217 861115508 974448855 660040051 910994573 618312173 84208996 92160628 578238211 600962339 893860727 386935154 175590565 365035648 167415720 198628726 363457997 800463769 32796250 171504845 288542157 3090244 572589546 127278512 319424815 302277738 765137854 424697572 627561325 345072009 763856958 675573324 335743200 638293140 424146759 132774876 247165890 984117471 211070558 807820896 325287502 182026506 67592009 641205608 97299507 667169560 709403855 26905429 751316591 730909832 270206207 84062198 427675535 368764047 590138438 72643683 220059095 354949635 428747955 850636024 325845006 243995015 675786233 973579758 243995015 118534662 667841561 527985132 239254051 159647580 72263116 211070558 391779414 248636995 333772685 154693260 406568384 26905429 56105859 784371166 433756914 426480224 857269083 211070558 194126353 263798126 586392635 822261941 602811046 746419439 109891495 644187365 171221433 168494769 59501988 769545495 551345512 730824918 41260287 634983639 730824918 827132364 666590606 730909832 893652215 613084013 38372578 859063396 596943234 867723620 860724917 518109595 791183444 408497768 238951985 433348815 238442797 416756465 206287347 469743398 849035201 464037621 354949635 849035201 852782081 18794770 37081879 275610416 999101537 206014003 337502849 165753 75228974 192251969 685097645 329542777 406568384 679670176 770680522 159647580 156929061 367754743 894267291 683489839 243995015 448316745 830544982 239987054 723933984 672907310 608724072 203580162 317871021 691214891 427675535 297133830 514721585 345072009 296417374 946112218 293155218 588150191 432504521 373771611 634983639 819523467 785247749 308705211 79097209 723200871 349772488 107596959 213926602 785376602 489295045 520086201 675786233 112624754 571736161 490142300 909186692 149052945 888304663 908705907 372910848 122896725 760624728 12903603 702444538 527897224 838379139 426480224 763183908 523542917 182429059 432504521 264549124 763183908 850351456 769854437 599555786 73453883 183843307 638293140 718229961 533560917 867933639 41260287 604148770 849123482 162425880 731936598 988919874 907456227 244155041 623188968 115470851 995194212 645695407 807648187 346188490 520011864 939563959 523542917 422331486 930790502 729941138 199770581 785866095 610895287 252012472 524542574 37724537 750763843 740224085 960643177 777440440 16475116 408497768 868211619 398981201 400907045 71713295 710730165 234968285 437863021 761021239 491543933 437517579 349772488 974521569 -1 807820896 950235340 873072247 18299476 645276436 339350524 637964511 465892383 613084013 425469326 372510013 623188968 651109313 760593154 745215401 239254051 762227828 348123399 112624754 965993467 689897360 182026506 612885490 753145692 78898063 939946968 96109344 656206261 337458711 989696303 199386661 373771611 641164921 491543933 72263116 355126439 682038125 588150191 349772488 635671105 676709331 459789430 55517047 935910737 447434673 87162480 373771611 527897224 469384372 553190572 189854783 658388576 885164572 154693260 689897360 333260763 818829472 84062198 297175900 387384744 857102413 823787812 241693686 845459462 717390689 628220249 861115508 122896725 586392635 789495739 346188490 670408229 182659876 72643683 622823007 335890204 37081879 417425319 860724917 220059095 718577411 363579344 49208976 298868262 618312173 785247749 838379139 966503495 982581137 709403855 375673341 373771611 638076633 63210631 633637325 381881872 100130908 686865014 337458711 641164921 448316745 937633254 922220234 78898063 542986495 459789430 613084013 182429059 676685933 571736161 718229961 302277738 437517579 29272319 336862767 66483968 452820542 46945925 211070558 113804160 420342620 3090244 244883660 295504204 281598862 637964511 979580407 461649452 275610416 726776295 66483968 -1 883564101 764751417 26537314 252012472 651109313 849123482 60081926 415965469 505655512 697374453 728492414 476084224 57801759 582861386 524542574 927530478 238951985 626837013 832494905 707186544 935910737 579690895 568090820 572589546 112624754 471865558 494923774 265395517 939563959 734712823 354949635 770680522 378409769 688597242 403334160 150137560 638011115 329959527 577758652 647911422 71713295 992563691 818974853 150137560 466034328 171504845 32796250 627561325 466034328 819963767 838379139 508037594 728492414 434526689 198628726 78898063 381881872 555548888 319379178 543006155 980936845 532861718 822261941 201066749 303139271 659501910 22576092 29287119 610613670 845459462 275463593 312308223 667300705 662235717 785376602 182659876 284696682 330583346 700120477 512615132 857102413 418807544 448316745 627376276 219896364 718229961 494751627 489295045 281598862 241693686 416756465 618312173 293155218 378409769 284859244 946112218 234968285 592274818 34030354 574924220 170824557 914206506 306767836 63562141 175590565 596367148 819523467 433439854 789404113 791932302 719457202 427675535 355126439 786892734 39885396 175590565 365679164 689608865 879954113 507969865 710730165 893652215 41524303 70161655 494950691 17012234 564190579 989696303 721867658 590783394 626837013 991067365 912506727 850636024 488751710 29287119 32466209 91064641 508037594 686865014 327982936 748526814 593282222 171221433 284696682 868211619 685423362 155376172 822261941 766504018 722672739 205644911 280856350 997432376 664295306 13841075 431837446 818014838 863667577 634536293 469384372 761888635 408244002 109891495 21873594 247165890 87162480 329574367 357329820 18794770 946112218 468107571 848715178 717390689 499941413 461274569 758575350 16475116 337502849 950862675 2433982 697184458 428747955 250810872 966561320 149830598 156929061 757544011 638076633 985045640 162425880 458547544 659932705 135519629 468199498 319379178 663667470 791932302 868211619 291386915 75228974 398981201 683489839 60081926 951926549 751964866 333260763 49208976 580283317 137132982 999674172 543006155 785247749 982581137 832364259 330583346 217928587 564190579 301334993 117303447 469743398 688380735 203018461 477076784 268947673 845211351 424697572 688380735 441949925 909186692 118534662 -1 84062198 663946492 806195787 722672739 885164572 127278512 579783784 211550817 574924220 578238211 992563691 406568384 206287347 330583346 786969334 807820896 500268473 967987535 115470851 871898006 433348815 494950691 852782081 54153332 599555786 991067365 916738849 691504106 168494769 873072247 664295306 723933984 416739210 368779111 472516679 815472010 622823007 363457997 658388576 387384744 880938198 207023050 673965031 413843857 845211351 22576092 56105859 308232133 890844482 683531283 102379477 290604263 155997760 667841561 541460419 162425880 156929061 164542502 63562141 330583346 950235340 637964511 468199498 992563691 29734308 92160628 118534662 481127177 88469907 138533159 49212342 973579758 647290016 34584857 447434673 14405655 638293140 590138438 785247749 669125354 726124644 477076784 566034579 749101296 72643683 427618367 26375227 46011383 475822349 433439854 330318834 63562141 965993467 763856958 982581137 880938198 386381016 408497768 663946492 806195787 919585635 593587398 339350524 349032071 634983639 302277738 561553313 357329820 54164180 389956215 73453883 984895249 408244002 800463769 416739210 197115342 63210631 680666684 602915291 968396048 579991057 79323336 264549124 968396048 262575582 893652215 590783394 247165890 533367205 786075537 725418770 472516679 18299476 559785274 850351456 480210823 274831438 175554418 580470806 379213018 234968285 472516679 647911422 711501588 717390689 891436447 940104206 26375227 203018461 146197290 663946492 486307671 165622114 953838288 660040051 346394348 420773560 348123399 155906400 424697572 830994144 59706771 882812597 155906400 532861718 603620710 672907310 263636646 647427996 22576092 746419439 549323513 688380735 181721636 770847694 879954113 946112218 466034328 666590606 842306692 995194212 111122929 908705907 533367205 374972287 171221433 555828167 491294665 750769230 327789615 174295016 303139271 860724917 751964866 579991057 782594982 930790502 973579758 171504845 527985132 459789430 86256730 -1 486307671 312308223 910794274 365679164 572589546 219896364 770680522 472407762 804352169 306854073 690664050 912506727 387384744 579783784 495336832 618312173 466034328 87162480 543006155 435984127 491543933 254167164 746419439 769545495 86256730 182429059 566034579 938914563 336862767 334677549 626807589 459789430 165753 198703751 280856350 623188968 275610416 288628682 413494386 414918047 668281990 155997760 377651896 627561325 680666684 770680522 86256730 574924220 461649452 162425880 628984381 645276436 169614935 368764047 622918995 271708247 520086201 84208996 217928587 175590565 555828167 845211351 41524303 493264770 452820542 729178187 691214891 834500260 132774876 -1 110012494 897789362 505655512 818014838 845211351 88469907 232531633 854398124 7545447 171221433 514721585 938914563 762227828 92102199 56105859 562288215 175554418 470690645 801402068 780117964 456487084 117303447 984117471 699856917 26537314 471865558 997299598 26375227 577758652 938954818 159056677 37724537 707186544 177905368 -1 879954113 428413005 318110611 115639466 789404113 818974853 524542574 579991057 591284702 555828167 392826688 505655512 590138438 579991057 751964866 81866966 183843307 578238211 288542157 476084224 86256730 627561325 766504018 723200871 909186692 567600315 43897314 384604556 748186132 123550994 243995015 146171038 639572212 524542574 270206207 591284702 543006155 957643716 739554266 567416830 799467751 403334160 119601349 989696303 67592009 579690895 880938198 656206261 57606083 668281990 577714620 702444538 37081879 332773543 937633254 975269268 59501988 249558965 838379139 912506727 211333607 761021239 348123399 444874800 194126353 319424815 407009263 329574367 769545495 28576479 518109595 819963767 387384744 146197290 596943234 163091630 728357838 26905429 489295045 214924123 373683372 461274569 986331373 822261941 84062198 525617132 740364356 770278321 4610166 110012494 523542917 627376276 395983136 564190579 466852129 626807589 580918883 566034579 472516679 861115508 660040051 345072009 41260287 398981201 818829472 330318834 416756465 138533159 879954113 644187365 60744503 132774876 716182336 149052945 290604263 182659876 750429264 495712606 216195055 72643683 982554231 864561721 116545387 393835525 305936785 535432483 368935143 520011864 580918883 603690869 420773560 11796756 740224085 428747955 209977170 183843307 679275202 438872920 901304975 574417829 32466209 114396999 980936845 296417374 984895249 34584857 863278761 329959527 72263116 244155041 480210823 788878491 335743200 815472010 731936598 939946968 742174392 -1 543122079 819963767 18299476 475822349 769545495 329542777 660639438 975269268 399202754 132774876 49212342 418807544 920219729 275610416 999101537 532861718 777440440 691504106 760593154 284387166 891436447 112624754 175884183 891573253 79097209 92102199 865880334 54153332 942297502 352508141 833246783 54153332 208877360 572589546 627561325 753145692 750763843 392826688 922171930 -1 818829472 77564723 329542777 950629972 975269268 850351456 827132364 943374902 786969334 378610966 880844104 74820195 815472010 245677831 761888635 599555786 84062198 454563819 472516679 997432376 229405480 572311287 41524303 -1 199386661 -1 249558965 795730704 880665324 365035648 995194212 119601349 49212342 760593154 327789615 693375965 667841561 622737539 635671105 452820542 922171930 910994573 632336991 703311448 329574367 939946968 407009263 395983136 580918883 41524303 791932302 527985132 828722364 741463146 750769230 162425880 329542777 634983639 239987054 181721636 45426260 358191652 149830598 655834254 950235340 664490073 989747990 566096351 115470851 115639466 333772685 273365488 -1 216195055 461649452 238951985 293155218 283107224 970265761 676709331 729352677 63562141 505655512 693375965 336688564 541460419 171504845 549323513 -1 169614935 930790502 586985028 330785266 951926549 323513395 614297261 395983136 32466209 701070480 849123482 469743398 832494905 645695407 804352169 818014838 384604556 740224085 18794770 533560917 914291169 750769230 16475116 428747955 198016418 36050763 312308223 79097209 368779111 458547544 138533159 466034328 155376172 989696303 466034328 117303447 633637325 26375227 748186132 961821360 334677549 927530478 819963767 993786079 823787812 207023050 206287347 42277380 560814638 833246783 919585635 590783394 953838288 532861718 494923774 181721636 461649452 554782737 818829472 280856350 609637013 11796756 433439854 424146759 471865558 912506727 207023050 295504204 622737539 244155041 559785274 560637528 938446553 608724072 567416830 303139271 765954927 749101296 425469326 751316591 118534662 346394348 281598862 247165890 812752908 574417829 564190579 29734308 729941138 111985669 930790502 306767836 995194212 284387166 638076633 55517047 801326287 722672739 -1 723200871 113804160 663946492 345392984 850351456 198703751 590783394 56105859 679521131 938446553 981763217 84062198 525617132 345072009 428747955 774149146 644187365 563732029 693375965 92160628 363811064 822261941 982554231 634983639 610932880 664490073 100130908 638076633 43392732 637964511 697374453 555828167 960643177 742174392 28416726 717390689 308705211 681823792 763281688 55517047 46410909 72621546 174295016 160366715 670408229 679670176 494751627 57606083 705622548 631700842 254167164 623188968 541463939 298868262 508037594 374972287 891573253 216195055 174295016 614593757 18794770 228902962 338370105 284387166 37724537 49212342 97299507 599555786 43897314 375673341 827132364 377651896 156929061 722672739 662235717 229405480 603690869 660639438 726124644 228137178 679275202 415965469 554782737 658388576 38372578 149830598 330785266 454563819 288542157 637964511 363457997 784597145 893860727 211550817 503810504 719457202 523542917 432504521 686649778 330785266 894991717 54153332 198628726 644187365 988919874 702444538 333772685 413843857 441949925 472407762 386381016 149830598 745924515 41524303 203580162 593587398 688597242 295958449 883564101 566034579 852837035 753145692 237773442 367754743 660040051 582861386 987705926 647427996 859063396 789404113 432504521 930790502 159056677 79323336 84208996 378610966 538432928 338370105 96109344 610613670 393835525 296417374 786892734 623188968 739554266 957643716 74820195 596367148 34685076 499941413 471865558 306767836 17012234 594204193 72263116 709403855 541460419 348123399 641164921 965067805 377651896 406430184 610932880 73525554 77299524 428142800 448316745 79323336 171221433 989747990 991188064 686385319 562288215 966503495 592274818 373771611 656489207 507142051 722672739 296417374 807648187 111985669 561553313 774149146 682038125 485683712 627589268 594204193 922220234 468199498 755527023 53590481 411907778 198016418 742174392 308705211 140395123 198703751 281598862 769854437 413843857 325287502 991188064 386935154 610895287 572589546 368704535 966503495 817331802 524542574 406717194 283107224 34685076 579783784 930790502 284696682 612885490 327982936 199770581 96109344 428413005 562309509 742174392 609637013 739554266 244195221 999674172 71713295 358191652 548806448 830162158 914291169 574417829 239987054 828722364 33812208 627561325 982693874 486307671 219896364 329574367 647427996 447434673 175590565 295805912 801326287 456401701 766504018 861115508 365407761 520011864 842871738 262575582 214924123 834500260 150137560 879954113 318110611 574417829 750769230 799467751 437517579 18404492 461274569 725418770 595427792 162425880 334677549 349032071 675573324 201066749 935910737 582319429 709403855 368779111 614297261 330785266 710730165 998120269 701070480 215802236 46011383 981763217 590603969 667169560 982581137 368704535 562309509 807820896 750429264 890844482 833246783 426480224 770278321 73453883 317871021 189854783 914206506 87162480 774937853 561494895 753145692 699856917 542661640 828722364 914662962 992563691 102379477 960643177 117303447 100130908 937638157 863278761 723200871 182659876 198628726 53028773 305936785 41524303 461649452 665446719 634983639 49208976 834500260 750156197 472407762 301334993 710113373 337458711 165753 719457202 244155041 325287502 41524303 894267291 953838288 493264770 632336991 448316745 852837035 -1 902419092 704672739 46011383 284696682 420425052 864350394 582861386 471865558 -1 828722364 649175882 861383306 132774876 980936845 734712823 53028773 346188490 7545447 408244002 533367205 140395123 95779603 208028672 861383306 683489839 421927353 428142800 327982936 729178187 661932839 518109595 658212287 580470806 771459106 469384372 273365488 768744535 334677549 965993467 127278512 307476694 167415720 609637013 641164921 21873594 555548888 786892734 175884183 406568384 503810504 461649452 495241145 335890204 169614935 41524303 428413005 989696303 751316591 647911422 192251969 845459462 391779414 984895249 691740164 406483013 702444538 198016418 67075526 868838278 755527023 766504018 368779111 470803824 850101344 280856350 368764047 957144144 535432483 399202754 155906400 175590565 213926602 916321789 503810504 833246783 827132364 365679164 330318834 524542574 780117964 551345512 203018461 980134651 868211619 860724917 632336991 724422672 198703751 420773560 130580 555548888 198628726 223785502 668250239 32466209 254167164 63210631 505655512 659932705 785247749 107596959 563823514 398981201 112624754 852782081 432069691 223785502 327789615 882812597 84208996 575485118 223785502 670979891 993786079 832494905 53028773 18794770 329542777 974521569 490142300 619868736 117303447 777440440 711503207 763183908 486307671 708274346 974448855 973579758 295958449 542661640 228137178 662235717 433348815 91064641 655834254 603620710 88469907 246216644 71713295 574924220 745924515 623090438 34685076 78898063 219896364 768744535 626837013 78898063 167415720 254167164 897789362 274831438 43897314 993786079 667169560 768744535 29287119 610613670 641205608 107839247 791183444 203580162 333772685 588150191 705622548 110012494 189854783 456863895 149830598 345072009 308705211 769837665 907772025 593587398 19140171 297175900 811841566 456487084 161017478 329542777 265395517 554782737 663946492 823787812 914662962 60978603 140113105 95443860 712694937 718577411 560814638 769854437 413494386 982693874 987705926 901304975 619868736 138533159 669125354 472516679 377651896 791932302 113811391 60978603 480210823 610069705 692204091 111985669 113811391 349032071 849035201 645276436 682038125 647290016 711503207 982581137 880938198 473150723 461274569 301714930 327982936 551345512 658212287 712694937 711503207 669125354 613084013 624015614 368764047 885077908 79323336 344240078 11796756 806195787 165753 893897082 171221433 67075526 718229961 647290016 490142300 703311448 623188968 697184458 588150191 165753 78898063 19140171 296417374 690664050 203493552 280856350 830162158 623188968 336862767 624015614 880844104 966503495 756425389 785866095 123550994 901803305 919585635 284696682 595427792 491543933 730756715 594204193 665446719 728492414 626807589 764751417 500268473 327982936 140113105 668250239 461274569 273365488 827132364 167415720 92112290 861383306 435984127 491543933 306767836 211362614 428413005 146171038 981763217 785376602 381881872 710113373 942627653 847840320 109891495 452820542 352508141 284700142 923159887 60081926 495241145 454563819 849123482 746419439 777440440 363457997 984895249 146171038 982554231 830544982 346394348 84208996 234968285 477076784 718229961 512615132 728357838 13841075 541460419 290604263 786892734 373683372 603690869 520011864 432504521 406568384 47116225 780117964 57551192 254528769 891436447 244155041 638293140 697184458 659932705 769545495 469743398 408497768 182026506 469384372 329574367 425469326 367754743 211550817 199770581 454563819 769545495 211362614 249558965 377651896 34685076 538432928 284859244 47116225 418807544 702444538 999101537 649175882 937633254 489295045 563823514 985045640 888304663 71713295 112624754 39885396 444874800 622823007 349032071 244195221 833220245 920219729 782619049 982581137 86256730 234968285 160366715 730756715 295504204 549323513 13384724 115470851 387384744 938446553 79213361 11796756 599555786 791932302 784371166 113811391 514721585 130580 238442797 901304975 271708247 859063396 296417374 301334993 762227828 542661640 830162158 239254051 368935143 721867658 958339854 562309509 49212342 632336991 807648187 586985028 420342620 162425880 847840320 189854783 365035648 920219729 592274818 950235340 95443860 763281688 845459462 987705926 428413005 379109457 413843857 160366715 336688564 958339854 92112290 271516194 428413005 284859244 750763843 41524303 520086201 770847694 74820195 470803824 306854073 580283317 165753 799467751 688597242 335890204 543006155 595427792 726776295 72794624 957144144 448316745 751964866 995194212 263636646 146171038 669655791 452820542 624015614 718229961 -1 703311448 247165890 437517579 953838288 228137178 182026506 206287347 18794770 92160628 785376602 17012234 728492414 113804160 763281688 939563959 568090820 686865014 763183908 349032071 238951985 367754743 914662962 958339854 974521569 644336340 711503207 400907045 966503495 238951985 188196698 572589546 127278512 762227828 338370105 433114786 507142051 464037621 519762398 893860727 651109313 363579344 305936785 70161655 627376276 149052945 142117376 29272319 986331373 117303447 327789615 861115508 11796756 740224085 367754743 980936845 341012648 777440440 779829204 968396048 938914563 246216644 850636024 726124644 174295016 175884183 649175882 428747955 458547544 201066749 880844104 138533159 639572212 745924515 691214891 438872920 676685933 503810504 175144765 306767836 475822349 531136661 815472010 70161655 38372578 541460419 893860727 38372578 750769230 833220245 880938198 329542777 847840320 32796250 984895249 628984381 852837035 434526689 163091630 987705926 329959527 748526814 562309509 631700842 532803555 79097209 554782737 697184458 171504845 470803824 721867658 107596959 281598862 164542502 705118513 63243152 819963767 923159887 817331802 325287502 582861386 927530478 961821360 902419092 448316745 632336991 999674172 859063396 254756796 70161655 614297261 520011864 728357838 115470851 494923774 691214891 561494895 458547544 110012494 566034579 891436447 592274818 697374453 244195221 664295306 567600315 628984381 461649452 461274569 -1 961821360 271516194 612885490 669742991 77299524 909186692 182659876 594204193 977467597 757544011 974448855 503810504 53590481 507142051 234968285 658388576 595427792 774937853 288542157 73525554 680666684 682038125 912506727 724422672 367754743 543006155 280856350 312308223 852837035 724422672 301714930 812140416 712694937 213926602 329574367 323513395 600962339 979285058 891573253 446355059 70161655 750156197 815472010 916321789 413843857 712694937 661932839 420425052 60081926 682038125 295958449 830544982 470690645 60744503 622737539 574924220 146197290 406717194 951926549 465892383 908463563 503810504 238442797 295504204 379109457 603690869 336862767 908463563 661932839 533560917 47116225 847840320 63210631 318110611 512615132 975269268 280856350 532861718 912506727 201066749 785247749 634536293 548806448 60978603 92102199 660040051 562288215 86361620 244155041 894991717 420773560 836680980 3090244 939946968 374972287 260307180 938446553 97299507 790909002 46945925 812140416 760593154 863667577 273365488 782619049 832494905 867723620 471865558 114396999 894267291 580918883 888304663 675786233 72643683 325287502 730909832 59501988 254528769 710113373 572311287 209977170 731745766 223785502 3090244 656489207 586985028 55517047 610932880 333772685 566096351 308705211 214317232 569422962 171221433 769854437 206287347 428747955 252012472 997299598 880446976 523542917 662235717 748186132 710113373 171504845 815472010 667169560 163091630 319379178 431837446 346394348 459789430 384604556 716182336 485683712 43392732 19140171 675573324 801169129 599555786 761888635 823787812 406483013 448316745 63562141 634536293 569422962 239254051 97299507 505655512 979580407 424697572 182026506 688597242 572589546 822261941 424697572 594204193 -1 337502849 760593154 588150191 628220249 416756465 181721636 344240078 432069691 149052945 820211254 610069705 485683712 729352677 914291169 904818318 638011115 211333607 721867658 53028773 49212342 745215401 760593154 984895249 564190579 602811046 247165890 942045496 885164572 335743200 367754743 14405655 974448855 323513395 213926602 296417374 379213018 245677831 427618367 626837013 132774876 830994144 113804160 919585635 -1 494751627 271516194 348123399 907456227 716182336 930790502 232018015 466034328 520011864 372510013 -1 524972471 627589268 758575350 697374453 -1 818974853 873072247 63210631 984182750 626807589 192251969 638076633 332773543 263636646 731936598 26905429 301334993 86256730 74820195 791183444 604148770 418807544 339350524 401672699 171504845 701070480 34030354 774937853 306854073 560455121 993786079 986331373 555828167 275463593 473150723 766504018 203580162 46945925 739554266 241693686 891573253 697374453 34030354 982693874 508037594 779829204 28576479 791183444 857102413 46485154 537867109 247165890 827132364 417425319 111985669 632336991 658212287 378409769 697184458 18404492 801402068 340301060 985045640 182429059 127278512 333772685 548806448 7545447 244883660 349772488 691214891 84062198 867933639 71713295 614593757 822261941 47116225 160366715 548806448 708274346 857102413 626837013 979580407 681823792 43897314 718229961 904818318 562309509 627589268 408497768 308232133 602915291 823933296 910794274 28416726 560814638 514721585 29272319 723200871 580918883 381881872 942627653 679521131 519762398 348123399 424697572 666590606 473150723 201066749 953838288 411907778 879954113 246216644 456863895 827132364 12903603 32466209 420773560 47116225 495241145 596367148 469384372 363579344 437863021 750156197 213926602 864350394 880446976 177905368 867933639 579783784 818974853 308705211 72263116 663307073 341012648 697374453 263636646 149052945 957144144 385144989 864350394 79323336 159056677 637964511 725418770 22576092 590603969 968396048 746419439 59706771 999101537 702444538 336862767 329574367 335743200 769545495 34584857 461649452 424697572 757544011 712694937 533367205 21873594 305936785 363811064 849035201 155997760 408497768 140395123 321467204 893860727 91064641 977467597 838379139 670408229 549323513 297175900 902419092 656206261 36050763 107808575 704672739 782594982 986331373 669655791 763856958 16475116 16475116 469384372 619868736 470803824 979285058 697184458 950862675 574417829 251692591 448316745 916738849 87162480 569422962 115639466 159647580 750763843 341012648 494950691 984895249 543006155 850636024 321467204 782594982 368764047 245677831 893897082 992563691 704672739 637964511 522063456 669655791 117303447 664490073 305936785 594204193 722874144 18404492 748186132 656206261 183843307 627589268 985045640 32466209 318110611 907456227 624015614 434526689 765954927 406483013 307476694 974448855 239987054 815472010 719457202 416756465 527985132 880446976 730824918 466852129 852837035 901803305 281598862 560556517 163983150 97299507 77564723 349772488 667169560 786969334 618312173 519762398 60081926 208493418 416756465 239254051 415965469 686649778 352508141 986331373 -1 718229961 117347524 113804160 771459106 327982936 333772685 663946492 790809628 908463563 317871021 689608865 692204091 549323513 842306692 679521131 33812208 527897224 102379477 849123482 112624754 861383306 849123482 670408229 420773560 142117376 340301060 312308223 883564101 785247749 339350524 168494769 660639438 357329820 999674172 159647580 335890204 71713295 572589546 659932705 730824918 907456227 542661640 661932839 387384744 490142300 119601349 863667577 84062198 -1 159056677 726124644 286319692 400907045 295958449 60978603 203580162 975269268 345102555 368779111 132774876 375673341 750429264 329574367 903297209 697184458 434526689 807820896 981763217 812752908 709403855 11796756 416739210 203580162 812140416 486307671 967987535 768744535 485683712 77299524 609637013 244195221 979580407 541463939 220059095 627561325 60081926 830544982 53590481 428142800 953838288 763281688 424697572 34584857 117347524 428413005 41260287 812140416 298868262 368779111 690664050 26537314 163091630 327789615 830544982 942627653 207023050 867723620 788878491 721867658 594204193 893860727 63562141 118534662 149052945 471865558 987705926 321467204 755527023 564190579 847840320 43392732 18299476 514721585 416739210 549323513 505655512 919585635 951926549 284696682 413843857 168494769 672907310 113811391 982693874 532803555 711501588 819963767 26375227 312308223 777440440 690863334 939946968 779829204 791183444 107808575 79323336 239254051 358362276 740364356 965067805 421927353 721867658 819963767 161017478 864350394 627376276 801169129 281598862 43392732 232531633 672907310 354949635 897789362 107596959 838379139 560455121 41260287 782594982 344240078 614459776 17012234 638076633 951926549 113811391 647427996 871898006 614297261 495336832 433756914 425469326 828722364 593587398 247165890 220059095 626837013 721867658 807262913 271708247 238442797 748526814 333772685 938914563 785376602 902419092 395983136 526755095 358191652 864350394 -1 627589268 836680980 416739210 741339101 512615132 965993467 454563819 701070480 741463146 613084013 901803305 599555786 239987054 378409769 34685076 345392984 284700142 731745766 620059513 750769230 2433982 707186544 63243152 12903603 358191652 421927353 425469326 232531633 847840320 22576092 476084224 655834254 251692591 201066749 283107224 548806448 159647580 107839247 43897314 771459106 400907045 138790019 748526814 782927012 647911422 203493552 14405655 676685933 217928587 418807544 989696303 162425880 205644911 71713295 748526814 812140416 901304975 857102413 762227828 495336832 168494769 664295306 219896364 818829472 192251969 647427996 29734308 66483968 446355059 41260287 711503207 758575350 398981201 668250239 728357838 532803555 908705907 914206506 751964866 801402068 914662962 950629972 690863334 130431610 29272319 728492414 681690682 395983136 -1 729178187 685097645 149052945 689608865 377651896 562309509 113811391 815472010 690863334 -1 441949925 189854783 691504106 567600315 330318834 433348815 663946492 998120269 560455121 922220234 203018461 842871738 758575350 345102555 426480224 378409769 330318834 373771611 -1 785866095 13841075 155376172 571736161 321331882 950629972 608724072 818974853 596367148 306854073 308705211 168494769 265395517 830994144 542661640 801169129 745924515 902419092 914291169 363811064 241693686 420342620 850636024 165622114 916321789 849035201 251692591 33812208 -1 784371166 807820896 45426260 505655512 97299507 771459106 689608865 859962837 244155041 480210823 691504106 644187365 827132364 426480224 297133830 608724072 387384744 130431610 433348815 41524303 942297502 466852129 189854783 953838288 697184458 871898006 28416726 461649452 77299524 456863895 368764047 859930182 116545387 198703751 37724537 659932705 982581137 649175882 627589268 53028773 247165890 939563959 814490763 950862675 110012494 692204091 29734308 284696682 231771136 580884227 577758652 329574367 63562141 281083465 194126353 435984127 774149146 284700142 413843857 293155218 418807544 580470806 602811046 741339101 140113105 441949925 306767836 263798126 663667470 59706771 560455121 705118513 441949925 162425880 827132364 301714930 942384956 610613670 849035201 468199498 723200871 41524303 505655512 789404113 626837013 680666684 811841566 14405655 345072009 937633254 901803305 244883660 713199217 73525554 155906400 873072247 155997760 335743200 563732029 117303447 348123399 628984381 229821643 223785502 46945925 411999902 424146759 651109313 967987535 138533159 171504845 375673341 854062217 538432928 975269268 163091630 770278321 175884183 170824557 930790502 681690682 697374453 974521569 790809628 668250239 67592009 729941138 132774876 238442797 836680980 203493552 580884227 817331802 373771611 11796756 610069705 416756465 667841561 827132364 92112290 750763843 871898006 111985669 659932705 485683712 670979891 238951985 560455121 117347524 937633254 770847694 627561325 155906400 191697350 481127177 748526814 115639466 161017478 885077908 512615132 400907045 268947673 561494895 686865014 372910848 466852129 519762398 763281688 782619049 34584857 330318834 444874800 811841566 784371166 623188968 288542157 249558965 644187365 622823007 628984381 59501988 45426260 452820542 966503495 538432928 812140416 29287119 634983639 977619929 118534662 201066749 462383923 722874144 526755095 250810872 301714930 997299598 718577411 149830598 857269083 327982936 645695407 626837013 357329820 740224085 590603969 764751417 446355059 327982936 991067365 668281990 909186692 84062198 63243152 861208333 977467597 799467751 880938198 306854073 664295306 756425389 784371166 975269268 532803555 348123399 719457202 908705907 591700510 524972471 658212287 78898063 663946492 211070558 373683372 451474906 699856917 922220234 647290016 663307073 593587398 765954927 254167164 -1 847840320 408497768 84062198 177905368 38372578 950235340 26537314 197115342 74820195 532861718 142117376 563732029 975269268 470690645 363579344 286319692 881489135 859930182 709403855 786892734 208028672 26537314 613084013 241693686 270206207 572311287 466034328 451474906 688597242 319379178 400907045 730909832 628220249 358191652 447434673 986331373 524542574 367754743 670408229 416739210 675573324 857102413 163789960 602811046 880446976 319424815 367754743 433114786 560814638 385144989 116545387 420425052 834500260 618312173 263636646 60744503 531136661 997299598 668281990 55517047 -1 730824918 610069705 800463769 939563959 154693260 491543933 960643177 995194212 683531283 117303447 358362276 319424815 374972287 92112290 683531283 472516679 904818318 260946873 433348815 977467597 861115508 421927353 301334993 308705211 560556517 627561325 769545495 4610166 846213413 691214891 249558965 786892734 87162480 490869221 922171930 281083465 740224085 67592009 365679164 37724537 12903603 686649778 319424815 229515163 422331486 790909002 239987054 246216644 627561325 923159887 709403855 102379477 865880334 565554630 182429059 716182336 503810504 79097209 891573253 -1 198703751 411907778 167036027 848715178 690664050 363579344 709403855 989696303 421927353 610613670 260946873 107808575 549323513 219896364 209977170 729352677 850636024 833220245 867933639 626837013 247165890 461274569 284696682 748186132 822261941 791183444 818829472 760593154 1713096 115639466 174295016 70161655 464037621 335890204 590783394 84208996 800463769 572589546 532803555 411907778 122896725 686649778 982693874 231771136 571736161 162425880 785376602 117303447 306767836 779829204 47116225 701070480 980936845 786969334 811841566 181721636 560556517 453407680 346394348 465892383 169614935 628984381 999101537 904818318 250810872 432504521 182429059 476084224 890844482 852782081 494923774 612885490 791183444 368935143 801326287 667841561 861208333 641205608 770680522 29734308 690863334 379213018 344240078 916738849 683531283 208493418 109891495 189854783 659932705 110012494 774937853 160366715 758575350 859930182 880446976 11796756 274831438 372510013 675573324 708274346 622737539 682038125 373771611 833246783 75228974 401672699 542661640 880938198 78898063 942045496 377651896 863667577 779829204 337502849 408497768 894267291 427675535 910994573 46410909 681823792 38372578 846213413 288542157 788878491 480210823 306767836 667841561 861383306 92112290 466852129 768744535 763856958 169614935 789404113 989747990 555828167 814490763 704672739 760624728 691740164 456487084 284859244 833246783 533367205 863667577 801402068 327982936 761021239 520086201 28576479 494950691 464037621 323513395 232531633 355756362 531136661 801169129 420773560 107808575 395983136 595427792 395983136 284387166 565554630 284387166 857102413 620059513 298868262 219896364 395983136 638011115 113811391 238442797 19140171 12903603 428142800 466852129 982554231 86361620 647290016 572311287 321331882 543006155 100130908 562288215 731936598 349772488 691504106 431837446 295805912 582861386 88469907 965993467 280856350 591700510 782619049 142117376 443342808 659932705 400907045 234968285 748186132 880665324 146171038 194126353 811841566 697184458 -1 637964511 247165890 346188490 355756362 508037594 368779111 229405480 228902962 398981201 375673341 263636646 206014003 265395517 437517579 330318834 818974853 681690682 980134651 67592009 214924123 722672739 923159887 879954113 91064641 215802236 401672699 572311287 -1 685097645 336688564 145847415 26375227 305936785 95443860 197307546 702444538 620059513 523542917 297133830 373683372 291386915 596367148 468107571 486307671 138790019 689897360 832494905 138533159 29734308 982581137 466034328 920219729 457715535 790909002 56105859 710113373 77299524 722874144 669742991 751316591 333260763 563732029 982581137 456401701 861115508 543006155 818829472 774149146 882812597 113811391 860724917 682038125 26905429 553190572 914291169 785866095 34584857 789404113 726776295 610069705 639572212 92112290 879954113 92112290 984117471 345102555 452820542 507969865 491294665 198628726 708274346 984895249 729941138 610069705 391779414 786969334 466852129 989696303 637964511 850636024 951926549 885164572 512615132 160366715 590603969 275610416 524542574 722874144 171221433 610069705 799467751 590783394 763183908 175554418 155376172 675573324 241693686 604148770 596943234 712694937 997432376 274831438 659932705 491543933 149052945 336862767 117347524 21873594 34685076 832364259 942045496 670408229 685423362 59706771 192251969 986331373 41524303 34685076 740224085 705118513 819963767 26537314 123550994 32796250 665446719 927530478 820211254 729941138 801169129 355126439 847840320 685423362 939946968 664490073 861208333 692204091 408244002 748526814 18299476 229515163 365407761 705118513 641164921 914206506 91064641 97299507 358362276 854062217 346188490 275610416 465892383 692204091 56105859 666590606 742174392 577714620 117303447 -1 628220249 734712823 418807544 437517579 628220249 782619049 695553778 170824557 1713096 716182336 367754743 29734308 94630229 532803555 191697350 232018015 555548888 408497768 177905368 333772685 974448855 349032071 910994573 763183908 456863895 77564723 524542574 43897314 627376276 138790019 830544982 920219729 660040051 138533159 740364356 763183908 604148770 378610966 580470806 937638157 251692591 975269268 575541534 619868736 206014003 211362614 456487084 713199217 554782737 765954927 203018461 613084013 338370105 413843857 634983639 29734308 254756796 683531283 830544982 391779414 246216644 456487084 317871021 295504204 46410909 741463146 647290016 344240078 669655791 420342620 130431610 127278512 169614935 768744535 930790502 349032071 448707988 989696303 270206207 39885396 854062217 167036027 951926549 880938198 46011383 26375227 254167164 79097209 833246783 92112290 207023050 562288215 596943234 916738849 239987054 833246783 723933984 766504018 560814638 284387166 679670176 26375227 721867658 685097645 991188064 669742991 758575350 789495739 777440440 164542502 174295016 535432483 461274569 916738849 45426260 579783784 254528769 691740164 140113105 807262913 942627653 72263116 238442797 577714620 435984127 864350394 385144989 891436447 223785502 533560917 997432376 746419439 533560917 345102555 -1 491294665 77564723 791932302 811841566 685423362 943374902 215802236 763183908 95443860 980134651 942297502 175144765 137132982 475822349 675786233 614459776 691740164 239254051 18299476 174295016 208493418 288628682 563732029 346188490 234968285 490869221 731936598 658388576 206014003 373771611 11796756 403334160 633637325 591700510 237773442 711501588 667841561 668281990 538432928 433439854 428142800 472516679 208877360 953838288 295805912 308705211 903297209 974521569 566096351 385144989 340301060 3090244 637964511 211333607 980134651 914206506 163789960 435984127 491294665 791932302 656489207 857269083 70161655 935910737 908463563 833220245 358191652 626807589 433114786 -1 325845006 217928587 951926549 702444538 577758652 770680522 416739210 280856350 690664050 854398124 489295045 247165890 373771611 891573253 594204193 588150191 689608865 384604556 335743200 197115342 535432483 833246783 645276436 571736161 406568384 602811046 937638157 998120269 785376602 559785274 637964511 317871021 568090820 690664050 491978273 41260287 344240078 182026506 208493418 770680522 782594982 77299524 505655512 559785274 667841561 591284702 113811391 723933984 110556435 850636024 867933639 980936845 710113373 593587398 335743200 34030354 399202754 861383306 852837035 976942240 500268473 690863334 801169129 832494905 524972471 807820896 739554266 273365488 262575582 692204091 664295306 491294665 883564101 398981201 988919874 431837446 730909832 142117376 560556517 942627653 355756362 330318834 582861386 644187365 852782081 579690895 420342620 431837446 656206261 609637013 741463146 325845006 451474906 579690895 336862767 690664050 541463939 697184458 254756796 367754743 87162480 46485154 701070480 84208996 894267291 493264770 386381016 170824557 882812597 554782737 468107571 329542777 421927353 -1 527897224 819963767 662235717 762227828 649175882 761888635 830544982 600962339 790809628 407009263 966503495 469743398 618312173 807648187 638076633 167036027 655834254 993786079 590603969 84062198 590138438 159056677 863278761 73453883 34584857 365679164 619868736 14405655 789404113 229405480 63562141 891436447 770680522 291386915 685097645 997299598 830994144 14405655 14405655 229405480 705118513 612885490 833246783 628220249 812140416 470803824 914206506 923159887 760624728 288628682 206014003 469743398 966561320 208493418 155376172 665446719 205644911 664490073 416739210 264549124 560556517 268947673 358362276 -1 765137854 319379178 13841075 758575350 859063396 368935143 686865014 834500260 940104206 37724537 574924220 761021239 730756715 427675535 577714620 660639438 682038125 966503495 466852129 395983136 868838278 854062217 849035201 679521131 916738849 578238211 807820896 484471406 989696303 238951985 864350394 345072009 208493418 991188064 232531633 807648187 919585635 36050763 830544982 779829204 -1 668250239 512615132 791932302 960643177 181721636 203493552 885164572 274831438 861115508 863667577 885077908 55517047 532861718 122067182 352607876 199770581 940104206 722874144 864561721 572311287 355126439 935910737 716182336 229405480 864561721 245677831 417425319 664490073 264549124 403334160 922171930 140113105 691740164 481127177 41524303 946112218 207023050 940104206 670408229 170824557 859962837 569422962 379213018 192251969 562309509 760593154 849035201 709403855 623090438 3090244 433439854 891573253 819523467 560814638 59706771 833246783 425469326 575541534 92102199 468107571 763183908 293155218 590138438 155376172 849035201 422331486 -1 374972287 332773543 495241145 788878491 980134651 37081879 982581137 768744535 307476694 358191652 987705926 198628726 641164921 216195055 786969334 295805912 560556517 830162158 560455121 755527023 748526814 992563691 661932839 975269268 660639438 321331882 916321789 336862767 42277380 337502849 832494905 620059513 469384372 531136661 582319429 864561721 586985028 163091630 284859244 937638157 284700142 406483013 761021239 217928587 2433982 670979891 -1 731745766 28416726 363457997 757544011 755527023 208028672 75228974 979580407 268947673 527897224 897789362 723200871 -1 57606083 891436447 832494905 406717194 54153332 484471406 330318834 685423362 768744535 916738849 117347524 413494386 676709331 910994573 923159887 937633254 982693874 37081879 318110611 146171038 907456227 171221433 848715178 667841561 160366715 729352677 297133830 302277738 750429264 683489839 670408229 111985669 268947673 295504204 705622548 861208333 36050763 740224085 17012234 982581137 26537314 697374453 664490073 433348815 524542574 96109344 112624754 19140171 888304663 676709331 175590565 165622114 697374453 59706771 465892383 831985335 403334160 676709331 72794624 43897314 461274569 708274346 908705907 716182336 428142800 275610416 374972287 729352677 610932880 614297261 418807544 832494905 135519629 689897360 420425052 976942240 352607876 57551192 60744503 330785266 146171038 417425319 961821360 229405480 660738659 804352169 138790019 914291169 916738849 199386661 725418770 234968285 722672739 977467597 575541534 188196698 53028773 667841561 658212287 244883660 847840320 807648187 880665324 542661640 295805912 424146759 885164572 998120269 628984381 998120269 618312173 452820542 319379178 45426260 668281990 130431610 425469326 -1 666590606 664490073 799467751 903297209 437863021 800463769 801169129 656489207 72794624 171221433 910794274 295504204 447434673 354949635 490142300 466852129 334677549 922220234 329574367 846213413 312308223 182026506 914662962 421927353 631700842 271516194 818829472 520011864 79213361 966503495 140113105 879954113 349772488 348123399 555548888 942384956 271516194 742174392 740224085 207023050 472516679 -1 306854073 603620710 288542157 729352677 84208996 67075526 542986495 867933639 211333607 114396999 881489135 468199498 942627653 942627653 717390689 41260287 686649778 861383306 562288215 730756715 60978603 220059095 562288215 211550817 345102555 770680522 974521569 613084013 845211351 685097645 567600315 165753 140113105 301334993 175144765 612885490 919585635 485683712 541463939 11796756 817331802 790809628 164542502 602915291 239254051 325845006 63210631 750156197 986331373 600962339 559785274 201066749 206014003 942627653 33812208 940104206 26905429 462383923 87162480 800463769 203493552 908463563 850101344 770847694 462383923 503810504 622737539 527985132 651109313 710730165 228902962 43392732 541460419 860724917 403334160 201066749 142117376 942045496 319424815 208493418 75228974 847840320 722874144 535432483 622918995 140395123 757544011 644336340 864350394 372510013 321331882 363579344 494923774 669125354 593282222 53028773 303139271 -1 177905368 914662962 197115342 914206506 791932302 491978273 211333607 298868262 590138438 319424815 302277738 156929061 508037594 318110611 49212342 211333607 985045640 346188490 238951985 763856958 681690682 329542777 555828167 854398124 753145692 155906400 764751417 325287502 456487084 418807544 461649452 863667577 741463146 681690682 591284702 784597145 2433982 127278512 275463593 305936785 102379477 110012494 456401701 96109344 167036027 414918047 750769230 750429264 582861386 334677549 459789430 579783784 729941138 691214891 663667470 830162158 804352169 782619049 709403855 384604556 205644911 95779603 538432928 635671105 590603969 268947673 828722364 11796756 638076633 408244002 11796756 453407680 811841566 74820195 392826688 174295016 11796756 984182750 746419439 79097209 115470851 188196698 432504521 562309509 722874144 914206506 833246783 447434673 130580 358362276 13841075 834500260 891573253 66483968 965067805 323513395 680666684 471865558 162425880 721120553 428413005 563823514 115470851 281598862 298868262 403334160 712694937 988919874 199770581 138790019 982693874 908463563 538432928 485683712 28416726 660639438 114396999 431837446 903297209 603690869 713199217 980936845 719457202 462383923 769854437 758575350 491978273 43392732 782619049 697184458 507142051 801169129 416739210 708274346 271708247 358362276 377651896 21873594 53028773 992563691 670979891 490142300 234968285 669655791 656206261 859930182 767047665 473150723 357329820 710730165 634536293 641205608 852837035 237773442 485683712 368935143 976942240 29272319 107808575 499941413 268947673 77564723 373771611 618312173 77564723 428413005 865880334 731745766 561553313 973579758 580884227 763281688 260946873 665446719 777440440 237773442 753145692 461649452 791932302 303139271 868211619 507142051 563732029 270206207 265395517 250810872 175144765 262575582 989696303 411907778 84062198 70161655 79097209 655834254 602811046 950862675 244883660 769854437 217928587 421927353 645276436 897789362 191697350 717390689 961821360 623188968 420425052 628220249 452820542 265395517 96109344 7545447 70161655 850351456 893860727 135519629 199386661 335743200 834500260 36050763 604148770 977619929 520011864 203580162 697184458 494950691 880446976 232531633 14405655 596943234 819523467 858159813 757544011 647427996 378610966 997299598 254528769 661932839 699856917 237773442 726776295 683531283 386935154 42277380 522063456 408497768 565554630 697184458 211550817 823933296 768744535 2433982 789404113 935910737 590603969 363579344 861115508 488751710 265395517 345102555 670408229 691504106 901803305 330785266 543006155 251692591 -1 883564101 770847694 149830598 307476694 626837013 92112290 692204091 416756465 54164180 171221433 -1 823787812 745215401 579690895 208493418 234968285 168494769 817331802 229405480 79323336 880446976 161017478 231771136 381881872 508037594 722874144 538432928 386381016 500268473 46945925 782619049 462383923 675786233 464037621 475822349 433114786 7545447 206014003 726776295 935910737 156929061 702444538 626807589 748526814 470803824 491294665 614297261 894991717 163789960 567600315 357329820 999101537 470803824 214924123 57801759 349032071 830544982 807648187 731745766 29272319 578238211 214924123 295805912 622737539 127278512 897789362 471865558 831985335 431837446 711503207 114396999 618312173 46410909 595427792 368935143 842306692 344240078 365407761 774149146 26905429 408497768 295805912 456863895 786075537 490142300 656489207 974521569 155376172 213926602 610895287 14405655 817693389 649175882 549323513 206014003 660738659 413843857 306854073 441949925 578238211 384604556 254756796 590603969 19140171 228902962 817331802 721120553 830162158 79323336 199770581 79213361 525617132 838379139 721867658 456401701 107808575 228137178 927530478 777440440 527985132 626837013 274831438 70161655 344240078 942384956 28416726 273365488 914206506 175554418 859930182 135519629 53028773 893860727 850351456 378409769 458547544 789495739 244155041 939946968 685423362 211333607 26375227 182429059 663946492 609637013 659932705 206014003 480210823 306767836 867723620 308705211 28416726 664490073 203493552 194126353 468199498 602915291 867933639 399202754 541460419 308232133 535432483 728492414 880665324 722874144 321467204 999101537 533560917 39885396 352607876 420342620 997299598 850351456 691214891 149052945 245677831 790809628 -1 701070480 291386915 966503495 94630229 447434673 244883660 248636995 -1 418807544 708274346 94630229 623090438 939946968 614297261 614459776 306767836 97299507 284696682 398981201 662235717 327789615 847840320 834500260 -1 67592009 842306692 785376602 890844482 159056677 975269268 41260287 26375227 268947673 110556435 880446976 669742991 766504018 763183908 265395517 87162480 885077908 211070558 880844104 428413005 466034328 211362614 849035201 355756362 586392635 666590606 425469326 822261941 939946968 424697572 942045496 634983639 481127177 842871738 368779111 355756362 865880334 867933639 610932880 522063456 596367148 79323336 11796756 774149146 149830598 491543933 902419092 551345512 627376276 321467204 420342620 426480224 965993467 348123399 663667470 77564723 935910737 628220249 303139271 352508141 663946492 47116225 885164572 881489135 710730165 647427996 88469907 123550994 500268473 54153332 965993467 748186132 984117471 214924123 214924123 250810872 84062198 564190579 505655512 788878491 372910848 239254051 485683712 823933296 465892383 198628726 363457997 937638157 790909002 867933639 981763217 644187365 480210823 435984127 56105859 57801759 -1 756425389 647427996 624015614 254756796 712694937 901304975 958339854 761888635 475822349 346188490 109891495 55517047 321331882 705622548 216195055 301334993 740364356 580884227 346188490 721120553 849035201 46410909 748526814 910794274 885164572 399202754 742174392 668250239 726124644 146197290 595427792 937638157 726776295 958339854 284387166 795730704 982581137 239254051 55517047 709403855 624015614 53028773 771459106 281083465 989696303 622918995 817693389 859962837 475822349 622823007 531136661 664490073 683489839 784371166 53028773 115470851 614459776 162425880 92102199 268947673 543122079 614593757 953838288 411907778 974448855 372910848 416739210 779829204 -1 765954927 160366715 406430184 686385319 790809628 357329820 443342808 192251969 312308223 74820195 992563691 29592557 620059513 723933984 475822349 211333607 831985335 942627653 67075526 411999902 822261941 438872920 465892383 986331373 661932839 669125354 634536293 491978273 386935154 639572212 79323336 469743398 977467597 847840320 198628726 705118513 363811064 966503495 238442797 250810872 645695407 416756465 660738659 81866966 422331486 95443860 454563819 433756914 43392732 49212342 452820542 864350394 32466209 239987054 38372578 373683372 634983639 321331882 206014003 568090820 857102413 817693389 417425319 861115508 87162480 647290016 28576479 982693874 542661640 321467204 591700510 953838288 484471406 907456227 763183908 814490763 655834254 524542574 18794770 115639466 461274569 416756465 197115342 234968285 -1 769854437 165753 312308223 232018015 590138438 580884227 885164572 667169560 903297209 761021239 526755095 206287347 308705211 318110611 332773543 444874800 676709331 939946968 734712823 327789615 358191652 140395123 641205608 239987054 2433982 512615132 645695407 871898006 867723620 871898006 575541534 800463769 215802236 675786233 800463769 690863334 782927012 827132364 38372578 333772685 114396999 163789960 681690682 660639438 834500260 726776295 13841075 154693260 55517047 848715178 117347524 471865558 21873594 372910848 72263116 579783784 939563959 992563691 982693874 155997760 568090820 568090820 111985669 569422962 946112218 159647580 522063456 72621546 325845006 726124644 904818318 329574367 107596959 567600315 685423362 329574367 637964511 593282222 957643716 520011864 520011864 997432376 939563959 245677831 690664050 112302971 63562141 408497768 771459106 739554266 647290016 97299507 84062198 219896364 456487084 613084013 79097209 833246783 891573253 216195055 789404113 231771136 740364356 628220249 363579344 29592557 580283317 830544982 63243152 175590565 518109595 836680980 593282222 721120553 723200871 688597242 800463769 46011383 458547544 656206261 968396048 728492414 850636024 823933296 206287347 217928587 923159887 456401701 244883660 620059513 112302971 346394348 12903603 365407761 433439854 764751417 638011115 771459106 94630229 470690645 880938198 234968285 189854783 352607876 451474906 223030820 828722364 437863021 768744535 543006155 782594982 107596959 682038125 891436447 406430184 213926602 12903603 336688564 608724072 609637013 329959527 667169560 686385319 639572212 321331882 897789362 123550994 910794274 465892383 92102199 495241145 29272319 686649778 12903603 710730165 690664050 769854437 336862767 668250239 130431610 922171930 484471406 175144765 614593757 17012234 296417374 67075526 122067182 34030354 -1 663307073 966561320 254756796 739554266 610069705 668250239 730909832 712694937 117347524 110556435 842871738 149830598 337458711 260307180 638293140 849123482 659932705 770278321 42277380 155997760 41524303 270206207 223785502 234968285 365035648 448707988 709403855 422331486 468199498 138790019 349032071 880665324 669655791 473150723 942627653 327982936 59706771 183843307 750769230 699856917 512615132 319424815 425469326 723200871 254167164 633637325 438872920 668281990 167036027 217928587 232018015 842871738 523542917 60978603 763856958 846213413 568090820 891436447 330785266 769837665 582319429 864350394 182429059 586392635 319424815 265395517 559785274 444874800 -1 984117471 293155218 658388576 599555786 495336832 45426260 433348815 542986495 18299476 845459462 431837446 232531633 817693389 751316591 525617132 789495739 34584857 495241145 746419439 950862675 966503495 368779111 188196698 146171038 897789362 199770581 215802236 348123399 563732029 914291169 790909002 622823007 321331882 92160628 67592009 296417374 961821360 367754743 740364356 740224085 385144989 471865558 881489135 721867658 339350524 722874144 303139271 549323513 77564723 602915291 937638157 770847694 830162158 199770581 728492414 318110611 943374902 319424815 568090820 301714930 982581137 753145692 873072247 302277738 885077908 817331802 531136661 408497768 763856958 908463563 633637325 669125354 4610166 211550817 275463593 163789960 -1 560556517 464037621 512615132 413494386 543122079 162425880 760593154 469035792 432069691 939563959 53028773 705622548 228137178 263798126 618312173 189854783 247165890 871898006 997432376 461649452 582861386 307476694 923159887 177905368 974448855 767047665 399202754 609637013 209977170 330318834 -1 867933639 774149146 848715178 769854437 700120477 721867658 130580 355756362 613084013 456401701 832364259 907772025 771459106 198628726 770847694 197115342 381881872 183843307 244883660 663667470 644336340 801402068 171221433 559785274 213926602 167036027 660040051 763183908 490869221 295958449 77299524 984117471 726124644 19140171 435984127 260307180 127278512 881489135 130580 645276436 588150191 828722364 885164572 433439854 801169129 263636646 937633254 745215401 577714620 922171930 667841561 980936845 579991057 953838288 890844482 260307180 836680980 468107571 470690645 372510013 49208976 59501988 859962837 832364259 930790502 660040051 542661640 572589546 885164572 216195055 937633254 914291169 560455121 659501910 345102555 86361620 169614935 582861386 155997760 209977170 407009263 352607876 675573324 849123482 912506727 563675995 897789362 995194212 111122929 432504521 306767836 842306692 750429264 114396999 942297502 293155218 448707988 363579344 991067365 155906400 229405480 864561721 659501910 149052945 568090820 624015614 276260520 679521131 171504845 59501988 234968285 572311287 823933296 514721585 731936598 846213413 79323336 590138438 623090438 722874144 296417374 527985132 574924220 760624728 790909002 553190572 395983136 198703751 980936845 559785274 28416726 699856917 321331882 88469907 456401701 774149146 661932839 54153332 -1 729178187 937633254 67075526 914662962 284700142 722672739 795730704 974521569 817693389 32466209 672907310 991067365 72643683 491294665 817693389 916738849 305936785 659932705 392826688 729178187 79097209 181721636 867723620 113804160 858159813 745215401 602915291 748186132 634536293 966503495 632336991 665446719 338370105 406483013 420342620 17012234 673965031 500268473 541460419 595427792 12903603 977619929 914662962 11796756 175884183 722672739 799467751 734712823 916321789 298868262 758575350 74820195 987705926 977467597 107808575 850101344 881489135 638011115 995194212 620059513 495241145 416756465 332773543 67592009 668281990 541463939 271516194 113804160 559785274 527985132 569422962 628984381 663946492 355756362 19140171 562288215 248636995 627561325 596943234 626837013 760624728 448316745 891573253 243341711 175884183 828722364 462383923 864561721 705622548 135519629 572589546 238951985 811841566 54153332 373771611 461649452 41260287 645695407 980936845 19140171 582319429 560814638 974448855 707186544 670408229 750769230 604148770 692204091 631700842 284387166 683489839 626837013 73453883 935910737 444874800 116545387 296417374 197307546 774149146 660639438 408497768 645276436 880665324 373683372 214924123 275610416 662235717 263798126 398981201 890844482 329542777 325287502 742174392 358362276 484471406 265395517 610932880 63243152 943374902 424146759 845459462 469384372 795730704 746419439 740224085 662235717 610069705 849123482 845459462 622737539 469743398 2433982 894991717 566096351 519762398 976942240 689897360 578238211 26375227 335743200 201066749 976942240 494950691 726776295 66483968 879954113 75228974 859930182 451474906 914206506 588150191 214924123 832364259 321467204 562288215 535432483 29734308 229515163 333260763 637964511 890844482 532861718 801326287 763856958 942297502 130580 867933639 182659876 669742991 116545387 53590481 130431610 175884183 329542777 512615132 329959527 421927353 56105859 488751710 670979891 559785274 860724917 295504204 207023050 812752908 18299476 750156197 817693389 113811391 -1 110012494 562288215 399202754 312308223 203580162 340301060 494751627 284696682 199770581 34030354 19140171 788878491 274831438 338370105 468107571 110556435 923159887 373771611 241693686 665446719 75228974 861383306 275610416 901304975 769854437 595427792 42277380 406568384 785376602 327789615 107596959 437863021 916738849 569422962 214317232 807262913 729941138 998120269 882812597 533367205 66483968 873072247 686865014 288542157 26375227 281598862 325287502 63243152 182659876 378610966 627376276 367754743 154693260 520086201 542986495 330583346 21873594 807262913 145847415 79323336 937638157 780117964 549323513 633637325 667300705 596943234 604148770 665446719 248636995 656489207 685097645 495336832 297175900 766504018 164542502 92160628 561553313 659932705 79097209 338370105 456487084 67075526 691740164 658388576 149830598 582861386 468107571 980134651 819523467 16475116 34030354 111985669 880844104 330785266 541463939 192251969 45426260 942297502 276260520 33812208 239254051 113811391 658212287 175884183 73453883 115639466 161017478 466034328 352508141 707186544 660639438 444874800 339350524 88469907 603620710 358191652 608724072 33812208 223785502 345072009 494751627 765137854 284859244 680666684 623090438 274831438 32796250 538432928 127278512 433114786 352508141 165622114 716182336 381881872 512615132 59706771 688597242 223785502 842871738 601762202 175554418 238951985 379213018 481127177 205644911 211070558 938914563 308232133 122067182 485683712 379109457 146171038 902419092 454563819 127278512 596943234 411999902 762227828 554782737 647911422 70161655 867723620 456863895 239254051 494950691 763856958 741339101 363811064 766504018 591284702 245677831 137132982 399202754 22576092 614297261 453407680 395983136 319379178 627561325 363811064 890844482 378409769 693375965 352607876 560556517 4610166 891436447 823787812 468199498 691214891 486307671 688380735 384604556 63562141 675573324 411907778 484471406 344240078 719457202 72263116 163983150 206287347 999101537 378409769 239254051 669125354 156929061 984895249 789404113 745215401 458547544 861115508 140395123 628220249 95443860 86256730 723200871 433756914 1713096 697374453 437517579 163789960 690863334 174295016 633637325 639572212 542986495 78898063 637964511 721120553 391779414 123550994 852782081 593587398 100130908 425469326 26537314 849123482 645695407 444874800 416756465 211333607 553190572 828722364 448316745 175884183 111985669 336688564 880665324 365679164 894267291 43392732 823933296 561553313 290604263 942627653 182429059 94630229 569422962 355126439 209977170 937633254 365407761 122067182 850101344 965993467 338370105 332773543 426480224 711501588 811841566 658388576 815472010 495241145 29287119 627376276 349772488 220059095 627589268 686385319 167036027 942627653 832364259 532861718 667841561 32796250 622918995 703311448 586392635 466034328 880844104 486307671 590138438 938914563 977619929 927530478 21873594 577714620 923159887 411907778 883564101 79323336 716182336 181721636 355126439 149052945 676685933 689608865 751316591 79213361 579991057 53590481 632336991 507969865 500268473 472407762 137132982 214924123 537867109 626807589 413494386 716182336 523542917 175554418 494751627 46410909 541463939 358191652 988919874 469384372 308232133 219896364 3090244 21873594 480210823 857269083 676685933 522063456 73525554 53028773 92102199 466852129 183843307 169614935 199770581 70161655 764751417 56105859 84062198 710113373 579783784 995194212 559785274 63243152 683489839 165622114 -1 -1 908705907 211362614 46011383 352508141 424146759 970265761 670408229 432504521 21873594 281598862 306854073 206014003 683531283 438872920 627376276 845459462 695553778 155997760 679670176 470803824 182659876 284700142 849035201 603690869 247165890 610069705 986331373 491978273 220059095 243995015 682038125 923159887 421927353 670408229 914662962 860724917 613084013 219896364 707186544 901803305 638293140 927530478 850101344 274831438 270206207 145847415 770680522 358362276 861383306 704672739 122896725 112624754 722672739 232018015 262575582 329574367 572311287 669655791 323513395 868838278 354949635 213926602 569422962 697184458 29592557 785247749 476084224 437863021 711501588 542661640 635671105 569422962 244155041 451474906 627561325 229515163 658388576 274831438 87162480 769837665 627561325 637964511 198016418 940104206 627589268 514721585 520011864 627376276 198703751 729352677 355126439 980936845 275610416 836680980 622918995 428747955 378409769 860724917 880938198 885077908 731745766 675573324 49212342 780117964 163789960 867723620 161017478 338370105 403334160 169614935 867933639 238442797 365679164 644187365 248636995 980134651 628984381 563823514 828722364 942045496 260307180 673965031 306854073 49212342 167415720 939563959 566034579 495241145 590783394 457715535 325845006 107808575 691740164 368704535 859063396 72643683 26537314 73453883 883564101 167036027 563732029 774149146 891436447 182026506 46011383 627376276 284859244 112624754 457715535 724422672 822261941 719457202 897789362 561553313 588150191 739554266 333772685 113804160 753145692 748526814 74820195 72263116 645695407 819523467 63562141 495712606 183843307 762227828 762227828 791183444 154693260 560637528 72643683 13841075 531136661 78898063 411907778 590603969 979285058 893860727 894991717 578238211 935910737 769545495 175884183 697374453 228137178 512615132 159647580 373683372 228137178 425469326 697374453 461649452 462383923 246216644 81866966 254528769 999674172 219896364 427675535 301714930 273365488 847840320 758575350 485683712 355126439 368779111 626807589 762227828 140395123 413494386 339350524 325287502 667169560 47116225 525617132 656206261 468107571 298868262 140113105 785247749 -1 662235717 234968285 406717194 428747955 740364356 659932705 295504204 685423362 348123399 765954927 591284702 688597242 623090438 742174392 468199498 580283317 130580 758575350 182026506 464037621 182659876 655834254 764751417 78898063 903297209 327789615 610932880 428747955 512615132 991067365 560637528 939563959 159056677 541463939 384604556 177905368 296417374 11796756 784371166 400907045 703311448 864561721 760593154 709403855 705118513 930790502 638011115 363457997 982554231 691740164 352508141 641164921 538432928 197115342 357329820 422331486 997299598 774149146 632336991 592274818 367754743 604148770 171221433 72643683 203580162 246216644 188196698 375673341 495241145 377651896 115470851 967987535 355756362 -1 832364259 452820542 569422962 63243152 95779603 838379139 592274818 734712823 610613670 344240078 113811391 122896725 908705907 888304663 807262913 451474906 486307671 627589268 398981201 683489839 118534662 378409769 603620710 7545447 751964866 386381016 470690645 703311448 70161655 647427996 29734308 91064641 92160628 658388576 246216644 731936598 575541534 123550994 726776295 321331882 891436447 290604263 592274818 345102555 957144144 563732029 658212287 909186692 216195055 568090820 982581137 799467751 378610966 548806448 578238211 690863334 675573324 688597242 387384744 60081926 590138438 115639466 264549124 47116225 29592557 387518405 471865558 618312173 411907778 967987535 580470806 627376276 34685076 246216644 745924515 626807589 393835525 785866095 695553778 175144765 291386915 354949635 859063396 163789960 46485154 563823514 163091630 16475116 263798126 36050763 559785274 84062198 462383923 408244002 495712606 345102555 659932705 174295016 692204091 306767836 909186692 7545447 175884183 494751627 43897314 560455121 891573253 330583346 989696303 219896364 199386661 789495739 780117964 935910737 -1 1713096 986331373 982693874 756425389 769545495 977619929 155997760 244155041 372510013 784597145 219896364 555828167 486307671 433348815 348123399 790809628 386381016 919585635 119601349 531136661 111985669 248636995 765954927 155376172 117347524 332773543 894991717 527897224 730824918 208493418 481127177 417425319 788878491 751964866 13841075 43392732 127278512 938914563 679670176 -1 626837013 893652215 660738659 254756796 681690682 834500260 406430184 575485118 647427996 859930182 823933296 456863895 701070480 555828167 433348815 807648187 680666684 660639438 670408229 758575350 333772685 691504106 638293140 407009263 753145692 373771611 46011383 675786233 939563959 765954927 689608865 741339101 451474906 480210823 352607876 175144765 760593154 363579344 288628682 970265761 582319429 146197290 541460419 634536293 165753 406430184 567600315 254528769 406483013 167036027 494950691 160366715 -1 541460419 786892734 951926549 679275202 349772488 784371166 572589546 142117376 55517047 373683372 909186692 830544982 697374453 146171038 138533159 569422962 250810872 339350524 297175900 38372578 358191652 415965469 480210823 406483013 675573324 91064641 228902962 115639466 379213018 594204193 330583346 702444538 36050763 407009263 46945925 13384724 574924220 137132982 67592009 84062198 842871738 448316745 251692591 914662962 165622114 560455121 -1 560556517 57551192 865880334 670408229 688597242 950862675 523542917 770680522 690664050 718229961 582861386 531136661 198628726 763856958 656489207 97299507 680666684 663667470 670408229 411907778 418807544 716182336 288542157 18794770 992563691 60081926 334677549 42277380 741339101 280856350 63210631 722874144 -1 914291169 476084224 495712606 830162158 728357838 567416830 823933296 155906400 60744503 767047665 87162480 705118513 901803305 965993467 681690682 448316745 29592557 572311287 13841075 319379178 623090438 468107571 206287347 46485154 -1 965067805 850351456 201066749 494950691 365035648 174295016 762227828 168494769 823787812 18299476 725418770 295805912 622823007 938446553 721120553 894267291 197115342 893860727 475822349 790909002 335743200 999101537 182659876 422331486 579991057 495241145 7545447 691504106 711501588 223785502 670408229 590138438 763281688 965067805 462383923 613084013 627376276 891436447 676709331 512615132 229821643 457715535 408497768 676709331 318110611 942627653 248636995 368704535 32466209 722874144 658388576 49212342 664295306 260946873 112302971 22576092 767047665 563823514 728492414 284696682 325845006 882812597 660040051 159647580 786969334 86256730 668281990 468107571 910994573 631700842 374972287 182429059 561494895 146171038 457715535 721867658 761888635 29287119 833246783 117347524 951926549 761021239 488751710 656489207 358191652 703311448 977619929 73453883 264549124 745215401 146197290 901803305 339350524 146171038 155906400 560637528 567600315 293155218 232531633 668281990 451474906 761021239 647290016 638011115 859930182 461274569 659501910 765954927 830994144 596943234 379109457 771459106 604148770 785247749 17012234 317871021 999674172 392826688 620059513 395983136 718577411 22393976 349772488 469384372 395983136 760593154 416756465 993786079 938914563 861115508 623188968 469384372 476084224 262575582 722672739 373771611 679275202 725418770 814490763 660738659 603690869 919585635 203018461 401672699 689897360 721120553 262575582 658388576 817331802 333260763 603690869 28576479 448707988 624015614 431837446 29287119 199770581 867933639 495241145 565554630 39885396 160366715 716182336 392826688 902419092 818014838 469384372 213926602 832364259 77299524 333772685 421927353 425469326 847840320 637964511 683531283 46410909 830162158 453407680 832364259 757544011 527897224 689608865 260946873 920219729 693375965 377651896 968396048 63210631 229515163 935910737 348123399 32466209 495712606 488751710 574417829 433114786 239987054 861115508 472407762 130580 939563959 140113105 756425389 406717194 916321789 199386661 349772488 321467204 206644601 854062217 336862767 243995015 850351456 960643177 284696682 868211619 593587398 295805912 950862675 317871021 247165890 115639466 130580 560637528 535432483 286319692 763183908 79097209 519762398 849035201 123550994 41260287 740364356 753145692 223785502 296417374 365407761 122896725 641164921 330785266 891573253 47116225 742174392 770680522 817331802 375673341 966561320 22576092 852782081 861115508 427618367 507142051 244195221 823787812 765954927 770847694 701070480 312308223 113804160 560814638 729178187 893897082 660040051 565554630 415965469 854398124 491294665 194126353 149052945 452820542 114396999 951926549 593587398 13384724 979285058 491978273 491543933 599555786 634983639 87162480 541460419 107596959 109891495 549323513 303139271 985045640 206014003 938954818 296417374 325287502 784371166 675573324 670979891 206644601 770680522 345072009 769837665 86361620 967987535 354949635 283107224 705118513 201066749 823787812 645695407 468199498 333772685 281083465 71713295 77299524 639572212 92102199 60978603 807648187 893652215 470803824 779829204 833220245 762227828 623188968 175144765 668250239 751316591 59706771 433439854 746419439 197307546 325287502 34030354 729941138 346188490 47116225 525617132 448316745 722672739 634983639 209977170 33812208 462383923 323513395 717390689 29734308 780117964 885164572 -1 -1 488751710 223030820 560455121 111985669 491294665 871898006 286319692 415965469 244155041 162425880 433114786 769545495 295958449 599555786 527985132 623090438 211362614 801326287 251692591 768744535 -1 997299598 78898063 327982936 53028773 656489207 46945925 46410909 251692591 554782737 428747955 165622114 637964511 -1 503810504 817693389 41260287 882812597 561494895 750769230 481127177 575541534 691740164 494751627 386935154 580884227 327982936 914662962 374972287 301714930 690863334 295805912 562309509 830994144 712694937 293155218 893897082 488751710 -1 43392732 79323336 188196698 491294665 330785266 749101296 579690895 408244002 407009263 867933639 795730704 763856958 551345512 894267291 70161655 742174392 378409769 542986495 683489839 638011115 524542574 169614935 458547544 729352677 845459462 627561325 763281688 579690895 138533159 730756715 686865014 446355059 665446719 939946968 329542777 634983639 79323336 205644911 970265761 465892383 91064641 891436447 908463563 613084013 470803824 163091630 57551192 989747990 100130908 470690645 854398124 761021239 161017478 688597242 602915291 406430184 750156197 480210823 260946873 171221433 704672739 348123399 -1 923159887 718577411 718229961 437517579 344240078 228137178 685097645 420342620 138790019 922220234 560814638 789495739 604148770 704672739 563823514 485683712 543122079 836680980 3090244 495241145 448707988 18404492 308232133 372510013 891436447 29287119 538432928 22576092 880844104 318110611 312308223 614459776 580884227 634983639 522063456 26537314 270206207 469035792 729352677 252012472 365035648 490142300 748526814 288542157 358362276 271708247 910794274 804352169 29592557 339350524 411999902 293155218 368779111 197115342 574417829 298868262 647427996 4610166 448316745 113811391 702444538 817693389 705622548 499941413 922171930 -1 475822349 453407680 296417374 717390689 37081879 165622114 417425319 507142051 471865558 845211351 665446719 728357838 140113105 667841561 763281688 938914563 219896364 393835525 284700142 203018461 344240078 92102199 46485154 223785502 562288215 745924515 644336340 784371166 520086201 717390689 365679164 951926549 790809628 831985335 60081926 468107571 156929061 86256730 974521569 716182336 86361620 392826688 112302971 680666684 594204193 580283317 155376172 984182750 286319692 750763843 572311287 181721636 518109595 989747990 337458711 271516194 406483013 208028672 387518405 138533159 858159813 998120269 532803555 155376172 167036027 456487084 688597242 400907045 115639466 367754743 638076633 679521131 22576092 682038125 138790019 834500260 399202754 842306692 885077908 590783394 379213018 208028672 641164921 358191652 626837013 995194212 991188064 73453883 490142300 953838288 203493552 612885490 763183908 910994573 271516194 712694937 63243152 664295306 63243152 637964511 859063396 437863021 57551192 491294665 763856958 916321789 406483013 454563819 -1 579783784 73453883 337458711 453407680 79097209 149830598 206014003 72621546 475822349 668281990 518109595 751964866 127278512 719457202 247165890 3090244 780117964 63210631 567416830 979285058 711503207 469035792 32466209 857102413 858159813 78898063 339350524 216195055 111122929 667169560 345102555 452820542 823787812 358362276 130580 667169560 848715178 97299507 981763217 818974853 251692591 318110611 987705926 871898006 519762398 741463146 13841075 608724072 937633254 832494905 254167164 319424815 833220245 174295016 46410909 766504018 664295306 426480224 239987054 341012648 910794274 494751627 564190579 155906400 974448855 561553313 456487084 217928587 728357838 46485154 32796250 42277380 764751417 379109457 690664050 820211254 457715535 335743200 533367205 368704535 567600315 -1 939563959 533367205 140113105 171221433 415965469 649175882 785376602 321331882 938914563 28576479 490869221 207023050 986331373 711503207 34030354 72794624 768744535 726776295 472516679 614593757 288542157 346188490 433348815 779829204 562288215 475822349 514721585 239987054 703311448 84208996 692204091 -1 991067365 247165890 308705211 372910848 192251969 100130908 777440440 633637325 561553313 473150723 614459776 731936598 726124644 590603969 850636024 785247749 244155041 639572212 56105859 114396999 77564723 575485118 149052945 495336832 804352169 554782737 579690895 663667470 53028773 890844482 942297502 110556435 239987054 543122079 358191652 29287119 107839247 986331373 167415720 22393976 276260520 130431610 791183444 241693686 723933984 760624728 549323513 268947673 337458711 610613670 879954113 28416726 462383923 603620710 885077908 424697572 861208333 833220245 795730704 182659876 938914563 520011864 645276436 480210823 155997760 531136661 408244002 296417374 692204091 238442797 897789362 680666684 348123399 109891495 795730704 890844482 232531633 634536293 301334993 321467204 77564723 695553778 852782081 700120477 627589268 718577411 863278761 107808575 149830598 127278512 295958449 711501588 989747990 553190572 408244002 374972287 610895287 586985028 458547544 358362276 850351456 338370105 566096351 476084224 691214891 535432483 14405655 12903603 386381016 910794274 619868736 194126353 340301060 427618367 922220234 45426260 485683712 407009263 919585635 880938198 833220245 254528769 979285058 308705211 564190579 663946492 691214891 799467751 612885490 116545387 246216644 985045640 989747990 352508141 401672699 567416830 408244002 86256730 53590481 922171930 49212342 551345512 664490073 77564723 206287347 123550994 420773560 -1 699856917 372510013 812752908 34584857 641205608 710113373 352508141 389956215 745215401 325287502 297133830 453407680 381881872 288628682 938446553 596943234 167036027 232018015 208493418 719457202 -1 457715535 81866966 46485154 627376276 197307546 338370105 673965031 683489839 860724917 169614935 416756465 790909002 254167164 712694937 174295016 982581137 968396048 346188490 647290016 484471406 922171930 411999902 893860727 723200871 930790502 577758652 998120269 344240078 688380735 603620710 411999902 503810504 155906400 679275202 690664050 377651896 438872920 274831438 745215401 827132364 782594982 647290016 57801759 686649778 800463769 685097645 201066749 603690869 28576479 670979891 119601349 682038125 386381016 47116225 -1 43392732 580283317 57551192 116545387 243341711 295504204 88469907 626807589 466852129 119601349 268947673 914206506 181721636 241693686 284700142 339350524 942297502 807820896 29272319 22393976 260307180 590783394 424697572 690863334 580470806 982554231 26905429 834500260 87162480 765137854 555548888 413494386 681690682 728492414 220059095 667300705 86361620 608724072 260946873 446355059 94630229 434526689 448707988 543006155 537867109 563675995 317871021 446355059 620059513 919585635 982581137 967987535 507969865 644336340 520011864 456401701 708274346 647427996 512615132 697184458 135519629 709403855 725418770 477076784 527897224 992563691 580283317 183843307 433114786 41524303 59501988 86361620 -1 790809628 290604263 229821643 850101344 127278512 308232133 338370105 232018015 769854437 575541534 329959527 563823514 846213413 586392635 765137854 861383306 349032071 491978273 980134651 622737539 849123482 352607876 174295016 188196698 37081879 175590565 406483013 819963767 647290016 644336340 757544011 363579344 207023050 518109595 681823792 951926549 146197290 859063396 966503495 372910848 264549124 532861718 541463939 63210631 245677831 254528769 688597242 446355059 434526689 11796756 234968285 198016418 845459462 477076784 774149146 130431610 4610166 721867658 110012494 338370105 416739210 882812597 811841566 22393976 162425880 709403855 420342620 368935143 79213361 252012472 495336832 284700142 848715178 897789362 406717194 290604263 110556435 590783394 403334160 663667470 469035792 303139271 580283317 239254051 559785274 609637013 667169560 602811046 591284702 386381016 880938198 649175882 602915291 -1 275463593 689608865 41260287 363579344 95779603 386381016 830162158 466852129 957643716 416756465 393835525 953838288 632336991 57801759 942297502 47116225 116545387 845211351 159647580 177905368 697374453 679275202 658212287 466852129 919585635 689608865 774149146 859930182 579991057 830994144 681823792 909186692 559785274 923159887 564190579 624015614 789404113 741339101 165622114 993786079 283107224 244155041 345102555 470803824 537867109 586392635 622918995 4610166 392826688 -1 245677831 991067365 254167164 260307180 428747955 730909832 888304663 137132982 321467204 352607876 329574367 789404113 609637013 603690869 476084224 614593757 441949925 238951985 746419439 159647580 768744535 386935154 378610966 543006155 865880334 37081879 243341711 713199217 461274569 891436447 779829204 728492414 888304663 363579344 484471406 871898006 220059095 820211254 679275202 211362614 413494386 951926549 63243152 901803305 117303447 854398124 669655791 562288215 332773543 336688564 942297502 182659876 730909832 820211254 303139271 543122079 334677549 854062217 355126439 92112290 626807589 730824918 641205608 935910737 386935154 43392732 437517579 943374902 284696682 395983136 206644601 667300705 661932839 883564101 507969865 881489135 784371166 254756796 348123399 254756796 77299524 451474906 651109313 626837013 977467597 130431610 168494769 582861386 485683712 365407761 723200871 731745766 588150191 716182336 788878491 489295045 520011864 461274569 958339854 117303447 86256730 525617132 845459462 894267291 73453883 852782081 724422672 214317232 263636646 415965469 782594982 117303447 680666684 807648187 122067182 683489839 26537314 750769230 239987054 746419439 741339101 729178187 60978603 92112290 729941138 428747955 919585635 117303447 379213018 721867658 420425052 675786233 549323513 618312173 437517579 123550994 38372578 987705926 560814638 349032071 784371166 401672699 284859244 416739210 28576479 729941138 254756796 755527023 838379139 806195787 806195787 639572212 337502849 70161655 318110611 577714620 626807589 565554630 283107224 579783784 953838288 208877360 505655512 -1 593587398 664295306 275463593 34584857 372510013 406717194 838379139 567600315 600962339 284387166 588150191 525617132 897789362 330785266 208877360 433439854 32796250 699856917 991067365 263636646 41260287 940104206 91064641 626837013 208877360 922171930 618312173 741339101 422331486 263636646 989747990 424697572 381881872 779829204 880938198 982693874 940104206 791183444 301714930 155906400 663946492 149052945 880665324 782594982 367754743 254528769 329542777 251692591 495241145 60081926 466034328 760593154 295504204 495336832 812140416 691214891 26905429 95779603 893860727 591700510 -1 229515163 468107571 211333607 748526814 668250239 699856917 992563691 386381016 38372578 634536293 238951985 46485154 22576092 734712823 979285058 111122929 39885396 135519629 198703751 782927012 84208996 329574367 367754743 110556435 54164180 724422672 203018461 574417829 163091630 666590606 957643716 491978273 857102413 672907310 566034579 427675535 688597242 470803824 291386915 563823514 229405480 669655791 223030820 -1 612885490 336862767 782619049 741463146 632336991 469384372 563732029 406483013 254528769 138790019 165753 779829204 857102413 346394348 334677549 122067182 470803824 213926602 446355059 111985669 228137178 658212287 985045640 627561325 86361620 37081879 469743398 668250239 422331486 107596959 660639438 468199498 729941138 982581137 427675535 724422672 2433982 137132982 79323336 586985028 36050763 183843307 563823514 -1 372510013 662235717 117303447 850101344 560637528 885164572 967987535 507142051 271708247 238442797 968396048 211333607 344240078 987705926 174295016 411907778 800463769 137132982 424146759 681690682 560556517 685097645 63243152 613084013 779829204 46410909 689608865 961821360 457715535 461649452 791932302 213926602 574924220 156929061 399202754 461274569 745924515 368764047 319424815 110012494 966561320 12903603 94630229 77299524 150137560 668250239 986331373 812140416 741339101 345102555 628220249 893860727 692204091 422331486 7545447 672907310 631700842 17012234 985045640 922171930 812140416 757544011 368704535 345072009 271708247 175590565 767047665 249558965 601762202 188196698 378409769 181721636 28416726 49208976 791183444 532803555 522063456 832494905 305936785 264549124 854062217 37724537 403334160 769545495 79097209 975269268 532803555 79097209 372910848 295504204 982554231 229821643 365035648 339350524 223785502 109891495 991067365 686385319 628220249 100130908 74820195 183843307 223785502 726776295 229515163 14405655 565554630 623090438 719457202 -1 335890204 535432483 930790502 822261941 117303447 580884227 18794770 575541534 689608865 831985335 323513395 146197290 288542157 768744535 46485154 29734308 393835525 852782081 940104206 833220245 842306692 189854783 431837446 554782737 755527023 593282222 922220234 422331486 601762202 979580407 273365488 29592557 113811391 859962837 723200871 610613670 849123482 74820195 288542157 689608865 883564101 651109313 785376602 243341711 368704535 477076784 -1 788878491 560814638 914662962 782927012 53590481 132774876 723200871 791932302 728492414 295504204 555548888 885164572 337502849 26375227 211070558 599555786 578238211 403334160 799467751 243341711 7545447 800463769 942384956 688380735 283107224 865880334 984182750 232018015 244155041 191697350 741339101 774149146 203018461 365679164 745215401 867933639 943374902 155997760 393835525 86361620 786892734 690664050 927530478 111985669 454563819 912506727 1713096 664490073 566034579 280856350 270206207 563823514 319379178 374972287 246216644 519762398 433439854 739554266 46410909 861208333 860724917 137132982 81866966 989696303 979285058 586985028 655834254 599555786 920219729 608724072 183843307 489295045 491294665 384604556 365679164 175144765 564190579 973579758 705118513 571736161 461649452 14405655 937638157 807262913 32796250 891436447 211362614 424146759 725418770 977467597 881489135 891436447 199770581 538432928 428747955 868211619 868211619 437863021 946112218 542986495 114396999 18299476 175884183 985045640 84062198 914291169 333772685 296417374 329574367 669655791 281598862 750763843 729352677 764751417 766504018 519762398 63562141 94630229 413494386 622737539 722874144 746419439 19140171 942297502 670408229 590138438 741463146 769545495 659932705 514721585 374972287 852782081 247165890 868211619 84062198 280856350 247165890 378409769 894267291 17012234 295805912 553190572 413843857 685423362 254167164 170824557 660738659 655834254 977467597 -1 560637528 245677831 34685076 21873594 223030820 600962339 950235340 685423362 780117964 647911422 789404113 241693686 381881872 710113373 622918995 623090438 427675535 435984127 572311287 167415720 100130908 572589546 424146759 864561721 284700142 769854437 155997760 692204091 981763217 842306692 79097209 863278761 961821360 756425389 679521131 451474906 284696682 386381016 368779111 414918047 564190579 907772025 982693874 308705211 761021239 555548888 481127177 599555786 871898006 386381016 -1 373771611 398981201 297133830 857269083 138790019 863278761 651109313 59706771 785247749 57606083 160366715 420773560 667841561 426480224 871898006 86256730 127278512 832364259 705118513 284859244 563823514 591700510 746419439 94630229 281598862 789495739 814490763 263798126 867723620 609637013 683489839 319379178 791932302 724422672 413843857 39885396 950629972 940104206 750769230 786075537 868838278 337502849 56105859 399202754 560455121 484471406 703311448 56105859 791932302 352607876 586392635 849123482 982693874 582861386 -1 319379178 987705926 438872920 239254051 32796250 995194212 424697572 661932839 610932880 966503495 138790019 986331373 596367148 175554418 73525554 692204091 43897314 532861718 305936785 965067805 658212287 614297261 336862767 70161655 448707988 18404492 751316591 893652215 18404492 453407680 75228974 997299598 428142800 868211619 123550994 433348815 95443860 66483968 444874800 74820195 908705907 893897082 937633254 336688564 938954818 379213018 181721636 115470851 406717194 330318834 663667470 820211254 818974853 494751627 339350524 164542502 977467597 70161655 149830598 53028773 473150723 174295016 72263116 198703751 452820542 -1 628220249 730824918 985045640 456863895 214317232 327982936 378409769 192251969 368779111 393835525 868838278 13841075 39885396 577714620 205644911 638293140 281083465 907456227 669125354 345072009 850636024 508037594 57551192 142117376 939946968 749101296 700120477 472407762 745215401 319424815 203493552 327982936 724422672 574924220 352607876 79213361 115639466 830162158 569422962 526755095 488751710 842306692 368935143 718577411 260307180 659501910 462383923 296417374 789495739 979285058 -1 741339101 655834254 206644601 216195055 859063396 63243152 979285058 197115342 500268473 14405655 297175900 271516194 109891495 385144989 295958449 297133830 815472010 751964866 451474906 207023050 593282222 723200871 169614935 807820896 582319429 846213413 420773560 987705926 472407762 602811046 686649778 718577411 453407680 724422672 22576092 325287502 780117964 365407761 970265761 211362614 639572212 939946968 244155041 626807589 745924515 433348815 274831438 406430184 453407680 428142800 337458711 457715535 73525554 645695407 297133830 26537314 893897082 614297261 658212287 782619049 73525554 603690869 295805912 780117964 367754743 246216644 679521131 385144989 149052945 201066749 406717194 741339101 163789960 275463593 428413005 319424815 950235340 192251969 717390689 296417374 577714620 346394348 95779603 634536293 712694937 879954113 541460419 138790019 914206506 967987535 950862675 608724072 470803824 859930182 691504106 53590481 228137178 907772025 86361620 205644911 308232133 363579344 191697350 63562141 87162480 150137560 406568384 791183444 542986495 109891495 28576479 665446719 603620710 163983150 77564723 661932839 679670176 43392732 767047665 782594982 77299524 739554266 164542502 682038125 541463939 113811391 476084224 208877360 891436447 107839247 828722364 107839247 777440440 571736161 399202754 700120477 149830598 381881872 980134651 880446976 578238211 765137854 861383306 406430184 686385319 784371166 433348815 832494905 686385319 495712606 95779603 408497768 656206261 624015614 63243152 283107224 -1 950862675 433439854 965993467 330318834 902419092 243995015 175144765 730756715 571736161 461649452 593282222 984895249 922220234 182429059 182429059 985045640 209977170 664295306 77564723 333260763 848715178 739554266 330785266 722672739 514721585 888304663 819523467 332773543 602811046 54164180 750156197 57551192 -1 845211351 333260763 411999902 275463593 154693260 -1 260946873 579783784 764751417 54153332 122896725 750769230 67592009 973579758 865880334 691214891 249558965 254528769 968396048 284696682 456487084 395983136 938954818 373771611 578238211 897789362 26905429 627376276 946112218 871898006 939563959 37724537 335743200 993786079 602915291 618312173 -1 213926602 297175900 87162480 622823007 368764047 982554231 622737539 769854437 690863334 937633254 755527023 198016418 175884183 480210823 146171038 811841566 462383923 469743398 767047665 281083465 485683712 263636646 237773442 627589268 852782081 175144765 188196698 488751710 525617132 87162480 335743200 175590565 446355059 638293140 37724537 414918047 160366715 234968285 604148770 329959527 718229961 669125354 94630229 857102413 749101296 818974853 649175882 150137560 254167164 711501588 297175900 610932880 658212287 385144989 149052945 548806448 927530478 610069705 729352677 464037621 7545447 882812597 686385319 250810872 819963767 507969865 46485154 873072247 814490763 623090438 860724917 408244002 365035648 750156197 891573253 298868262 391779414 755527023 622737539 243995015 468199498 828722364 894267291 420425052 201066749 850636024 372910848 729352677 319424815 950629972 880665324 135519629 284700142 880446976 634536293 791183444 -1 818829472 470690645 208493418 667841561 67592009 377651896 29272319 968396048 112302971 601762202 407009263 4610166 790809628 868211619 946112218 77564723 610932880 32796250 150137560 730909832 663307073 722672739 325845006 175590565 681690682 751964866 763281688 67075526 701070480 831985335 705118513 243341711 84208996 644187365 254528769 908463563 939563959 480210823 647911422 246216644 413494386 647911422 950629972 433439854 116545387 472407762 466852129 384604556 191697350 574924220 333260763 893897082 433756914 416756465 858159813 228137178 413843857 198628726 940104206 897789362 939946968 365679164 60978603 263636646 561553313 548806448 527985132 3090244 688597242 908463563 669125354 457715535 987705926 275610416 197307546 627589268 13384724 560556517 571736161 408244002 663667470 424697572 481127177 41524303 578238211 346188490 489295045 378409769 702444538 283107224 203493552 28576479 192251969 34584857 17012234 861115508 842871738 206014003 211333607 533367205 833246783 406430184 681823792 707186544 666590606 70161655 731936598 834500260 593587398 658212287 520011864 961821360 29287119 -1 461274569 834500260 728357838 751964866 579783784 163983150 785866095 220059095 72263116 525617132 758575350 880665324 107839247 849123482 17012234 84062198 446355059 647290016 989696303 109891495 428142800 590603969 988919874 209977170 375673341 823933296 520011864 297133830 881489135 822261941 167415720 729941138 939946968 434526689 624015614 864561721 722672739 312308223 271516194 845211351 779829204 683489839 323513395 284859244 710730165 999101537 980134651 908705907 768744535 942384956 699856917 718229961 43392732 327789615 373683372 425469326 295504204 669655791 459789430 531136661 697184458 542986495 457715535 413843857 800463769 660040051 494950691 295958449 893860727 893652215 379109457 434526689 908463563 957643716 111985669 676685933 593282222 847840320 56105859 469384372 21873594 46011383 785376602 626807589 354949635 247165890 11796756 660639438 656489207 531136661 308232133 867933639 406717194 330318834 281083465 384604556 116545387 346394348 728492414 486307671 91064641 485683712 721120553 119601349 38372578 127278512 469384372 567416830 861208333 26905429 -1 286319692 274831438 29272319 341012648 454563819 79213361 57606083 673965031 939946968 265395517 902419092 670408229 588150191 524972471 297133830 330318834 861115508 284387166 992563691 432504521 612885490 564190579 901304975 110556435 264549124 686649778 769854437 142117376 722672739 965993467 647290016 92112290 75228974 122896725 645276436 922220234 832364259 624015614 163091630 709403855 774937853 656489207 649175882 49212342 284387166 830162158 757544011 883564101 102379477 623188968 244155041 765954927 532803555 464037621 524972471 859930182 880665324 691214891 561553313 672907310 989696303 818974853 893897082 265395517 416756465 541463939 77564723 150137560 626837013 433439854 812140416 980936845 785376602 667300705 701070480 818829472 197115342 84062198 977467597 538432928 982581137 593587398 633637325 638076633 116545387 335743200 665446719 811841566 321331882 577714620 291386915 693375965 341012648 569422962 60081926 385144989 910794274 206644601 609637013 784597145 418807544 -1 560814638 901803305 627561325 774149146 993786079 769854437 553190572 602915291 543006155 709403855 834500260 75228974 807262913 593587398 434526689 211070558 721867658 689608865 199770581 939563959 71713295 707186544 801169129 774149146 72794624 393835525 795730704 986331373 92102199 688597242 729178187 854062217 146171038 950235340 335890204 406717194 288542157 95443860 211070558 769837665 186539666 110556435 828722364 832364259 26905429 418807544 624015614 742174392 96109344 729941138 578238211 942384956 979285058 346188490 897789362 865880334 903297209 146197290 367754743 823787812 789404113 276260520 59501988 763281688 290604263 907772025 338370105 28576479 34030354 610613670 790909002 456401701 495712606 428747955 718229961 891436447 673965031 907772025 216195055 986331373 591700510 73525554 690664050 697374453 22393976 318110611 842871738 719457202 770847694 612885490 486307671 760624728 306854073 154693260 742174392 916321789 456487084 249558965 985045640 689897360 339350524 982693874 41524303 312308223 789495739 444874800 411999902 543122079 638293140 177905368 984895249 306767836 831985335 960643177 668250239 229515163 939946968 644336340 175554418 495336832 683531283 644336340 318110611 564190579 411999902 601762202 249558965 627376276 880844104 345072009 755527023 336862767 138533159 46945925 229821643 217928587 4610166 175590565 800463769 323513395 60978603 18794770 770680522 591284702 216195055 138790019 910994573 175884183 393835525 833220245 385144989 378409769 868838278 707186544 785247749 662235717 864350394 682038125 162425880 817331802 73453883 579783784 582861386 779829204 156929061 593282222 198703751 984895249 109891495 580470806 739554266 254528769 768744535 563823514 317871021 260946873 378610966 771459106 571736161 610069705 930790502 319424815 92160628 113811391 939946968 750769230 579690895 416739210 250810872 622918995 473150723 801402068 683489839 647911422 116545387 535432483 163091630 79323336 403334160 379109457 830994144 248636995 991067365 524542574 500268473 368704535 641205608 868838278 683489839 961821360 690664050 86361620 907456227 386381016 84208996 660738659 305936785 302277738 649175882 244155041 386381016 413494386 746419439 950862675 891436447 531136661 868838278 271516194 427618367 893652215 216195055 29734308 -1 719457202 145847415 740224085 465892383 337458711 658388576 260946873 138533159 885164572 919585635 845211351 4610166 96109344 943374902 519762398 154693260 275610416 303139271 579690895 284700142 514721585 658212287 976942240 407009263 774937853 329574367 637964511 603690869 408244002 -1 610069705 -1 708274346 830544982 308705211 679275202 685423362 254167164 966503495 7545447 512615132 789404113 493264770 407009263 729178187 188196698 820211254 73453883 37724537 413843857 456487084 321331882 834500260 965067805 375673341 746419439 685097645 977467597 867723620 577758652 211070558 138790019 957643716 786892734 363457997 352508141 112624754 327789615 325287502 384604556 957643716 579783784 452820542 750763843 590603969 262575582 848715178 656489207 91064641 612885490 527897224 341012648 363457997 470690645 43392732 820211254 330583346 601762202 751316591 211070558 138533159 234968285 312308223 392826688 525617132 982581137 325845006 138790019 865880334 582861386 246216644 788878491 979285058 461649452 669125354 726124644 919585635 942384956 909186692 660738659 566034579 499941413 211333607 830994144 868211619 368935143 318110611 327982936 181721636 741463146 406717194 305936785 406430184 36050763 249558965 697374453 624015614 416756465 712694937 163789960 591700510 582319429 992563691 92160628 665446719 891573253 586985028 560455121 137132982 461274569 957144144 118534662 344240078 217928587 774937853 28416726 761021239 849123482 705622548 619868736 612885490 368779111 524542574 28576479 995194212 138790019 579783784 201066749 689608865 407009263 308232133 291386915 596943234 177905368 175590565 276260520 477076784 989696303 645695407 663307073 846213413 22393976 533367205 203580162 73453883 182429059 372510013 690664050 903297209 568090820 756425389 512615132 639572212 968396048 641205608 78898063 199386661 365679164 832494905 563675995 473150723 476084224 406568384 842871738 782619049 850101344 758575350 295958449 977619929 53590481 566096351 861115508 420425052 579783784 42277380 379213018 763183908 13841075 461274569 373683372 91064641 676709331 859930182 579991057 675573324 627561325 574417829 647911422 620059513 420425052 670408229 989696303 197307546 12903603 81866966 514721585 365035648 830162158 447434673 363457997 789495739 29287119 495712606 238951985 112624754 663307073 323513395 112624754 72643683 908705907 117347524 623090438 244195221 214924123 234968285 43897314 885077908 610069705 327982936 774149146 864350394 420342620 842306692 861383306 523542917 533367205 989747990 675786233 697184458 818829472 712694937 951926549 354949635 399202754 186539666 672907310 494950691 864350394 689608865 59501988 168494769 491294665 330583346 769837665 593282222 146197290 982581137 428142800 599555786 72621546 863667577 946112218 73453883 639572212 804352169 728492414 399202754 668250239 330785266 659932705 566096351 938446553 169614935 333772685 59706771 568090820 345102555 762227828 577758652 192251969 490869221 491543933 88469907 392826688 100130908 29592557 323513395 723933984 276260520 232018015 859063396 717390689 208493418 243995015 937633254 893897082 239987054 29287119 786969334 574924220 979285058 659932705 604148770 -1 214317232 155906400 335890204 719457202 520011864 893652215 72621546 451474906 893860727 761021239 46945925 174295016 339350524 198628726 770278321 880938198 244883660 757544011 349772488 818974853 54153332 633637325 138790019 761021239 470690645 325845006 849123482 541460419 453407680 244883660 135519629 198628726 26375227 937633254 807820896 950629972 562288215 566096351 960643177 604148770 716182336 669655791 770680522 916738849 901803305 130431610 665446719 295958449 833220245 863278761 303139271 712694937 155997760 358191652 566096351 268947673 4610166 957144144 554782737 238951985 4610166 726776295 965993467 480210823 336688564 977467597 910794274 7545447 63243152 700120477 659501910 365679164 283107224 580884227 894991717 689608865 346394348 208877360 627376276 864350394 799467751 70161655 377651896 755527023 740224085 691740164 495712606 854062217 107839247 812140416 375673341 746419439 416756465 159056677 291386915 686865014 214317232 679670176 861208333 209977170 32796250 689897360 503810504 122067182 946112218 785376602 67592009 659932705 662235717 167415720 731936598 942384956 542986495 817693389 107596959 130431610 374972287 229515163 548806448 632336991 480210823 284696682 991188064 471865558 46485154 53028773 957643716 765137854 832364259 873072247 723200871 602915291 667841561 330785266 718577411 968396048 22576092 491294665 894267291 377651896 38372578 769545495 518109595 461649452 453407680 618312173 551345512 375673341 788878491 960643177 613084013 688380735 939946968 146197290 669742991 626807589 669125354 575485118 902419092 523542917 91064641 39885396 756425389 548806448 549323513 991067365 38372578 386935154 595427792 987705926 689897360 644336340 514721585 782594982 801402068 769545495 12903603 762227828 415965469 22576092 107596959 710730165 365407761 417425319 672907310 860724917 385144989 832494905 246216644 595427792 711501588 297133830 812752908 175554418 854062217 716182336 942627653 433439854 391779414 579783784 565554630 555548888 490142300 560814638 961821360 908463563 777440440 512615132 914291169 118534662 634536293 817331802 132774876 836680980 602811046 490142300 591284702 830544982 533560917 638076633 43392732 175144765 741463146 206644601 438872920 943374902 87162480 271516194 976942240 993786079 524542574 880446976 355126439 401672699 488751710 365679164 13384724 791932302 622918995 967987535 961821360 644187365 303139271 977619929 868211619 523542917 555828167 626807589 770680522 973579758 79213361 641205608 295805912 318110611 997299598 102379477 679275202 842306692 358191652 319424815 363457997 271708247 543122079 863667577 818974853 761888635 296417374 562309509 756425389 514721585 662235717 57551192 72643683 591284702 975269268 177905368 122067182 785376602 940104206 723200871 -1 17012234 205644911 49208976 995194212 833246783 295805912 673965031 842871738 801326287 491978273 836680980 763856958 42277380 403334160 73453883 865880334 593282222 790809628 690664050 159056677 879954113 428142800 377651896 842306692 26375227 208493418 79213361 763183908 206287347 586392635 638076633 922171930 123550994 407009263 268947673 593587398 387384744 610613670 709403855 845211351 767047665 820211254 46945925 526755095 942627653 499941413 763183908 -1 251692591 532803555 57606083 679521131 191697350 446355059 484471406 842871738 940104206 29734308 249558965 43897314 750156197 817331802 79097209 729941138 122067182 675786233 711501588 761888635 701070480 554782737 548806448 368935143 132774876 861115508 543006155 365035648 638076633 801402068 992563691 833246783 28416726 763856958 751964866 632336991 663946492 54164180 801326287 859063396 477076784 695553778 820211254 937638157 -1 296417374 459789430 562309509 11796756 770680522 72643683 957144144 295958449 379213018 683489839 49208976 702444538 406430184 638076633 518109595 770680522 374972287 699856917 560637528 441949925 675786233 335890204 979580407 683489839 542661640 453407680 893897082 110556435 373771611 999674172 812752908 45426260 588150191 389956215 163983150 982693874 522063456 596943234 252012472 323513395 644187365 976942240 437517579 96109344 400907045 425469326 734712823 344240078 850101344 527897224 593282222 656489207 284700142 861383306 368764047 731745766 477076784 357329820 -1 559785274 942384956 114396999 604148770 750156197 146171038 271516194 499941413 603620710 271516194 561494895 830162158 72263116 305936785 341012648 325287502 159647580 695553778 522063456 295805912 669655791 690664050 847840320 448316745 365035648 330785266 318110611 685423362 685423362 699856917 56105859 -1 763856958 391779414 213926602 818829472 942384956 208493418 72621546 656489207 543122079 67075526 520011864 999101537 500268473 916738849 122896725 45426260 389956215 780117964 480210823 942384956 13384724 709403855 690664050 580283317 491294665 208493418 213926602 13841075 672907310 26537314 893897082 327982936 244155041 18794770 930790502 693375965 719457202 582861386 239254051 849035201 980936845 358362276 424146759 248636995 914291169 -1 596367148 831985335 115639466 760593154 60978603 603620710 909186692 901304975 208028672 494923774 577714620 531136661 424146759 893897082 365679164 284700142 661932839 942384956 160366715 60081926 122067182 358191652 879954113 231771136 159056677 578238211 697184458 284387166 486307671 426480224 683489839 729352677 373771611 78898063 661932839 942627653 560637528 603690869 53590481 985045640 491294665 520086201 358191652 566034579 638076633 560637528 953838288 699856917 673965031 592274818 760624728 72263116 433348815 857102413 705622548 281598862 59501988 469384372 599555786 100130908 192251969 489295045 566096351 416756465 524542574 437517579 488751710 580470806 784371166 832364259 251692591 208493418 96109344 26537314 54164180 683531283 779829204 562309509 387384744 494923774 205644911 503810504 710113373 623090438 849123482 34685076 203580162 17012234 551345512 614297261 864561721 861383306 459789430 946112218 432504521 28416726 252012472 769837665 894991717 182659876 55517047 859962837 420425052 704672739 942384956 280856350 769545495 182659876 588150191 37081879 160366715 43897314 59501988 145847415 11796756 815472010 387384744 519762398 686385319 702444538 413843857 197115342 29272319 681823792 18794770 379109457 26375227 867723620 566034579 284700142 79323336 801402068 45426260 881489135 680666684 208028672 731936598 867723620 447434673 167415720 689608865 864350394 984895249 764751417 894267291 494751627 681823792 379109457 119601349 541463939 614459776 432504521 622737539 443342808 472516679 758575350 53590481 466852129 288628682 448316745 456401701 130431610 403334160 168494769 7545447 828722364 386381016 613084013 427675535 372910848 577714620 627561325 32466209 919585635 60081926 470803824 72643683 297175900 767047665 763183908 623188968 622823007 680666684 666590606 77564723 63243152 72621546 590138438 975269268 700120477 842871738 817331802 818014838 628220249 554782737 812140416 542661640 718229961 122896725 415965469 758575350 107596959 991067365 286319692 763281688 219896364 988919874 165753 656206261 165753 171221433 845211351 295805912 566034579 785866095 398981201 424146759 685097645 327982936 228137178 683531283 175884183 325287502 958339854 21873594 679670176 989747990 769545495 555548888 434526689 908705907 666590606 145847415 950629972 881489135 149052945 469384372 577714620 78898063 662235717 206287347 -1 751964866 416756465 785376602 302277738 32466209 209977170 522063456 937638157 75228974 914291169 980134651 868838278 842871738 3090244 560455121 110556435 284387166 864561721 111122929 232018015 254528769 686385319 280856350 957643716 574924220 590783394 748526814 669742991 596943234 325287502 -1 420425052 457715535 894267291 330318834 365407761 -1 505655512 974448855 335890204 424146759 72621546 503810504 800463769 469384372 740364356 716182336 786969334 163091630 146197290 -1 850101344 97299507 307476694 526755095 842871738 345392984 447434673 95443860 175144765 260946873 416739210 365035648 820211254 861115508 832494905 535432483 532803555 308705211 379213018 291386915 329574367 456487084 79097209 447434673 561553313 690664050 914662962 150137560 420342620 834500260 867933639 138790019 750769230 686649778 398981201 262575582 644187365 508037594 995194212 830162158 112302971 162425880 503810504 662235717 910994573 849123482 850351456 566034579 588150191 357329820 693375965 618312173 377651896 572311287 53590481 922171930 336688564 753145692 871898006 857269083 520086201 669742991 263798126 686649778 995194212 681823792 244883660 819963767 130580 691504106 268947673 346188490 453407680 852837035 330318834 820211254 723933984 368779111 239987054 623090438 634983639 580884227 857269083 3090244 368935143 594204193 854062217 159647580 823933296 656489207 491543933 740364356 112624754 572311287 199386661 975269268 149830598 995194212 293155218 373771611 216195055 372510013 298868262 647290016 820211254 456863895 786075537 834500260 762227828 295958449 466852129 441949925 697184458 86361620 850101344 373683372 495712606 130431610 555828167 849123482 372510013 560814638 572589546 239987054 761021239 771459106 563823514 577758652 34584857 867933639 992563691 42277380 77564723 957643716 705118513 618312173 111122929 807262913 701070480 16475116 967987535 475822349 115639466 229821643 786075537 -1 812140416 288628682 634983639 685423362 424697572 323513395 916738849 708274346 332773543 112302971 800463769 26375227 673965031 686865014 880665324 828722364 372510013 43897314 113811391 667169560 372910848 883564101 451474906 728492414 271708247 791183444 301334993 493264770 4610166 610932880 38372578 604148770 603620710 903297209 288542157 849123482 730756715 989696303 37724537 763281688 670408229 481127177 880665324 336688564 305936785 849123482 568090820 709403855 831985335 631700842 231771136 608724072 97299507 466034328 970265761 586392635 18794770 562309509 697374453 13841075 686385319 614459776 406717194 470803824 358191652 305936785 368764047 761888635 891573253 451474906 537867109 961821360 413494386 661932839 639572212 363457997 789495739 830544982 149830598 79323336 346188490 590603969 885077908 986331373 110556435 634983639 686385319 336688564 271516194 993786079 554782737 301714930 469743398 965067805 799467751 182429059 86256730 307476694 730909832 907772025 984895249 444874800 495712606 762227828 722874144 95443860 413494386 533367205 155376172 721867658 57551192 290604263 553190572 53590481 914291169 37724537 181721636 512615132 693375965 431837446 910994573 881489135 519762398 59501988 984895249 411999902 914291169 533367205 307476694 325287502 283107224 389956215 239254051 904818318 633637325 392826688 863667577 710113373 922220234 767047665 807820896 995194212 833246783 682038125 214317232 807262913 566034579 135519629 481127177 95443860 290604263 868838278 815472010 664490073 22393976 590603969 988919874 823933296 377651896 381881872 762227828 333260763 182659876 232018015 297175900 922220234 432069691 110012494 842871738 60081926 189854783 580884227 495336832 274831438 92160628 208028672 668281990 95443860 163789960 268947673 43897314 452820542 641164921 247165890 901803305 938914563 832494905 916321789 175884183 893860727 156929061 337502849 480210823 503810504 857269083 96109344 -1 572311287 293155218 768744535 763281688 403334160 228137178 531136661 169614935 995194212 818974853 459789430 782927012 868838278 861115508 880938198 888304663 572589546 613084013 472516679 411999902 579690895 327789615 319424815 980936845 590603969 358191652 823787812 560814638 387518405 951926549 426480224 681823792 789495739 175590565 182026506 660738659 199386661 345102555 71713295 514721585 641205608 241693686 290604263 574924220 761888635 211550817 532861718 718577411 603620710 724422672 989696303 363811064 641205608 729941138 112624754 46410909 553190572 406430184 551345512 626807589 721120553 244155041 519762398 217928587 953838288 739554266 428747955 966503495 658212287 999674172 329959527 618312173 669125354 514721585 543006155 520011864 411999902 260946873 543122079 987705926 863278761 432504521 159647580 712694937 381881872 232531633 154693260 400907045 470803824 950862675 980936845 685097645 357329820 626807589 710730165 325287502 340301060 381881872 801326287 408244002 710113373 846213413 367754743 393835525 565554630 761021239 622918995 908705907 531136661 333260763 26375227 647911422 500268473 365035648 14405655 686385319 801169129 984895249 495336832 938914563 213926602 244155041 691504106 469384372 417425319 710113373 907772025 830994144 782927012 237773442 127278512 721120553 398981201 60744503 206287347 902419092 155997760 -1 729352677 922220234 275610416 349772488 831985335 555548888 160366715 679275202 592274818 389956215 999101537 603620710 519762398 683489839 249558965 368704535 214924123 26537314 490869221 763183908 580884227 961821360 73453883 958339854 367754743 748526814 295805912 466034328 946112218 719457202 951926549 348123399 812140416 470690645 461649452 682038125 942384956 582861386 116545387 110012494 764751417 161017478 368764047 600962339 663946492 457715535 456401701 908705907 252012472 306854073 434526689 939563959 566096351 730824918 330785266 731745766 663946492 574417829 116545387 626807589 358362276 828722364 836680980 713199217 785247749 295805912 327982936 426480224 765954927 659501910 601762202 580283317 868211619 647911422 167415720 365407761 751316591 914291169 522063456 883564101 579690895 762227828 790909002 95443860 117303447 365679164 444874800 260307180 118534662 976942240 138533159 818974853 672907310 748526814 92102199 689897360 522063456 163983150 330318834 712694937 998120269 985045640 244195221 801326287 622918995 413494386 756425389 891436447 135519629 937633254 319379178 182659876 549323513 74820195 55517047 551345512 223030820 87162480 72794624 177905368 416739210 860724917 234968285 973579758 580918883 664295306 981763217 580470806 903297209 731936598 836680980 993786079 39885396 610932880 291386915 59706771 421927353 893860727 107839247 150137560 454563819 683489839 374972287 238951985 635671105 823933296 465892383 428413005 203018461 553190572 453407680 914662962 319424815 345072009 26905429 337502849 591700510 189854783 660040051 21873594 296417374 987705926 718577411 666590606 238442797 1713096 957144144 386935154 577758652 641205608 966503495 774937853 448707988 469743398 765954927 330583346 21873594 171221433 268947673 499941413 295958449 378409769 77299524 111985669 -1 493264770 542986495 724422672 145847415 408244002 815472010 939946968 386935154 638011115 622918995 387518405 663667470 991188064 466852129 867723620 861208333 92112290 939563959 130431610 182659876 993786079 345102555 811841566 175590565 345072009 849123482 92102199 729352677 75228974 215802236 730824918 321331882 368764047 297175900 283107224 170824557 229405480 995194212 890844482 520011864 818974853 757544011 604148770 842306692 974448855 785247749 345102555 424697572 335743200 577714620 801402068 263636646 863278761 297175900 596943234 418807544 488751710 56105859 413843857 319379178 507142051 160366715 214924123 339350524 385144989 645276436 197115342 815472010 154693260 46485154 568090820 596367148 249558965 765954927 46011383 863278761 163789960 79097209 745215401 241693686 138790019 420773560 520086201 880938198 56105859 817331802 198703751 724422672 756425389 107839247 774937853 431837446 452820542 288628682 169614935 78898063 182026506 223785502 938954818 977619929 14405655 791932302 317871021 387384744 700120477 927530478 713199217 400907045 686385319 280856350 980936845 666590606 518109595 675786233 63562141 901304975 960643177 622918995 471865558 211550817 352508141 146197290 827132364 319379178 741339101 622823007 711503207 79097209 799467751 461274569 453407680 433114786 800463769 79213361 880665324 183843307 849035201 73525554 965993467 989747990 115639466 564190579 623188968 385144989 689608865 33812208 730756715 632336991 426480224 161017478 830162158 997299598 398981201 164542502 284696682 358362276 721867658 927530478 88469907 115639466 524542574 935910737 26905429 16475116 908463563 354949635 708274346 914291169 45426260 319424815 645276436 670979891 988919874 140395123 774149146 739554266 692204091 722874144 680666684 713199217 526755095 577714620 271516194 489295045 710730165 999674172 333260763 563732029 656206261 912506727 627561325 26375227 806195787 531136661 830544982 859930182 408244002 977467597 524972471 290604263 806195787 957144144 295958449 993786079 518109595 660040051 138790019 707186544 864350394 42277380 254167164 75228974 149052945 387518405 579991057 681823792 305936785 211333607 664295306 669742991 349032071 149830598 769837665 761888635 799467751 893652215 908463563 675786233 734712823 815472010 372510013 518109595 86256730 163789960 749101296 49212342 495241145 247165890 406483013 379109457 568090820 832364259 503810504 281083465 13384724 665446719 582861386 713199217 433756914 276260520 817331802 660639438 438872920 206014003 182429059 634536293 665446719 561553313 84208996 893897082 626837013 -1 55517047 685423362 87162480 95443860 940104206 569422962 421927353 904818318 263636646 308705211 306767836 211550817 894991717 713199217 97299507 722672739 857269083 421927353 893652215 710730165 761888635 746419439 167415720 111985669 850351456 586985028 586392635 769545495 456863895 721120553 476084224 711501588 228137178 368935143 893652215 107808575 631700842 560814638 197115342 275610416 107808575 685423362 705118513 784597145 845211351 115639466 281083465 627561325 679670176 786892734 28576479 358362276 845211351 214924123 691214891 38372578 950862675 53028773 246216644 29592557 305936785 352508141 156929061 339350524 494923774 248636995 591284702 339350524 705118513 416739210 465892383 533560917 623090438 215802236 472407762 220059095 13384724 372910848 774149146 60081926 531136661 801326287 760624728 400907045 686865014 854062217 57606083 908463563 916738849 571736161 627589268 216195055 740224085 790909002 22393976 115639466 420342620 603620710 81866966 998120269 599555786 673965031 462383923 817331802 695553778 420342620 791932302 18299476 365679164 401672699 565554630 975269268 146171038 658388576 418807544 614593757 115639466 592274818 45426260 432504521 18794770 574417829 177905368 957643716 688380735 525617132 689897360 330583346 750156197 46410909 904818318 432504521 987705926 993786079 560637528 527985132 84062198 448316745 888304663 182429059 252012472 167036027 861115508 28576479 811841566 849123482 830544982 683531283 819523467 542661640 470690645 458547544 608724072 711503207 494751627 344240078 203493552 171504845 765954927 619868736 37724537 750156197 691504106 232531633 561553313 832494905 386381016 469743398 174295016 998120269 977467597 211362614 894267291 848715178 156929061 469743398 135519629 867933639 -1 885164572 854062217 604148770 274831438 770847694 602811046 252012472 248636995 663667470 566096351 958339854 16475116 325845006 434526689 726124644 707186544 670979891 518109595 927530478 234968285 912506727 639572212 705622548 333260763 728357838 197307546 495712606 795730704 329574367 927530478 72643683 514721585 804352169 782927012 288628682 939946968 336688564 54164180 481127177 165622114 77299524 688597242 689897360 365035648 132774876 718577411 72263116 748526814 217928587 363579344 161017478 893897082 368764047 79323336 505655512 386381016 321331882 774149146 586985028 750429264 613084013 154693260 49208976 384604556 786892734 670408229 785376602 122896725 368764047 107839247 757544011 592274818 723933984 721867658 746419439 335743200 398981201 668281990 197115342 286319692 75228974 849035201 656206261 306854073 26375227 705622548 675786233 883564101 690863334 97299507 660639438 838379139 765137854 456863895 244155041 902419092 987705926 593587398 301334993 203493552 842306692 284387166 372510013 850101344 999101537 920219729 199770581 614593757 679670176 206287347 490869221 466852129 433348815 275610416 846213413 46485154 758575350 756425389 339350524 84062198 940104206 471865558 149052945 542661640 72643683 365035648 641205608 117347524 622737539 -1 503810504 627561325 916738849 95443860 248636995 847840320 660639438 668250239 590603969 385144989 741339101 163789960 610932880 63210631 801402068 234968285 823787812 991067365 111122929 112624754 263636646 965993467 112302971 149830598 55517047 411999902 628220249 112624754 958339854 237773442 418807544 456401701 239987054 649175882 791183444 984182750 854062217 782927012 864350394 957144144 697374453 789404113 555828167 392826688 60081926 241693686 284696682 907456227 262575582 980134651 722672739 697184458 806195787 74820195 197307546 189854783 610069705 688597242 628220249 927530478 806195787 848715178 333260763 669655791 822261941 420773560 355126439 760624728 355756362 991067365 406568384 728492414 480210823 408244002 211070558 365407761 39885396 562288215 211362614 935910737 113804160 459789430 563823514 748186132 920219729 704672739 174295016 275610416 238951985 244883660 847840320 159056677 711501588 22393976 275463593 456401701 377651896 308705211 46485154 -1 741463146 209977170 943374902 619868736 481127177 683489839 785247749 247165890 97299507 468199498 205644911 614459776 681823792 338370105 742174392 950629972 150137560 385144989 795730704 56105859 17012234 341012648 688380735 970265761 459789430 117303447 763281688 18794770 469743398 407009263 644336340 163983150 337458711 549323513 170824557 580884227 119601349 201066749 75228974 958339854 891436447 814490763 845459462 72794624 164542502 448707988 723200871 966503495 111122929 520086201 373683372 977619929 -1 406568384 610069705 456401701 786892734 997432376 337458711 46485154 238442797 565554630 834500260 718577411 162425880 71713295 207023050 596943234 283107224 384604556 182026506 123550994 470803824 854398124 663307073 861115508 991067365 163091630 7545447 329959527 339350524 88469907 234968285 367754743 614459776 424146759 858159813 466034328 372510013 228902962 725418770 159647580 182026506 338370105 977619929 984182750 686649778 609637013 638011115 19140171 494923774 260946873 345102555 206287347 525617132 251692591 293155218 622918995 336688564 135519629 861383306 229405480 452820542 174295016 26905429 563823514 239987054 664295306 520011864 263798126 957144144 21873594 750763843 486307671 762227828 542661640 194126353 785376602 730824918 950862675 833246783 975269268 264549124 542986495 596943234 495712606 765954927 79097209 229515163 849035201 63243152 427675535 60081926 888304663 378409769 976942240 902419092 115470851 634983639 480210823 635671105 566096351 885077908 807648187 859930182 13384724 593587398 271516194 137132982 330785266 238951985 201066749 291386915 79097209 730756715 319379178 822261941 697374453 340301060 868838278 306854073 424697572 19140171 420425052 767047665 632336991 211333607 750156197 914662962 770680522 757544011 767047665 197307546 208877360 902419092 308232133 480210823 306854073 349772488 731745766 448707988 32466209 381881872 477076784 302277738 995194212 538432928 543122079 628984381 169614935 711501588 495241145 86361620 112302971 349772488 885164572 537867109 567600315 704672739 284696682 999674172 34030354 140395123 437863021 891436447 42277380 750429264 296417374 801326287 907456227 60744503 77564723 73453883 431837446 686649778 197115342 59706771 695553778 663307073 647290016 867723620 854062217 197115342 229821643 281083465 635671105 999674172 555548888 183843307 107839247 239254051 457715535 175884183 422331486 290604263 251692591 880844104 699856917 586392635 301334993 520011864 989747990 122067182 163789960 132774876 709403855 162425880 655834254 740224085 692204091 543006155 845459462 668281990 334677549 649175882 622918995 145847415 427618367 -1 603690869 885164572 901304975 368779111 378610966 363579344 614593757 908705907 527985132 205644911 95443860 223030820 122067182 757544011 710730165 349772488 745924515 721867658 907456227 49212342 728357838 522063456 448707988 693375965 659932705 832494905 107839247 340301060 957643716 53028773 982554231 378409769 -1 721120553 761021239 379109457 686649778 601762202 444874800 982554231 135519629 763856958 491294665 572311287 49212342 880844104 72263116 669655791 845211351 355756362 434526689 183843307 740364356 189854783 399202754 211550817 984117471 -1 907456227 893897082 910994573 7545447 203493552 345072009 107839247 595427792 74820195 593587398 291386915 424697572 541463939 281598862 34584857 946112218 665446719 407009263 162425880 340301060 692204091 415965469 171504845 566096351 199770581 325287502 130580 663307073 984182750 491543933 465892383 569422962 885164572 426480224 428142800 822261941 765954927 167036027 560814638 254756796 579783784 593282222 137132982 789404113 942045496 130580 413494386 991067365 998120269 406717194 197115342 914662962 17012234 638293140 561494895 602811046 596367148 823933296 960643177 448707988 830162158 349032071 67592009 420342620 602915291 34685076 823787812 533560917 669742991 199770581 298868262 426480224 623090438 377651896 777440440 575485118 668250239 563732029 97299507 137132982 414918047 691504106 37724537 846213413 812140416 586985028 45426260 991067365 667841561 863278761 67075526 245677831 333772685 468199498 384604556 656489207 560814638 612885490 508037594 748186132 188196698 631700842 384604556 271708247 614459776 416739210 231771136 686649778 891436447 295504204 355756362 908463563 71713295 358191652 980936845 119601349 951926549 26375227 599555786 349772488 271516194 290604263 110556435 981763217 175144765 387518405 327982936 63562141 683489839 26375227 699856917 155997760 433756914 145847415 594204193 907456227 46410909 198628726 111122929 567416830 379213018 363579344 710730165 238951985 571736161 850101344 541460419 818974853 17012234 893860727 927530478 608724072 469743398 748526814 155997760 252012472 87162480 942384956 830162158 273365488 561494895 428142800 385144989 791932302 140113105 609637013 281598862 566034579 198628726 627561325 60744503 47116225 13384724 681690682 28416726 254167164 368779111 34685076 337502849 111122929 234968285 729941138 628220249 57801759 217928587 456863895 63243152 -1 880938198 626807589 560455121 730909832 175144765 828722364 447434673 206287347 441949925 719457202 774937853 691504106 711501588 274831438 46011383 692204091 130580 244155041 86256730 689608865 524542574 345102555 167415720 34685076 614459776 663946492 563732029 263798126 32466209 458547544 519762398 681690682 163983150 667300705 608724072 563823514 578238211 156929061 901304975 572311287 582319429 88469907 960643177 448707988 119601349 555828167 708274346 644187365 638011115 433114786 337502849 937638157 276260520 271708247 852782081 579991057 633637325 757544011 785866095 627376276 937638157 137132982 137132982 470690645 982554231 457715535 765137854 183843307 848715178 728357838 765137854 206644601 286319692 491978273 760624728 111985669 415965469 801169129 203493552 524972471 649175882 832494905 745924515 375673341 849035201 710113373 914291169 206287347 325287502 937638157 957144144 94630229 579690895 594204193 165753 588150191 275610416 524542574 814490763 626807589 288628682 503810504 980936845 365035648 686385319 422331486 297133830 729352677 459789430 666590606 73453883 475822349 683531283 426480224 691214891 691504106 633637325 197115342 199386661 43897314 407009263 612885490 177905368 867723620 907456227 614297261 627561325 719457202 60081926 670979891 43392732 186539666 767047665 740364356 77564723 861208333 490869221 389956215 229515163 637964511 667300705 852837035 321331882 462383923 352607876 995194212 365679164 400907045 723200871 533367205 868211619 806195787 349032071 846213413 461649452 769837665 922220234 12903603 34685076 163091630 989696303 860724917 182026506 995194212 243341711 859962837 265395517 818829472 626807589 891436447 602915291 77299524 432069691 387518405 622823007 543122079 726124644 864561721 645695407 566096351 532861718 819963767 183843307 92160628 47116225 107596959 518109595 112624754 982693874 850351456 447434673 73525554 77299524 375673341 248636995 801402068 769545495 770278321 469384372 46410909 663946492 116545387 579783784 818014838 993786079 658212287 203580162 769545495 46945925 302277738 425469326 72263116 663946492 664490073 223030820 417425319 879954113 119601349 989747990 271708247 590138438 32796250 127278512 401672699 341012648 603690869 830994144 363811064 142117376 999674172 171221433 610932880 676709331 72263116 907772025 385144989 989696303 12903603 79323336 372910848 728357838 830162158 17012234 593282222 43392732 634536293 494923774 175590565 462383923 413843857 448707988 168494769 779829204 916321789 57551192 115470851 560455121 -1 84062198 379213018 690664050 691214891 710730165 580283317 784371166 785376602 729941138 591284702 491294665 713199217 859063396 565554630 729941138 270206207 43392732 493264770 119601349 989747990 229405480 667169560 161017478 13841075 330318834 669742991 769854437 769837665 891436447 970265761 902419092 749101296 349032071 422331486 908705907 984117471 697374453 879954113 859063396 686865014 327789615 345392984 846213413 697374453 417425319 466852129 137132982 533367205 749101296 34685076 -1 730824918 717390689 456487084 363457997 123550994 699856917 847840320 595427792 885164572 854062217 660738659 183843307 406430184 751316591 67592009 34030354 593282222 381881872 761021239 564190579 163983150 582319429 631700842 658212287 175884183 303139271 302277738 731936598 997432376 686649778 111122929 344240078 211070558 563823514 433439854 916738849 722672739 586985028 339350524 427675535 957643716 3090244 461274569 854398124 367754743 957144144 468199498 989696303 160366715 740364356 297133830 368935143 817331802 459789430 939946968 41524303 702444538 34584857 167036027 265395517 603690869 901803305 32466209 730824918 290604263 146171038 473150723 820211254 976942240 609637013 295805912 897789362 488751710 999101537 319379178 579991057 961821360 980134651 565554630 861208333 579690895 318110611 626837013 146197290 645695407 935910737 34685076 610613670 437863021 97299507 472407762 658388576 975269268 34584857 664295306 806195787 -1 660738659 633637325 244883660 577714620 399202754 595427792 18299476 850101344 710113373 991188064 711503207 434526689 72794624 531136661 46011383 943374902 850101344 902419092 965067805 612885490 750769230 293155218 718229961 518109595 232018015 526755095 614297261 338370105 946112218 997432376 661932839 745215401 110012494 223785502 494923774 86361620 548806448 728492414 159056677 572589546 769854437 628220249 403334160 215802236 368704535 845459462 42277380 675573324 140395123 601762202 201066749 -1 119601349 691504106 86256730 297175900 28576479 340301060 490869221 559785274 319379178 566034579 997299598 987705926 614593757 119601349 452820542 363579344 705622548 590138438 427618367 923159887 499941413 563675995 763856958 741339101 238442797 437517579 375673341 263798126 392826688 923159887 203580162 600962339 942045496 861115508 708274346 880938198 428747955 979285058 664490073 264549124 769854437 907772025 939563959 77299524 97299507 45426260 649175882 11796756 688597242 771459106 992563691 97299507 43392732 817693389 766504018 626807589 372510013 175590565 784597145 2433982 146197290 72621546 575485118 132774876 239987054 263798126 417425319 165753 41524303 748186132 368764047 723933984 846213413 171221433 57606083 211070558 363811064 730756715 446355059 770680522 682038125 318110611 549323513 111985669 260307180 614593757 245677831 60744503 81866966 790809628 95443860 70161655 637964511 401672699 638076633 580470806 627589268 697374453 966503495 909186692 779829204 532861718 916321789 688597242 248636995 861383306 742174392 182429059 848715178 165622114 908463563 123550994 750763843 568090820 579690895 942297502 177905368 197307546 566096351 904818318 46485154 880938198 871898006 901304975 434526689 117303447 286319692 46945925 223030820 710730165 579991057 473150723 992563691 461649452 610895287 199770581 885164572 981763217 830162158 428747955 417425319 967987535 580470806 593587398 782619049 112624754 32796250 623188968 386381016 763183908 117303447 645695407 414918047 756425389 329574367 26905429 590603969 710730165 486307671 976942240 291386915 951926549 880665324 197307546 318110611 729941138 582319429 330785266 710730165 848715178 533560917 209977170 26537314 908463563 317871021 748526814 433114786 520086201 385144989 403334160 786892734 298868262 711501588 337458711 138790019 297133830 418807544 850101344 130580 531136661 321467204 712694937 582319429 713199217 950862675 92102199 660040051 317871021 627561325 358362276 -1 140395123 117303447 427618367 241693686 472407762 596943234 87162480 660040051 951926549 730824918 72643683 32796250 456401701 79097209 686649778 830162158 135519629 91064641 683531283 317871021 685423362 244155041 533367205 260307180 992563691 437517579 175590565 806195787 857269083 635671105 110012494 770680522 352508141 418807544 489295045 135519629 4610166 910794274 998120269 819963767 725418770 73525554 262575582 830994144 974448855 365407761 458547544 349772488 248636995 472407762 673965031 627376276 201066749 464037621 505655512 624015614 849035201 265395517 32796250 387518405 543122079 111122929 494751627 34584857 665446719 569422962 263798126 337458711 858159813 32466209 -1 634536293 881489135 1713096 319424815 765954927 553190572 691214891 910994573 79323336 114396999 443342808 49208976 288542157 400907045 274831438 1713096 39885396 838379139 344240078 234968285 330785266 329959527 535432483 435984127 852782081 660639438 374972287 579783784 627376276 745215401 63562141 593587398 79213361 914662962 730909832 554782737 713199217 441949925 149052945 542661640 112624754 77564723 600962339 580283317 22393976 340301060 102379477 446355059 950235340 745215401 691504106 379109457 250810872 997299598 667841561 444874800 673965031 758575350 140113105 620059513 644187365 201066749 182659876 910994573 171504845 549323513 764751417 203580162 262575582 288542157 95779603 428747955 73525554 861383306 443342808 660040051 765954927 306767836 33812208 586985028 577758652 91064641 614297261 522063456 622918995 411907778 845211351 171221433 566096351 457715535 717390689 818829472 953838288 894267291 118534662 830544982 748186132 275610416 927530478 -1 107596959 130580 857102413 619868736 34685076 293155218 852837035 18794770 641164921 845459462 72263116 658212287 836680980 769837665 703311448 399202754 199770581 669742991 335890204 774937853 355756362 228902962 751964866 84062198 457715535 406430184 37724537 785247749 594204193 122067182 982581137 59501988 97299507 340301060 43392732 414918047 722874144 582861386 175554418 977619929 660738659 112302971 820211254 471865558 857102413 66483968 591700510 81866966 431837446 84062198 731745766 113804160 750156197 375673341 688380735 406430184 199386661 22576092 84208996 182026506 863278761 411999902 543122079 795730704 745215401 992563691 321331882 167036027 208493418 719457202 239254051 638076633 820211254 891573253 638011115 560455121 846213413 520011864 86256730 659501910 115639466 885077908 122896725 879954113 223030820 943374902 894991717 408244002 254528769 206287347 618312173 417425319 549323513 561494895 946112218 854062217 428413005 13841075 726776295 208028672 117303447 702444538 890844482 863667577 335743200 28416726 2433982 107808575 660738659 907456227 -1 731745766 668250239 588150191 997299598 579991057 107596959 865880334 74820195 740224085 239987054 679521131 325287502 675786233 885164572 330318834 647427996 211070558 484471406 305936785 49212342 980936845 679670176 683531283 481127177 827132364 562288215 407009263 750429264 786969334 807648187 703311448 45426260 329959527 586392635 831985335 211550817 301334993 254167164 664295306 102379477 937638157 367754743 247165890 150137560 352607876 854398124 664295306 676685933 208877360 818829472 593282222 406717194 505655512 750429264 685097645 663667470 444874800 817331802 163091630 966503495 686649778 145847415 766504018 308232133 345102555 363811064 572589546 346394348 771459106 211333607 880665324 785247749 142117376 745924515 276260520 880446976 647911422 238442797 387384744 543006155 321467204 741463146 942627653 345072009 943374902 46945925 746419439 254528769 254528769 885164572 175884183 375673341 398981201 448316745 138533159 337458711 785866095 688597242 84208996 717390689 345392984 777440440 542661640 459789430 329574367 473150723 29287119 638293140 123550994 814490763 392826688 830544982 368779111 250810872 36050763 38372578 850351456 96109344 473150723 3090244 785376602 620059513 639572212 656206261 842871738 520011864 676685933 469743398 175884183 211333607 507142051 329959527 638011115 634536293 323513395 263636646 217928587 168494769 162425880 567416830 338370105 675786233 909186692 191697350 17012234 628984381 660738659 609637013 34685076 939563959 372510013 580884227 668281990 12903603 527985132 284696682 182659876 622918995 526755095 670408229 495712606 564190579 421927353 201066749 893652215 704672739 701070480 53028773 155906400 795730704 760593154 818014838 721867658 619868736 748186132 250810872 494751627 60744503 951926549 333260763 542661640 337502849 756425389 967987535 801402068 880665324 284696682 171504845 555548888 111985669 718229961 456401701 403334160 171221433 695553778 45426260 763281688 559785274 675786233 306854073 730824918 505655512 770278321 254167164 75228974 435984127 592274818 401672699 660639438 238442797 248636995 968396048 428413005 55517047 560556517 325287502 223785502 977467597 740224085 985045640 453407680 454563819 801402068 54153332 716182336 984182750 633637325 633637325 812752908 66483968 644336340 728492414 618312173 602811046 117303447 36050763 53590481 100130908 600962339 541460419 673965031 680666684 541463939 86361620 293155218 790809628 555828167 75228974 336862767 745924515 211550817 864561721 524542574 984895249 32796250 508037594 228902962 788878491 262575582 34685076 169614935 60081926 950235340 833246783 293155218 484471406 112624754 807648187 424146759 491543933 368704535 368779111 543006155 110012494 828722364 894267291 368704535 721867658 469743398 488751710 533367205 447434673 241693686 392826688 330785266 45426260 755527023 160366715 627589268 138533159 645276436 470690645 568090820 459789430 452820542 852837035 494950691 582861386 574924220 712694937 542661640 325287502 668281990 363579344 764751417 645695407 494923774 893652215 488751710 596367148 859063396 669655791 112624754 946112218 161017478 3090244 659932705 192251969 117347524 355126439 832364259 4610166 871898006 577714620 -1 318110611 427675535 491978273 641164921 742174392 842871738 114396999 567600315 660040051 764751417 927530478 683489839 284859244 468107571 728357838 46485154 689608865 538432928 860724917 716182336 669655791 395983136 531136661 565554630 818014838 97299507 807820896 541460419 569422962 88469907 96109344 998120269 807262913 518109595 910794274 43392732 612885490 79097209 67075526 508037594 939946968 149052945 741463146 94630229 753145692 53590481 18299476 975269268 114396999 760624728 448707988 741463146 363457997 379213018 549323513 211362614 34685076 433114786 519762398 167415720 909186692 12903603 167036027 656206261 473150723 334677549 804352169 387518405 321467204 321331882 373683372 246216644 574417829 786892734 950235340 525617132 265395517 965993467 799467751 214924123 741339101 710113373 26375227 562309509 610895287 891573253 308705211 86361620 241693686 916321789 162425880 979580407 420342620 29272319 909186692 858159813 198703751 893897082 337458711 599555786 739554266 771459106 265395517 477076784 717390689 142117376 372910848 602915291 113804160 387384744 586985028 679670176 910794274 574924220 690664050 271708247 495336832 763281688 -1 367754743 919585635 43897314 329959527 415965469 165622114 290604263 997432376 644187365 500268473 345072009 565554630 373683372 830994144 788878491 33812208 465892383 427675535 725418770 742174392 354949635 308705211 750156197 330785266 7545447 532861718 389956215 763281688 780117964 456487084 29734308 609637013 914206506 239254051 191697350 110556435 999101537 820211254 904818318 801402068 349772488 676709331 770680522 664295306 614593757 893652215 939563959 198703751 72794624 203580162 102379477 823787812 491543933 413494386 26375227 284859244 639572212 908463563 308232133 -1 97299507 206644601 789495739 197307546 984182750 560637528 472407762 208877360 433348815 411999902 751964866 656206261 622918995 789495739 138533159 330318834 790809628 273365488 469384372 244195221 861115508 345072009 42277380 38372578 375673341 354949635 117347524 555548888 593587398 451474906 524542574 745924515 819523467 728357838 389956215 551345512 801326287 288542157 710113373 355756362 815472010 49212342 830162158 297133830 86361620 683489839 938914563 19140171 553190572 211333607 59706771 766504018 491294665 859962837 726124644 897789362 979580407 953838288 861115508 760624728 22393976 914291169 505655512 834500260 345102555 70161655 861208333 146171038 726124644 480210823 993786079 95779603 132774876 596367148 -1 206014003 115639466 214317232 4610166 435984127 999101537 57551192 790809628 943374902 563675995 750429264 788878491 757544011 681823792 908463563 262575582 609637013 32796250 284387166 729352677 321331882 400907045 757544011 942384956 644336340 842871738 667300705 976942240 601762202 565554630 149830598 608724072 70161655 336862767 220059095 533560917 114396999 302277738 977467597 577714620 447434673 728357838 170824557 623090438 223030820 372510013 692204091 507969865 731745766 186539666 989696303 850351456 295958449 789495739 804352169 664295306 784371166 201066749 817331802 495336832 663307073 337502849 619868736 301714930 79323336 868838278 318110611 484471406 985045640 591700510 690863334 198628726 113811391 254756796 433348815 -1 769837665 60978603 321467204 893860727 845459462 171504845 452820542 4610166 293155218 861383306 219896364 647427996 914662962 116545387 155997760 857269083 688597242 372910848 885077908 275610416 880938198 203493552 543122079 437517579 721867658 138533159 339350524 477076784 571736161 60978603 349772488 782594982 730756715 938446553 146171038 244155041 627589268 567600315 520011864 57551192 446355059 627589268 393835525 602811046 711503207 490869221 352607876 262575582 980134651 215802236 942627653 203580162 -1 782594982 427618367 953838288 987705926 531136661 982581137 938446553 769545495 984117471 175884183 910994573 284700142 456863895 399202754 92102199 627589268 923159887 880446976 867723620 149830598 420773560 766504018 748186132 284696682 374972287 770680522 880446976 760624728 18794770 531136661 567416830 378409769 685097645 49208976 790909002 446355059 942045496 628984381 801326287 345102555 659501910 562309509 610895287 807820896 406568384 389956215 579991057 868211619 -1 688597242 329959527 863667577 111122929 567600315 -1 354949635 201066749 730824918 59501988 363579344 774937853 346394348 950235340 722672739 389956215 728492414 102379477 268947673 425469326 140113105 979285058 63243152 45426260 168494769 688380735 763281688 332773543 508037594 748526814 420773560 295958449 206644601 490142300 823933296 72794624 663946492 907772025 791183444 49208976 365679164 961821360 767047665 812140416 541460419 832494905 329574367 232531633 219896364 910994573 297175900 731745766 57801759 659932705 432069691 260307180 922220234 595427792 344240078 34584857 260946873 857102413 346188490 327789615 942297502 49212342 368704535 363579344 604148770 676685933 943374902 789495739 87162480 647911422 691214891 318110611 465892383 91064641 610613670 414918047 298868262 832364259 26905429 229821643 286319692 34030354 782594982 633637325 79097209 522063456 461649452 307476694 591284702 321467204 880844104 268947673 549323513 786892734 209977170 182026506 818974853 574417829 499941413 416756465 219896364 87162480 379109457 495241145 920219729 939946968 861208333 635671105 109891495 818014838 34685076 503810504 697374453 731936598 67075526 723933984 730909832 437517579 78898063 163983150 281598862 448316745 29592557 780117964 524542574 922220234 305936785 330785266 454563819 770847694 790809628 861115508 18794770 610895287 493264770 865880334 614297261 254528769 238442797 41260287 55517047 982554231 411907778 73453883 91064641 811841566 462383923 415965469 807820896 703311448 424697572 729178187 466034328 721867658 935910737 420773560 26905429 293155218 712694937 441949925 619868736 319379178 365679164 647911422 613084013 637964511 70161655 641164921 150137560 244155041 145847415 325845006 563732029 453407680 407009263 590783394 308232133 610069705 123550994 860724917 830544982 146197290 291386915 363457997 298868262 330583346 102379477 274831438 806195787 491294665 274831438 807820896 486307671 284859244 84208996 165753 462383923 337458711 765137854 199386661 17012234 456487084 728357838 976942240 323513395 644336340 363811064 603690869 451474906 468107571 901803305 731745766 29592557 725418770 820211254 883564101 345102555 532861718 627589268 560455121 514721585 768744535 922171930 942297502 437863021 107839247 711501588 591284702 711501588 431837446 92112290 566034579 880665324 406483013 867933639 538432928 922220234 215802236 881489135 624015614 288542157 392826688 448707988 340301060 730756715 807648187 443342808 197307546 790909002 194126353 401672699 330583346 358362276 951926549 965067805 216195055 414918047 18404492 709403855 560455121 697184458 403334160 524542574 -1 681823792 174295016 938954818 939563959 946112218 72794624 73453883 507142051 634536293 766504018 665446719 368935143 995194212 667169560 807648187 186539666 472516679 560455121 378610966 867933639 852837035 34030354 295504204 572589546 107596959 658212287 542986495 228902962 891436447 661932839 823787812 718577411 387384744 401672699 341012648 718229961 325845006 115639466 569422962 660639438 689608865 295958449 819523467 66483968 770847694 883564101 73525554 647427996 705622548 858159813 543122079 854062217 207023050 386381016 29287119 957144144 169614935 823933296 532803555 427618367 421927353 336862767 415965469 95779603 428413005 198016418 377651896 950862675 852782081 537867109 280856350 638293140 427618367 699856917 275610416 830994144 421927353 764751417 749101296 553190572 17012234 413494386 443342808 785866095 476084224 807820896 790909002 71713295 223030820 627589268 60978603 705622548 72263116 614459776 401672699 160366715 554782737 663307073 541463939 491294665 777440440 338370105 761888635 626807589 999101537 290604263 750156197 935910737 560814638 46011383 274831438 491294665 484471406 845211351 113804160 274831438 22393976 951926549 -1 471865558 146171038 980936845 644336340 622737539 18299476 599555786 488751710 203580162 942627653 70161655 780117964 859962837 634983639 4610166 784371166 982554231 391779414 891436447 392826688 111985669 658212287 84208996 260307180 466852129 -1 728357838 842306692 3090244 228137178 739554266 644187365 831985335 610613670 942384956 885077908 333260763 -1 937638157 265395517 -1 214924123 330583346 560814638 586392635 333772685 206014003 750763843 700120477 731936598 635671105 553190572 660040051 72794624 372510013 238442797 507969865 338370105 603620710 -1 724422672 298868262 77299524 626807589 569422962 469035792 254528769 130580 818829472 138533159 417425319 532861718 490142300 211362614 676709331 295504204 981763217 49212342 660040051 572311287 907772025 508037594 580283317 88469907 713199217 909186692 37724537 849123482 54164180 21873594 417425319 472407762 70161655 740224085 807262913 659932705 363579344 904818318 854062217 838379139 852837035 522063456 29287119 403334160 464037621 790909002 334677549 842306692 741339101 577758652 490142300 791183444 722874144 600962339 770847694 305936785 312308223 377651896 541460419 464037621 719457202 902419092 818974853 953838288 39885396 880844104 18299476 574924220 831985335 951926549 385144989 679521131 406483013 470690645 518109595 785866095 270206207 580884227 989696303 741463146 644336340 690863334 705622548 112624754 163983150 458547544 385144989 53028773 475822349 107596959 726776295 140395123 433756914 201066749 984182750 470690645 407009263 893652215 252012472 730756715 41260287 785247749 448707988 260307180 318110611 644187365 312308223 909186692 938954818 260946873 213926602 725418770 935910737 656489207 181721636 70161655 904818318 599555786 207023050 980134651 49208976 580470806 610932880 988919874 59706771 19140171 578238211 96109344 610932880 679275202 763281688 433114786 335890204 520086201 512615132 199386661 102379477 763183908 95779603 850101344 325845006 244155041 664490073 41524303 908705907 705622548 232018015 849035201 699856917 387384744 966561320 897789362 535432483 349772488 865880334 165622114 408497768 658388576 228902962 358362276 340301060 319424815 613084013 724422672 163789960 771459106 574417829 53028773 656489207 490142300 742174392 751316591 937638157 481127177 579783784 417425319 191697350 367754743 307476694 216195055 453407680 416756465 764751417 641205608 111122929 857102413 330785266 54164180 760593154 893652215 79097209 491978273 471865558 768744535 764751417 624015614 588150191 871898006 17012234 67592009 863667577 32796250 411999902 563675995 78898063 149052945 761021239 307476694 203493552 493264770 624015614 468107571 508037594 901803305 19140171 384604556 532803555 201066749 563675995 832364259 78898063 655834254 59706771 229821643 614459776 604148770 194126353 495241145 155997760 424697572 377651896 914662962 984895249 365679164 295805912 113804160 391779414 633637325 938954818 818974853 961821360 373683372 444874800 379213018 614459776 880446976 682038125 691504106 466034328 660738659 785247749 194126353 574417829 182659876 425469326 982693874 117347524 602811046 493264770 818974853 113804160 922220234 863667577 161017478 336688564 297133830 977619929 206644601 63562141 446355059 228902962 860724917 914206506 268947673 610069705 149052945 559785274 723933984 459789430 130431610 660738659 468107571 495241145 574417829 197115342 914291169 150137560 997299598 34030354 217928587 656489207 -1 432069691 372510013 37724537 647911422 395983136 38372578 663946492 386381016 512615132 999101537 117303447 974521569 533560917 435984127 834500260 957643716 524972471 980936845 329542777 763856958 325287502 298868262 102379477 919585635 163983150 414918047 942627653 34685076 481127177 420773560 916321789 729352677 982581137 639572212 562309509 247165890 879954113 712694937 1713096 599555786 216195055 765954927 779829204 192251969 908463563 770278321 980936845 820211254 830994144 335890204 206644601 28416726 697184458 748186132 564190579 209977170 893652215 456863895 850636024 822261941 658212287 337458711 691740164 543122079 308232133 411999902 791932302 618312173 325845006 418807544 297175900 620059513 966503495 705622548 594204193 288628682 668281990 265395517 756425389 368704535 433439854 690664050 660040051 922220234 785247749 561494895 637964511 -1 691504106 965993467 524542574 477076784 198628726 664295306 26537314 413494386 283107224 807648187 284700142 358362276 431837446 599555786 679670176 531136661 893652215 22576092 234968285 414918047 859063396 739554266 812140416 208877360 466852129 385144989 660639438 495241145 739554266 377651896 859063396 702444538 330318834 691740164 795730704 850101344 308232133 593587398 254756796 318110611 57551192 453407680 937638157 893652215 54153332 728492414 338370105 486307671 857102413 512615132 565554630 914206506 208028672 378409769 833220245 433439854 116545387 967987535 295504204 848715178 861115508 591284702 438872920 551345512 138533159 724422672 679521131 582861386 29592557 392826688 22576092 208028672 599555786 163091630 46410909 920219729 658388576 206014003 319424815 729178187 880446976 535432483 968396048 130580 567416830 307476694 81866966 527897224 942045496 271516194 669655791 602811046 704672739 927530478 836680980 495336832 29272319 705118513 524542574 318110611 327982936 664295306 352607876 812140416 378409769 942384956 163789960 977467597 188196698 345072009 596367148 182429059 635671105 691740164 486307671 937638157 833246783 893897082 548806448 984182750 424146759 273365488 702444538 651109313 882812597 420773560 858159813 524542574 718577411 107596959 416756465 29592557 140395123 881489135 790909002 705118513 207023050 163091630 22576092 721867658 768744535 745924515 688597242 790909002 768744535 560556517 49212342 447434673 891573253 290604263 477076784 746419439 38372578 644187365 979580407 923159887 946112218 660040051 599555786 973579758 610069705 596943234 37724537 81866966 345072009 163091630 114396999 700120477 346394348 329574367 620059513 981763217 43897314 444874800 518109595 -1 690664050 365407761 819523467 986331373 325287502 215802236 234968285 683489839 707186544 14405655 880844104 717390689 891573253 749101296 722874144 811841566 163091630 387384744 922171930 228902962 208028672 469384372 418807544 763183908 662235717 321467204 789495739 454563819 922171930 645695407 728492414 211550817 817331802 868838278 387384744 53590481 614459776 456863895 937638157 155376172 938446553 686865014 592274818 807648187 425469326 845459462 520086201 438872920 691740164 561494895 782594982 107596959 456863895 229515163 399202754 779829204 162425880 685097645 953838288 880665324 1713096 67592009 645695407 291386915 647911422 154693260 849035201 649175882 806195787 57801759 538432928 967987535 75228974 724422672 59706771 386381016 655834254 189854783 623090438 997299598 206644601 336688564 560814638 596367148 823933296 712694937 411999902 638076633 67075526 29287119 57801759 115470851 303139271 117303447 626837013 991067365 428747955 18404492 208028672 608724072 939946968 864350394 274831438 243995015 244195221 746419439 63562141 26375227 893897082 454563819 610069705 726776295 676709331 298868262 74820195 468107571 774937853 812140416 588150191 283107224 923159887 211333607 130580 910994573 683489839 112624754 263636646 676709331 723933984 110556435 231771136 420342620 819523467 519762398 641164921 930790502 22393976 260307180 63243152 681690682 525617132 910994573 72643683 355126439 993786079 676709331 729941138 446355059 718229961 982693874 567600315 632336991 346394348 628220249 47116225 560637528 145847415 54153332 411907778 774937853 953838288 146171038 836680980 197115342 375673341 760624728 67075526 363457997 181721636 60978603 18299476 188196698 575485118 582319429 284700142 710730165 669655791 532803555 475822349 372510013 53028773 111122929 159647580 457715535 641205608 939563959 271708247 507969865 432069691 198016418 999101537 520086201 329959527 691740164 234968285 427675535 373771611 726776295 116545387 17012234 602811046 750769230 942384956 761021239 462383923 989696303 667169560 946112218 12903603 518109595 205644911 296417374 431837446 782927012 335890204 667841561 37081879 183843307 622823007 77299524 207023050 330583346 577758652 667841561 991067365 198628726 368704535 159056677 745924515 88469907 660639438 456487084 53028773 520086201 319424815 655834254 437517579 365407761 950629972 57801759 847840320 822261941 660040051 306854073 518109595 386935154 469743398 711503207 246216644 293155218 669125354 623090438 999101537 499941413 367754743 354949635 666590606 603620710 590783394 860724917 721120553 444874800 507969865 192251969 476084224 358191652 993786079 974521569 764751417 883564101 110012494 415965469 574924220 603690869 142117376 635671105 541460419 163091630 387384744 188196698 437517579 174295016 499941413 691740164 72794624 413494386 741463146 475822349 692204091 203018461 468107571 527985132 155906400 431837446 593587398 46011383 329959527 970265761 791183444 817331802 4610166 86361620 477076784 34685076 979580407 610895287 87162480 424697572 352508141 188196698 464037621 477076784 922220234 608724072 348123399 181721636 819523467 203018461 466852129 680666684 262575582 149052945 335743200 836680980 914662962 154693260 308705211 130580 976942240 721120553 78898063 580884227 984182750 358191652 330583346 365407761 53590481 163789960 748186132 161017478 87162480 788878491 46011383 262575582 374972287 298868262 541460419 649175882 420425052 750769230 620059513 565554630 591284702 811841566 220059095 159056677 79323336 94630229 891436447 275610416 368935143 689608865 741463146 22576092 847840320 620059513 586392635 198628726 -1 421927353 113811391 758575350 993786079 2433982 750156197 471865558 84062198 387384744 848715178 127278512 995194212 836680980 888304663 368704535 214924123 880446976 43392732 203493552 565554630 599555786 55517047 823787812 22576092 363811064 782927012 774937853 572311287 415965469 919585635 199386661 632336991 957643716 296417374 215802236 211550817 867723620 41260287 909186692 57801759 693375965 525617132 923159887 469743398 42277380 472407762 41260287 468199498 750769230 966561320 569422962 622918995 541460419 951926549 208493418 291386915 2433982 381881872 203493552 130431610 958339854 77299524 819963767 782619049 456863895 728492414 159056677 42277380 525617132 740224085 750769230 833246783 241693686 88469907 647427996 922220234 137132982 567416830 997432376 938954818 595427792 53590481 567416830 830162158 667169560 408244002 491543933 723933984 417425319 182026506 275463593 852837035 206644601 312308223 117303447 770847694 604148770 822261941 801169129 801326287 503810504 418807544 63243152 345072009 937633254 471865558 914206506 907456227 381881872 211333607 626807589 119601349 734712823 578238211 337458711 785247749 437863021 831985335 29287119 340301060 53028773 175554418 531136661 667169560 890844482 922220234 620059513 661932839 603620710 863278761 669125354 942297502 135519629 491294665 852837035 812140416 70161655 408244002 318110611 704672739 610932880 791932302 686385319 110012494 280856350 701070480 71713295 284696682 305936785 833220245 421927353 614459776 755527023 647290016 293155218 660639438 379109457 246216644 907456227 163091630 665446719 676685933 812752908 894991717 117347524 559785274 762227828 667169560 526755095 81866966 207023050 846213413 782619049 590783394 168494769 562288215 966503495 882812597 495241145 469384372 658212287 645695407 974448855 565554630 770278321 308232133 -1 63243152 333772685 484471406 894267291 729178187 740364356 72621546 561494895 211070558 907772025 335890204 697184458 213926602 485683712 150137560 355126439 909186692 189854783 838379139 645276436 365407761 428747955 174295016 577714620 211550817 138533159 43392732 880446976 580884227 729352677 817693389 349772488 321331882 908705907 177905368 13384724 722874144 77564723 37724537 764751417 707186544 208877360 260946873 610069705 250810872 239254051 770278321 579783784 373683372 84062198 171221433 387384744 741339101 323513395 894267291 395983136 823787812 167036027 437517579 283107224 181721636 979285058 655834254 393835525 274831438 721867658 828722364 850101344 999674172 574924220 784371166 740364356 860724917 84208996 989696303 965993467 768744535 578238211 705622548 846213413 668281990 555828167 786075537 54153332 857102413 149052945 110012494 916738849 32796250 741339101 349032071 43392732 387384744 729352677 155906400 535432483 462383923 363811064 592274818 327982936 198703751 567416830 610069705 692204091 907456227 916321789 922220234 818829472 832494905 951926549 503810504 563732029 96109344 691740164 327789615 564190579 590783394 365679164 543006155 165622114 818829472 580918883 214924123 865880334 609637013 688380735 639572212 66483968 34030354 508037594 692204091 923159887 638076633 854062217 59706771 421927353 335890204 818014838 246216644 355126439 845459462 111122929 456863895 127278512 336688564 275463593 490142300 288542157 70161655 914662962 987705926 333260763 47116225 26905429 469743398 112624754 535432483 871898006 161017478 644187365 155997760 818829472 580470806 631700842 156929061 786892734 167415720 72794624 594204193 384604556 335890204 243341711 413843857 373683372 633637325 420773560 812140416 912506727 281598862 927530478 112624754 53590481 295958449 574924220 594204193 229405480 507969865 610613670 908705907 53028773 29272319 560556517 523542917 860724917 999101537 613084013 386935154 532803555 768744535 989696303 21873594 209977170 358191652 378610966 968396048 110556435 508037594 988919874 57551192 332773543 275610416 56105859 610613670 937638157 750156197 894991717 537867109 707186544 734712823 60744503 692204091 453407680 102379477 804352169 750763843 644187365 468199498 638011115 286319692 484471406 377651896 465892383 879954113 627561325 403334160 578238211 433348815 939946968 352607876 975269268 77299524 713199217 522063456 708274346 456401701 303139271 29287119 858159813 729941138 288628682 387518405 997432376 610932880 818829472 45426260 363457997 491543933 274831438 999101537 771459106 95443860 760593154 491978273 72794624 526755095 302277738 149052945 377651896 682038125 524542574 420342620 946112218 785376602 568090820 919585635 237773442 387518405 613084013 363579344 372510013 664490073 113811391 637964511 543006155 588150191 614297261 357329820 542986495 804352169 209977170 982581137 965993467 960643177 301714930 319424815 41524303 857269083 325287502 244155041 77564723 215802236 495336832 849035201 177905368 466034328 107808575 741463146 746419439 667300705 263636646 175590565 742174392 345392984 422331486 667841561 327982936 229515163 384604556 695553778 110556435 523542917 209977170 551345512 817331802 614459776 658212287 863278761 112302971 691214891 908463563 490869221 175144765 854398124 950235340 238951985 79213361 908705907 346188490 602811046 67075526 704672739 386935154 346188490 494923774 649175882 563675995 602811046 312308223 716182336 337502849 561494895 679521131 41260287 830544982 830544982 296417374 679521131 910794274 348123399 175590565 17012234 601762202 -1 53028773 554782737 807820896 661932839 372510013 229515163 413843857 456401701 1713096 28576479 102379477 284859244 1713096 60081926 861208333 150137560 580884227 161017478 206287347 967987535 560637528 815472010 977467597 785247749 448707988 56105859 690863334 795730704 943374902 845459462 610932880 728357838 448316745 507142051 229821643 563823514 159647580 33812208 647911422 683489839 447434673 658212287 998120269 339350524 21873594 679521131 567600315 832364259 586392635 140113105 868211619 454563819 32466209 113804160 722874144 970265761 201066749 352508141 688380735 352607876 590603969 507142051 67075526 32796250 880844104 323513395 638011115 811841566 880844104 345072009 391779414 527985132 849123482 894991717 660040051 427675535 -1 433114786 658388576 254528769 -1 580283317 942627653 33812208 387518405 574417829 836680980 95779603 667169560 560556517 770847694 63210631 84062198 207023050 459789430 168494769 881489135 57606083 938446553 67592009 345392984 79323336 849035201 912506727 466034328 951926549 162425880 806195787 206014003 70161655 122067182 477076784 562288215 823787812 904818318 750769230 -1 662235717 726124644 712694937 857269083 -1 -1 321331882 543122079 368935143 665446719 594204193 413843857 198628726 473150723 491543933 610895287 505655512 -1 659501910 154693260 532803555 275463593 110556435 91064641 241693686 481127177 155906400 689608865 368935143 11796756 161017478 742174392 939946968 850351456 890844482 238442797 721867658 769837665 385144989 919585635 749101296 81866966 308705211 760624728 563675995 490869221 495712606 634983639 29734308 149830598 13384724 330583346 850636024 198016418 705118513 562309509 730824918 614593757 323513395 67075526 610069705 711501588 208493418 49208976 469743398 726776295 461274569 308232133 107596959 580470806 505655512 203580162 750156197 363579344 114396999 739554266 47116225 914291169 72643683 275610416 691740164 758575350 239254051 306767836 845459462 659501910 472407762 232018015 522063456 861208333 286319692 177905368 922220234 368704535 661932839 146171038 476084224 688380735 586985028 572311287 712694937 435984127 275610416 628220249 448316745 319424815 217928587 608724072 566034579 836680980 669742991 998120269 799467751 211333607 942627653 26905429 191697350 804352169 710730165 729178187 610069705 590783394 262575582 767047665 194126353 722874144 823787812 968396048 329542777 228902962 401672699 807262913 647911422 758575350 592274818 177905368 847840320 850101344 958339854 880938198 980936845 60978603 340301060 549323513 63562141 966503495 980134651 765954927 116545387 203493552 132774876 154693260 958339854 514721585 159647580 345102555 939946968 755527023 461274569 975269268 610069705 535432483 713199217 647911422 281598862 135519629 444874800 564190579 681823792 662235717 77299524 493264770 579991057 675786233 953838288 468107571 241693686 541460419 553190572 757544011 183843307 914291169 197115342 774937853 655834254 790909002 295805912 77299524 186539666 668250239 491543933 206287347 626837013 832494905 33812208 79323336 507969865 270206207 980134651 468199498 600962339 729352677 428142800 863278761 718577411 897789362 664295306 774149146 491294665 96109344 586985028 591284702 112302971 165753 582861386 522063456 848715178 71713295 265395517 -1 229821643 469035792 140113105 73525554 -1 260307180 689608865 609637013 904818318 785866095 524972471 95443860 26905429 271516194 567600315 867933639 456401701 214924123 769854437 907772025 484471406 729352677 527897224 541463939 -1 53028773 42277380 867933639 842306692 842871738 868211619 367754743 634536293 729941138 384604556 777440440 387384744 407009263 537867109 -1 686649778 953838288 377651896 572311287 965993467 848715178 448707988 782927012 662235717 559785274 976942240 274831438 751964866 953838288 171504845 398981201 301334993 710113373 169614935 367754743 701070480 327982936 807648187 11796756 832494905 707186544 527985132 965067805 346188490 655834254 942384956 763281688 922220234 729941138 66483968 575485118 238442797 470803824 763183908 469743398 488751710 957144144 451474906 84208996 861383306 274831438 74820195 189854783 100130908 250810872 60081926 670408229 156929061 564190579 834500260 718229961 198016418 786075537 537867109 431837446 46410909 937633254 406430184 582861386 784371166 975269268 47116225 564190579 132774876 718577411 679670176 386381016 505655512 67075526 888304663 465892383 494751627 21873594 666590606 804352169 163983150 63243152 769854437 965067805 115639466 769837665 97299507 987705926 484471406 291386915 951926549 520086201 999674172 942384956 111122929 207023050 602811046 476084224 46410909 276260520 60744503 551345512 819523467 238442797 244155041 327789615 690664050 71713295 201066749 608724072 590603969 424697572 341012648 490142300 880665324 70161655 830994144 721867658 -1 507969865 137132982 175884183 495712606 317871021 975269268 667300705 14405655 731936598 920219729 54153332 92112290 574924220 891436447 613084013 262575582 111985669 335890204 217928587 213926602 503810504 49208976 667841561 814490763 188196698 138533159 321467204 306854073 721867658 591284702 73453883 59706771 472407762 387384744 740224085 216195055 97299507 229821643 927530478 494751627 -1 192251969 330785266 91064641 522063456 675573324 21873594 614297261 782927012 462383923 893652215 832364259 406568384 28576479 569422962 177905368 37081879 275463593 610932880 338370105 122896725 336688564 891573253 182659876 207023050 55517047 789404113 860724917 883564101 464037621 849035201 29272319 96109344 670408229 46485154 95443860 518109595 46410909 243341711 699856917 199386661 18404492 70161655 263636646 401672699 647290016 308705211 549323513 664490073 60744503 244155041 716182336 229515163 341012648 465892383 457715535 355126439 670979891 832364259 228137178 270206207 815472010 619868736 541460419 42277380 883564101 495241145 819963767 763856958 818829472 881489135 914662962 77564723 100130908 942045496 428142800 198703751 614593757 881489135 661932839 767047665 711503207 456401701 801402068 604148770 406430184 729352677 77564723 742174392 415965469 77299524 627561325 685423362 471865558 13841075 609637013 669125354 473150723 655834254 484471406 769837665 788878491 904818318 799467751 199386661 265395517 559785274 254167164 346394348 427618367 117347524 441949925 699856917 622823007 961821360 690863334 850636024 780117964 560637528 73525554 238951985 637964511 966503495 53590481 766504018 950862675 271516194 354949635 468199498 750769230 880938198 880844104 852837035 355756362 243995015 638293140 96109344 577714620 849035201 66483968 160366715 562309509 416739210 413494386 408497768 7545447 471865558 846213413 107596959 86256730 893652215 321331882 228902962 244883660 728357838 73525554 247165890 332773543 864561721 604148770 705118513 526755095 852782081 26905429 705118513 979580407 437863021 786969334 461274569 368704535 72794624 857269083 416739210 109891495 395983136 626807589 249558965 13384724 525617132 84062198 533560917 -1 113811391 578238211 34685076 669742991 774937853 444874800 559785274 164542502 641164921 352508141 211333607 333772685 363579344 610895287 563675995 -1 241693686 91064641 231771136 254756796 689608865 614459776 854062217 579783784 175590565 488751710 699856917 974448855 716182336 271516194 177905368 18404492 731936598 991067365 627376276 337502849 989747990 154693260 420342620 335743200 538432928 214924123 559785274 109891495 457715535 387384744 852782081 232531633 337502849 920219729 295805912 330318834 784597145 117303447 441949925 645695407 137132982 627561325 560455121 34685076 55517047 373683372 470690645 628984381 704672739 420342620 96109344 291386915 211550817 109891495 967987535 146197290 782927012 72263116 138790019 92160628 689897360 159647580 447434673 466034328 145847415 666590606 493264770 475822349 614297261 522063456 171504845 814490763 910994573 975269268 623188968 459789430 695553778 109891495 543122079 725418770 609637013 47116225 675786233 966503495 995194212 228137178 676709331 379213018 774149146 722874144 710113373 469743398 426480224 881489135 451474906 329542777 750156197 100130908 84208996 785866095 486307671 864561721 790809628 740364356 524542574 57551192 140395123 117347524 284700142 594204193 637964511 555548888 868838278 211362614 177905368 635671105 885077908 327982936 859962837 860724917 614297261 586392635 161017478 782927012 206287347 66483968 966561320 378409769 768744535 719457202 765954927 149830598 763183908 523542917 175884183 582861386 392826688 579783784 250810872 70161655 768744535 433439854 880844104 146171038 428747955 989747990 288628682 155906400 610069705 637964511 751964866 560814638 622737539 406430184 49208976 579991057 863667577 631700842 286319692 577714620 37081879 566034579 26375227 418807544 935910737 368779111 345072009 904818318 198628726 746419439 159647580 122067182 86361620 413843857 627376276 453407680 -1 600962339 734712823 91064641 833220245 827132364 295958449 634983639 638076633 842871738 481127177 951926549 689608865 17012234 243341711 807648187 686649778 127278512 563732029 741339101 791183444 812140416 603690869 613084013 36050763 248636995 731936598 79323336 883564101 160366715 639572212 676685933 565554630 858159813 850636024 477076784 620059513 454563819 620059513 146197290 579991057 977467597 333772685 459789430 705622548 107808575 276260520 604148770 560556517 107596959 18299476 303139271 590603969 562288215 12903603 60744503 95779603 815472010 149830598 560455121 916738849 14405655 765954927 29272319 29592557 765137854 864350394 761888635 818829472 725418770 329959527 879954113 586985028 728492414 676709331 721120553 214317232 688380735 325845006 663667470 162425880 817331802 757544011 469384372 32796250 232531633 406568384 290604263 302277738 149830598 146171038 411999902 533560917 490869221 53028773 692204091 806195787 208493418 70161655 973579758 336688564 995194212 782927012 651109313 301714930 666590606 59706771 609637013 979285058 721120553 858159813 244883660 665446719 572311287 59501988 916738849 1713096 26905429 241693686 46485154 239987054 575541534 799467751 680666684 -1 53028773 719457202 301714930 379213018 244155041 622918995 582861386 344240078 632336991 408497768 890844482 811841566 387384744 117303447 312308223 49212342 548806448 163091630 641164921 982693874 319379178 864350394 18404492 77564723 265395517 219896364 766504018 950862675 60978603 159647580 130431610 312308223 937638157 355756362 165622114 237773442 668250239 188196698 420425052 942627653 867723620 53590481 967987535 748186132 288542157 920219729 306767836 243995015 974448855 268947673 389956215 451474906 968396048 766504018 669655791 656489207 115639466 43897314 433756914 753145692 503810504 574924220 325287502 850351456 624015614 182659876 863278761 769545495 477076784 198703751 690664050 938954818 72643683 723200871 7545447 580283317 541463939 414918047 42277380 308232133 763281688 306767836 206014003 37081879 319379178 989747990 527897224 910994573 413843857 916321789 198016418 593282222 729178187 690664050 861208333 560814638 699856917 740224085 683531283 330785266 386935154 -1 473150723 468107571 619868736 206644601 901803305 45426260 375673341 789404113 575485118 -1 891573253 1713096 254528769 163983150 614459776 976942240 29287119 417425319 399202754 868838278 441949925 389956215 838379139 470690645 519762398 137132982 228902962 229515163 591284702 982693874 428747955 355756362 689608865 464037621 753145692 751316591 433756914 675573324 982693874 937633254 459789430 286319692 441949925 950629972 260946873 145847415 387384744 751316591 914291169 741339101 819523467 102379477 769854437 999101537 112624754 672907310 997432376 697374453 56105859 297133830 602811046 942045496 393835525 488751710 228902962 281598862 32796250 243995015 788878491 626807589 871898006 745215401 681823792 579783784 115639466 852782081 560637528 977619929 345392984 991188064 830994144 81866966 494923774 712694937 155906400 672907310 325287502 386381016 533560917 306854073 231771136 387518405 575541534 763183908 930790502 723933984 435984127 857269083 989696303 910794274 610613670 907772025 916321789 473150723 602915291 149052945 238951985 854398124 864561721 758575350 78898063 723933984 75228974 57801759 92102199 966503495 881489135 168494769 784371166 363811064 494751627 863667577 894267291 758575350 95443860 211362614 87162480 942045496 437517579 297133830 472407762 298868262 668250239 910794274 295958449 815472010 914206506 970265761 761021239 859962837 769545495 610613670 182026506 807262913 729941138 542661640 447434673 288542157 649175882 823787812 563675995 495336832 433348815 77564723 32466209 740364356 244195221 319424815 596367148 957643716 904818318 946112218 937638157 22576092 709403855 564190579 832364259 446355059 344240078 203018461 893652215 768744535 966503495 303139271 469743398 685097645 699856917 647290016 818014838 503810504 888304663 22393976 491978273 520086201 667169560 92112290 729352677 470690645 937633254 627561325 73453883 750763843 811841566 588150191 970265761 55517047 647427996 935910737 664295306 667300705 734712823 610069705 693375965 974448855 19140171 86361620 973579758 206014003 182659876 762227828 641164921 769545495 868838278 703311448 217928587 57801759 297175900 432504521 942297502 740364356 453407680 46485154 661932839 319379178 205644911 577758652 974448855 192251969 437863021 160366715 499941413 729178187 586392635 566096351 667300705 32796250 243341711 247165890 846213413 262575582 748186132 490869221 330318834 632336991 920219729 228137178 818974853 686865014 473150723 807820896 399202754 859063396 469384372 199386661 113811391 760624728 345392984 542661640 254167164 122067182 295805912 645276436 785376602 849123482 763281688 306854073 822261941 290604263 882812597 861383306 175554418 667841561 943374902 329542777 137132982 647290016 54153332 721867658 318110611 586392635 373771611 29734308 466852129 758575350 811841566 354949635 91064641 801326287 -1 32466209 578238211 435984127 981763217 421927353 484471406 993786079 842871738 644336340 707186544 319424815 232018015 79323336 774937853 198016418 332773543 115470851 761021239 586985028 741339101 801169129 54164180 624015614 306854073 295805912 614297261 953838288 832364259 811841566 232531633 86256730 989747990 960643177 213926602 197115342 508037594 691504106 495712606 444874800 563675995 416739210 633637325 526755095 681690682 298868262 43392732 641164921 358362276 610069705 784597145 859063396 679521131 454563819 881489135 477076784 232531633 203580162 867933639 336862767 801169129 42277380 495336832 28416726 579783784 234968285 406568384 658388576 73453883 702444538 308232133 81866966 161017478 848715178 785376602 298868262 995194212 495712606 77564723 470690645 237773442 861383306 365035648 401672699 438872920 930790502 308705211 337502849 86361620 575541534 804352169 908463563 596943234 308232133 569422962 206644601 437517579 142117376 740364356 198703751 57801759 979285058 228902962 770278321 722874144 791932302 59706771 590783394 641205608 60744503 977467597 247165890 548806448 165753 912506727 992563691 823787812 398981201 494751627 406717194 592274818 367754743 711503207 638076633 818014838 243341711 938914563 456487084 234968285 355126439 306854073 804352169 319379178 836680980 448707988 271708247 580283317 975269268 95443860 553190572 848715178 26375227 991188064 228137178 987705926 697184458 88469907 427675535 897789362 699856917 785376602 268947673 930790502 849123482 675786233 845459462 368935143 203580162 -1 791183444 297133830 263636646 411907778 507142051 387518405 707186544 527985132 305936785 893652215 710113373 836680980 842306692 909186692 19140171 591284702 301714930 910794274 782619049 579991057 330318834 761021239 77299524 801326287 610069705 95443860 491294665 562288215 708274346 667300705 428142800 592274818 588150191 730756715 974448855 207023050 939563959 966503495 710730165 903297209 431837446 551345512 500268473 750429264 494950691 123550994 149052945 111122929 488751710 432504521 613084013 229515163 707186544 632336991 707186544 378409769 451474906 785866095 420425052 761888635 555828167 398981201 831985335 768744535 645276436 265395517 354949635 602915291 175884183 571736161 111985669 476084224 155376172 729178187 295805912 291386915 203580162 618312173 986331373 368704535 281083465 857102413 937638157 568090820 248636995 271708247 466034328 974521569 307476694 345392984 608724072 358191652 466034328 426480224 117303447 102379477 107808575 614593757 327789615 78898063 -1 659501910 980936845 275463593 60744503 942384956 488751710 29287119 938954818 238442797 254528769 208028672 937633254 368935143 250810872 571736161 215802236 229405480 728357838 481127177 863667577 298868262 466034328 560814638 626807589 769854437 215802236 46485154 94630229 393835525 79097209 968396048 368779111 800463769 938954818 160366715 38372578 989747990 170824557 249558965 974521569 503810504 850351456 644187365 91064641 881489135 32466209 622918995 468199498 244883660 163983150 372510013 634536293 499941413 182026506 988919874 411907778 271708247 335890204 469384372 36050763 -1 481127177 891573253 1713096 150137560 203580162 378610966 274831438 574417829 655834254 982693874 664295306 491294665 341012648 638293140 596943234 770847694 883564101 730824918 431837446 814490763 117303447 555548888 17012234 748186132 306767836 247165890 859962837 543122079 771459106 730756715 110556435 535432483 832494905 91064641 512615132 243995015 60081926 785866095 72621546 806195787 59501988 26537314 590138438 968396048 664490073 286319692 566034579 716182336 37081879 171221433 859063396 435984127 701070480 527985132 610613670 893860727 481127177 709403855 18404492 274831438 710113373 459789430 807262913 750429264 634983639 943374902 845459462 238442797 538432928 858159813 400907045 953838288 46011383 70161655 667169560 73453883 57551192 215802236 368704535 155376172 610932880 791932302 244155041 476084224 728492414 659932705 989696303 740364356 495712606 622737539 473150723 117303447 659501910 914291169 760624728 34030354 560637528 807648187 341012648 946112218 132774876 707186544 982554231 365679164 110556435 155997760 14405655 123550994 208877360 111985669 950862675 981763217 332773543 115639466 656489207 995194212 490142300 830544982 113804160 57551192 693375965 520011864 563732029 561494895 760593154 378610966 554782737 500268473 368764047 691504106 219896364 330318834 165753 -1 631700842 893897082 695553778 951926549 989696303 599555786 433348815 880938198 503810504 26375227 531136661 70161655 43392732 79213361 288628682 756425389 859063396 981763217 651109313 424146759 329959527 785247749 426480224 981763217 72263116 413494386 966561320 229515163 614459776 457715535 624015614 417425319 352607876 18299476 298868262 920219729 318110611 726124644 566034579 788878491 685423362 318110611 476084224 -1 407009263 980134651 28416726 191697350 32466209 938914563 950235340 847840320 893652215 717390689 416739210 680666684 950629972 786075537 60081926 223030820 514721585 981763217 730824918 59501988 603620710 595427792 414918047 852782081 63562141 663946492 881489135 349772488 968396048 711503207 -1 189854783 894991717 154693260 149830598 457715535 46945925 565554630 175884183 87162480 610069705 768744535 957144144 413494386 216195055 881489135 601762202 859930182 811841566 434526689 531136661 541463939 633637325 49212342 420773560 336862767 363811064 372510013 149052945 676709331 590603969 751316591 690664050 608724072 582861386 401672699 647911422 499941413 527897224 531136661 788878491 201066749 92112290 161017478 854398124 610895287 647290016 22393976 664295306 283107224 950235340 485683712 368704535 938954818 -1 709403855 566034579 767047665 668250239 645695407 819963767 468107571 135519629 307476694 711501588 532861718 801169129 145847415 54153332 770847694 33812208 883564101 722672739 582861386 13384724 637964511 514721585 973579758 610932880 333260763 223030820 333772685 375673341 401672699 541463939 470690645 67075526 664295306 883564101 942297502 183843307 655834254 891573253 3090244 596367148 335890204 567600315 526755095 100130908 939563959 739554266 541460419 78898063 162425880 726124644 659932705 223030820 53590481 118534662 682038125 998120269 755527023 329959527 211070558 739554266 232018015 784597145 718577411 223030820 938954818 335743200 845211351 456401701 801326287 480210823 281083465 728357838 943374902 718577411 421927353 480210823 181721636 647427996 12903603 520011864 888304663 750429264 84062198 262575582 102379477 685423362 705118513 46410909 613084013 815472010 973579758 867723620 683489839 984895249 789404113 609637013 199770581 107839247 247165890 319424815 7545447 761888635 815472010 527897224 84208996 96109344 919585635 791932302 55517047 590783394 92102199 228902962 122067182 859962837 203580162 880938198 746419439 34584857 863667577 623188968 950235340 349032071 782619049 265395517 57551192 72621546 800463769 271708247 950862675 748526814 53590481 223030820 705118513 330785266 480210823 271708247 276260520 685423362 491294665 469384372 586392635 785247749 175554418 538432928 718577411 156929061 323513395 32796250 721867658 916321789 372510013 420425052 254756796 169614935 295958449 330785266 958339854 132774876 705622548 923159887 7545447 879954113 634983639 475822349 815472010 110556435 748186132 211333607 260946873 800463769 599555786 165622114 656206261 239987054 385144989 182429059 352607876 127278512 852837035 411907778 777440440 953838288 238442797 41260287 177905368 493264770 132774876 804352169 358362276 586392635 181721636 398981201 386935154 377651896 997299598 248636995 149052945 722874144 432504521 760593154 508037594 614297261 768744535 377651896 683531283 920219729 686385319 590783394 575541534 916738849 26537314 880665324 957643716 542661640 433756914 92112290 562288215 910794274 243995015 880446976 982581137 827132364 992563691 577714620 639572212 770847694 916321789 401672699 730756715 942297502 780117964 379213018 667300705 428142800 970265761 804352169 368935143 818974853 538432928 667841561 859962837 -1 406717194 791932302 533367205 622823007 518109595 29272319 957144144 812752908 211333607 818014838 229515163 67075526 329542777 372510013 171504845 831985335 910994573 731745766 138790019 468107571 319379178 330785266 999674172 115470851 922220234 348123399 177905368 403334160 663946492 861383306 117303447 997432376 247165890 443342808 830994144 94630229 219896364 182659876 308705211 290604263 46485154 88469907 254528769 647290016 254528769 378409769 168494769 182659876 863667577 293155218 4610166 863667577 974448855 590603969 428413005 426480224 490142300 462383923 22393976 610932880 477076784 308705211 966561320 822261941 333260763 661932839 92160628 333772685 145847415 830162158 365035648 413843857 628984381 628984381 789495739 591284702 -1 763856958 723933984 339350524 560455121 171504845 679275202 782927012 43392732 527897224 194126353 691504106 658388576 817693389 579991057 891436447 644187365 902419092 508037594 542661640 495336832 753145692 29592557 950235340 882812597 154693260 970265761 260307180 686649778 499941413 830162158 806195787 489295045 349032071 660040051 443342808 244883660 206644601 367754743 462383923 847840320 411999902 730756715 321467204 553190572 115639466 163789960 234968285 731936598 691214891 520011864 691504106 138533159 655834254 760593154 466034328 391779414 113811391 679521131 551345512 332773543 191697350 982581137 979285058 867933639 563732029 765954927 337458711 494751627 532861718 192251969 726124644 301714930 305936785 46410909 655834254 656489207 982693874 41524303 572589546 232531633 765954927 686865014 880938198 579690895 206644601 433439854 34685076 444874800 206644601 18404492 457715535 208493418 271708247 305936785 942384956 363811064 867933639 198703751 975269268 181721636 443342808 688380735 910794274 46945925 658212287 34030354 753145692 645276436 627561325 593282222 579690895 560556517 801326287 993786079 456401701 476084224 664490073 208028672 163091630 507142051 627561325 571736161 78898063 203018461 702444538 38372578 676709331 922220234 26905429 658212287 476084224 162425880 395983136 628984381 408244002 71713295 680666684 163789960 942297502 786969334 107839247 628220249 788878491 769545495 18299476 561553313 922220234 94630229 321331882 149830598 624015614 777440440 418807544 818829472 828722364 386381016 288542157 711501588 308705211 452820542 183843307 590603969 466852129 55517047 393835525 819523467 318110611 295805912 764751417 770680522 713199217 728357838 638011115 667841561 838379139 97299507 375673341 26537314 476084224 623188968 910994573 566034579 26375227 208493418 237773442 420425052 413843857 421927353 903297209 208877360 32796250 871898006 574417829 368704535 79097209 789495739 599555786 403334160 765137854 575541534 751316591 116545387 -1 59706771 199386661 325845006 788878491 980134651 41524303 890844482 595427792 604148770 644187365 319379178 431837446 238442797 203018461 433348815 655834254 763281688 592274818 531136661 -1 84208996 942045496 503810504 16475116 167415720 186539666 679275202 543122079 329542777 927530478 716182336 982693874 119601349 472407762 849035201 741463146 823787812 231771136 297133830 603620710 680666684 41524303 220059095 421927353 28576479 87162480 728492414 704672739 722874144 709403855 57551192 938954818 205644911 514721585 591284702 871898006 699856917 668250239 46410909 644187365 471865558 417425319 499941413 438872920 34685076 490869221 999101537 345392984 454563819 466852129 939946968 220059095 535432483 490869221 560455121 922171930 295504204 406568384 950629972 873072247 216195055 880446976 73453883 491543933 461274569 284700142 645276436 188196698 424146759 433348815 456863895 344240078 46945925 535432483 334677549 346394348 113811391 750429264 441949925 628984381 707186544 275463593 596367148 32796250 893897082 378610966 549323513 703311448 368764047 622737539 722672739 435984127 593282222 228137178 842306692 175554418 622918995 774937853 403334160 670979891 432504521 722672739 446355059 49208976 868211619 95779603 541460419 820211254 -1 767047665 614593757 935910737 111122929 658212287 167036027 628220249 989696303 600962339 567416830 885164572 208493418 897789362 378409769 214317232 980134651 882812597 651109313 689897360 997432376 692204091 676709331 563675995 203493552 333260763 669125354 966561320 373771611 691214891 806195787 627376276 708274346 731745766 28576479 177905368 680666684 667841561 645695407 740364356 507142051 762227828 520011864 914662962 203493552 100130908 722874144 712694937 614593757 175144765 70161655 18404492 946112218 140113105 789495739 901803305 859063396 162425880 234968285 991188064 67075526 138790019 2433982 740224085 211362614 524972471 416739210 755527023 601762202 541460419 298868262 602811046 373683372 163789960 596367148 785376602 373683372 208877360 571736161 75228974 239987054 649175882 -1 938954818 346188490 365407761 537867109 966503495 631700842 566096351 365407761 904818318 766504018 213926602 572311287 763183908 -1 34685076 847840320 251692591 434526689 622737539 73453883 411999902 206014003 883564101 935910737 325845006 281083465 507969865 551345512 750769230 345392984 753145692 57801759 989747990 950629972 916738849 428142800 610895287 697184458 59706771 782594982 295504204 243341711 469035792 422331486 858159813 260307180 651109313 417425319 601762202 689608865 672907310 879954113 704672739 812140416 66483968 820211254 72643683 785866095 663946492 384604556 799467751 459789430 801402068 662235717 248636995 847840320 599555786 284387166 711503207 34584857 373771611 608724072 560556517 203580162 11796756 379109457 291386915 171504845 784597145 495712606 244155041 -1 942627653 514721585 491543933 345072009 109891495 305936785 864561721 937638157 634983639 786892734 163983150 163091630 425469326 577714620 689608865 880665324 568090820 520086201 472516679 914206506 175884183 761888635 682038125 28576479 213926602 461274569 985045640 368779111 686865014 18404492 437517579 672907310 624015614 335890204 946112218 768744535 468107571 768744535 881489135 641164921 989696303 73525554 593587398 508037594 473150723 854398124 330785266 567600315 211362614 49212342 578238211 880446976 771459106 563732029 375673341 67075526 722672739 275463593 39885396 422331486 398981201 495241145 355756362 437863021 526755095 163789960 330785266 512615132 464037621 577758652 406717194 327982936 161017478 254167164 181721636 59501988 593282222 894267291 365679164 622823007 2433982 880938198 782619049 407009263 174295016 298868262 655834254 491978273 639572212 260307180 750763843 756425389 823933296 127278512 656489207 228137178 750429264 111122929 79213361 368764047 935910737 750156197 822261941 537867109 701070480 420342620 22576092 46485154 508037594 140113105 466034328 484471406 34584857 857269083 372510013 531136661 910994573 229405480 341012648 194126353 927530478 448316745 961821360 466852129 723200871 566096351 644336340 386381016 70161655 858159813 295504204 999674172 491978273 622823007 580470806 448316745 307476694 209977170 112624754 769854437 182429059 186539666 244155041 329574367 186539666 379213018 566096351 987705926 379109457 387384744 216195055 29287119 609637013 340301060 107839247 854398124 542986495 861208333 229405480 18794770 417425319 421927353 401672699 741339101 207023050 580918883 953838288 433114786 890844482 574924220 46945925 391779414 330583346 244155041 452820542 447434673 814490763 86361620 349772488 208493418 541463939 477076784 468199498 885077908 614459776 119601349 352508141 770680522 -1 213926602 679275202 890844482 595427792 685423362 43897314 29592557 432504521 247165890 71713295 470803824 275610416 340301060 427618367 456863895 626807589 559785274 295958449 379109457 831985335 750763843 995194212 254528769 523542917 49212342 117347524 407009263 845459462 475822349 667300705 845211351 88469907 338370105 19140171 845459462 182026506 345392984 432069691 357329820 780117964 288542157 660639438 273365488 441949925 122896725 130431610 531136661 168494769 181721636 614459776 740224085 268947673 102379477 319379178 649175882 668250239 188196698 437863021 86361620 447434673 922171930 368764047 345102555 94630229 982554231 658388576 215802236 239987054 937633254 679275202 601762202 484471406 162425880 849123482 560556517 788878491 669655791 832364259 705118513 21873594 296417374 822261941 638076633 766504018 719457202 863278761 357329820 308232133 416756465 894991717 112302971 724422672 146171038 186539666 427675535 938954818 997299598 433439854 849123482 997432376 769854437 893652215 518109595 842871738 393835525 260946873 842306692 45426260 638293140 72263116 842871738 827132364 243995015 801402068 726776295 937638157 84208996 973579758 295958449 647427996 709403855 175590565 854062217 548806448 977467597 669125354 830994144 318110611 336688564 7545447 473150723 175590565 760624728 767047665 672907310 586392635 514721585 491543933 275463593 159647580 73525554 563675995 683531283 858159813 885164572 664490073 375673341 74820195 859063396 791183444 284859244 989747990 610069705 507969865 705622548 271708247 186539666 288628682 470803824 739554266 757544011 374972287 859962837 641205608 533560917 807262913 982554231 790909002 234968285 473150723 854398124 599555786 42277380 14405655 113811391 894267291 491978273 448707988 33812208 28416726 989696303 688380735 710113373 323513395 248636995 562309509 60978603 29287119 -1 935910737 567416830 466852129 722672739 565554630 897789362 578238211 217928587 345102555 950235340 988919874 914662962 976942240 716182336 217928587 111985669 608724072 441949925 541463939 937633254 464037621 -1 451474906 464037621 679670176 433114786 942297502 922171930 819963767 818829472 341012648 782927012 38372578 358191652 729941138 428413005 -1 541463939 495336832 627376276 297175900 560637528 688380735 526755095 46410909 590783394 685097645 345102555 582861386 223785502 569422962 681823792 281598862 214924123 830544982 182659876 622918995 352508141 499941413 175884183 834500260 188196698 800463769 779829204 416756465 904818318 852837035 542986495 206287347 864350394 480210823 903297209 270206207 365035648 19140171 567416830 976942240 336862767 12903603 569422962 37081879 691504106 804352169 850636024 991067365 102379477 881489135 937633254 675786233 154693260 538432928 768744535 922171930 910794274 461649452 812140416 541460419 443342808 355126439 893652215 864561721 667300705 168494769 524972471 950629972 659932705 622918995 94630229 386381016 690664050 114396999 447434673 325845006 150137560 568090820 329574367 265395517 57801759 420425052 586985028 22576092 413843857 500268473 456401701 491294665 495712606 208877360 117347524 406717194 637964511 807820896 115470851 885164572 602915291 676709331 942627653 -1 901803305 567416830 610613670 799467751 764751417 719457202 711501588 854398124 560814638 822261941 95779603 601762202 711501588 961821360 -1 368935143 745215401 596943234 864350394 251692591 49208976 603690869 306767836 873072247 726776295 751964866 729941138 -1 223785502 849035201 757544011 111985669 939946968 263798126 729352677 118534662 508037594 960643177 572311287 864350394 246216644 614459776 850351456 284859244 355756362 245677831 507969865 368779111 301334993 771459106 296417374 750156197 329959527 632336991 602811046 930790502 608724072 333260763 891573253 922220234 753145692 349772488 982693874 301334993 372510013 760593154 596367148 421927353 890844482 833220245 960643177 330785266 198628726 603620710 514721585 880938198 881489135 626837013 739554266 17012234 489295045 658212287 468199498 321331882 590603969 718577411 634536293 475822349 243341711 401672699 329574367 375673341 718577411 627376276 958339854 645276436 499941413 731745766 977619929 203580162 705118513 626837013 982581137 579690895 443342808 243341711 811841566 149052945 406717194 695553778 365407761 198703751 942297502 37081879 57801759 507969865 667169560 373771611 115470851 229821643 192251969 634536293 563823514 332773543 908705907 54164180 456401701 701070480 801402068 16475116 372510013 18299476 312308223 186539666 582861386 308705211 365679164 171221433 433756914 719457202 561494895 647290016 26905429 664490073 296417374 724422672 734712823 271516194 169614935 327789615 867933639 203493552 16475116 883564101 243341711 74820195 953838288 722672739 465892383 495712606 700120477 758575350 541463939 675573324 111985669 614593757 462383923 591700510 725418770 208877360 979285058 832364259 984182750 215802236 849035201 988919874 916321789 717390689 579690895 691504106 452820542 29592557 764751417 163983150 219896364 387384744 22576092 12903603 464037621 115470851 782927012 531136661 114396999 97299507 942627653 885164572 790909002 880446976 729941138 470690645 422331486 88469907 420342620 332773543 41524303 765954927 858159813 330583346 591700510 748526814 107839247 345392984 175554418 711501588 658388576 111985669 160366715 451474906 115639466 363457997 532861718 644336340 428413005 812752908 348123399 656206261 55517047 612885490 378409769 452820542 894267291 686649778 894991717 665446719 453407680 411907778 142117376 352607876 908463563 771459106 391779414 355126439 823933296 29734308 668250239 367754743 -1 428142800 79097209 818974853 86361620 336688564 691214891 252012472 470690645 612885490 273365488 115639466 531136661 977619929 491543933 232531633 297175900 368935143 989747990 822261941 317871021 114396999 476084224 751964866 986331373 414918047 695553778 622918995 716182336 329542777 491543933 770278321 16475116 603690869 421927353 660040051 939563959 914662962 675786233 325845006 469743398 834500260 372510013 717390689 182429059 676709331 18794770 60081926 603690869 46485154 486307671 880665324 718577411 283107224 254528769 795730704 997299598 107839247 641164921 910994573 712694937 494751627 645695407 771459106 780117964 446355059 893860727 908705907 560556517 691740164 992563691 301714930 171504845 770680522 281598862 786969334 860724917 553190572 198703751 206287347 580283317 149830598 37081879 705118513 659932705 140113105 448707988 330785266 693375965 87162480 563732029 413494386 838379139 974448855 432069691 -1 149830598 801169129 288628682 400907045 670979891 756425389 -1 526755095 -1 433114786 807820896 722672739 378409769 565554630 495336832 75228974 902419092 710730165 2433982 107808575 72643683 111985669 114396999 664295306 452820542 378610966 215802236 831985335 368935143 264549124 16475116 812140416 784371166 -1 822261941 232018015 243995015 400907045 481127177 469743398 658388576 387384744 524972471 982554231 812752908 494751627 203018461 408497768 693375965 -1 663667470 175590565 966561320 807648187 251692591 484471406 591284702 79097209 433439854 951926549 522063456 216195055 655834254 34685076 159647580 641164921 368779111 66483968 689608865 543006155 146171038 901304975 17012234 406717194 864350394 524542574 806195787 199386661 422331486 340301060 319379178 582319429 74820195 762227828 156929061 214924123 461274569 254167164 92112290 400907045 11796756 36050763 801326287 95443860 165753 922171930 627561325 208877360 814490763 731745766 984895249 53028773 119601349 248636995 297175900 977619929 553190572 831985335 760593154 578238211 751316591 780117964 18404492 638293140 709403855 695553778 456863895 156929061 563675995 683531283 312308223 88469907 325287502 345072009 493264770 433439854 241693686 786075537 626807589 942045496 686385319 555548888 167036027 244155041 852782081 112624754 739554266 113804160 662235717 198016418 814490763 850636024 634536293 420342620 209977170 842871738 470690645 997299598 691504106 427675535 893860727 800463769 381881872 392826688 679275202 740364356 560637528 649175882 340301060 254167164 46945925 566034579 175590565 575485118 28576479 976942240 679521131 444874800 697374453 -1 433114786 930790502 645695407 363811064 622823007 155997760 527985132 306767836 46945925 610613670 434526689 88469907 28416726 110012494 16475116 39885396 753145692 979580407 914662962 275610416 590603969 363457997 763281688 599555786 574924220 295958449 458547544 989747990 520011864 79213361 984895249 514721585 968396048 571736161 -1 211070558 325845006 170824557 -1 91064641 830544982 979580407 580884227 984182750 786892734 301334993 330785266 531136661 477076784 561494895 801169129 814490763 828722364 658212287 223785502 4610166 84062198 586392635 555828167 789404113 974448855 561553313 885164572 728492414 562288215 830994144 660040051 336688564 13841075 859930182 29592557 339350524 486307671 456863895 365679164 842306692 270206207 883564101 244155041 707186544 424146759 208877360 339350524 33812208 378409769 87162480 610932880 986331373 373683372 34584857 731936598 680666684 216195055 297175900 551345512 740364356 458547544 695553778 373771611 786969334 223785502 135519629 766504018 437517579 644187365 938446553 74820195 527897224 885164572 638076633 823933296 303139271 692204091 406717194 142117376 760624728 175590565 683531283 942045496 119601349 991188064 114396999 746419439 165622114 425469326 756425389 910794274 641205608 333772685 791183444 251692591 424146759 34685076 958339854 319379178 818974853 213926602 655834254 469384372 658212287 109891495 115470851 861115508 638293140 707186544 245677831 243341711 527985132 77564723 427618367 975269268 452820542 859962837 622918995 29734308 54164180 628984381 881489135 -1 112302971 377651896 633637325 861383306 645276436 244155041 100130908 428142800 658388576 553190572 384604556 893860727 252012472 965993467 321331882 281083465 291386915 739554266 767047665 262575582 3090244 432069691 596943234 894991717 724422672 669742991 391779414 761021239 43897314 620059513 167415720 298868262 785247749 330785266 907456227 500268473 387518405 676709331 42277380 92102199 264549124 406717194 864561721 873072247 77564723 198703751 577758652 219896364 627589268 879954113 774149146 942384956 577758652 596367148 408497768 265395517 700120477 97299507 344240078 386935154 757544011 163983150 663307073 750769230 142117376 260946873 209977170 768744535 750156197 365407761 432069691 565554630 264549124 861115508 965067805 722672739 830162158 182026506 890844482 49208976 731936598 857269083 982581137 86361620 372910848 13841075 119601349 265395517 470690645 670408229 602811046 333772685 11796756 857269083 974521569 53590481 26537314 49208976 669655791 979285058 295805912 836680980 937638157 763856958 175554418 37724537 965993467 690863334 863278761 49212342 384604556 232018015 470690645 363811064 494950691 791932302 901304975 71713295 386381016 593282222 199386661 833246783 965993467 666590606 338370105 75228974 46485154 57606083 622737539 774149146 847840320 613084013 765954927 751964866 379109457 387384744 113811391 633637325 422331486 827132364 591284702 609637013 728492414 146171038 358362276 363811064 189854783 722672739 728492414 854398124 562309509 384604556 491978273 112624754 533560917 491978273 686649778 779829204 580918883 524972471 220059095 627561325 614593757 782927012 668250239 493264770 29734308 769837665 461274569 795730704 807262913 679670176 374972287 271516194 784597145 740364356 751964866 541460419 697184458 997432376 456401701 858159813 614459776 391779414 378610966 590603969 495241145 974448855 560556517 822261941 387384744 997432376 495336832 823787812 406568384 656206261 974521569 368779111 755527023 549323513 363811064 368704535 336862767 977619929 130431610 977467597 424146759 32466209 782619049 291386915 244155041 551345512 386935154 273365488 135519629 974448855 953838288 980134651 566034579 868211619 163091630 63562141 560637528 183843307 494923774 760593154 563675995 580470806 560637528 751964866 211070558 543122079 908463563 67075526 535432483 303139271 32796250 579783784 811841566 378409769 387384744 842871738 942297502 957643716 554782737 194126353 676685933 243341711 916321789 827132364 395983136 149052945 303139271 967987535 379213018 592274818 693375965 579783784 832364259 37081879 461274569 579783784 92112290 960643177 446355059 167415720 916738849 543122079 321467204 245677831 357329820 87162480 670979891 248636995 72794624 633637325 627589268 634536293 146171038 916321789 238951985 354949635 116545387 688597242 561553313 358362276 290604263 208028672 970265761 985045640 329542777 610613670 456863895 303139271 117347524 790809628 32796250 822261941 406483013 213926602 976942240 354949635 819963767 43392732 785247749 60978603 466034328 992563691 379109457 413843857 373771611 942045496 679521131 580884227 238442797 651109313 864561721 46011383 275463593 112302971 980134651 644187365 647290016 702444538 208493418 766504018 782927012 533560917 341012648 393835525 942297502 519762398 656206261 321331882 832494905 337502849 96109344 632336991 594204193 444874800 818014838 977619929 681690682 966503495 182429059 46410909 183843307 434526689 54153332 63562141 375673341 755527023 334677549 86256730 427675535 951926549 633637325 774149146 401672699 387518405 623090438 447434673 295805912 201066749 462383923 448316745 768744535 746419439 254528769 470690645 363457997 566034579 914291169 560556517 569422962 622737539 822261941 338370105 593282222 507969865 762227828 79323336 541460419 -1 162425880 610932880 79213361 761888635 566096351 49212342 192251969 686385319 355126439 306767836 740224085 191697350 154693260 601762202 608724072 323513395 203493552 859962837 -1 94630229 182026506 726776295 79097209 666590606 251692591 814490763 237773442 763856958 984895249 92112290 701070480 980134651 800463769 198703751 229821643 476084224 842306692 690863334 723200871 982693874 433348815 599555786 284696682 686865014 472516679 902419092 811841566 730824918 647911422 850636024 119601349 908463563 724422672 177905368 571736161 34584857 673965031 527897224 699856917 635671105 306854073 685423362 533367205 138533159 765137854 902419092 543122079 154693260 422331486 73453883 679275202 599555786 627561325 437517579 682038125 976942240 71713295 755527023 43392732 984895249 830544982 262575582 760593154 28576479 122067182 471865558 748186132 685097645 -1 117347524 633637325 111122929 860724917 957643716 789404113 323513395 614297261 519762398 407009263 112624754 984117471 849035201 957643716 368704535 220059095 321331882 903297209 118534662 161017478 893652215 859930182 784597145 284700142 524542574 484471406 908463563 786892734 610613670 685097645 664490073 586985028 71713295 770680522 490869221 908463563 275610416 420773560 290604263 254528769 43392732 938914563 325287502 11796756 812752908 374972287 519762398 543122079 107808575 709403855 63562141 349772488 75228974 701070480 761888635 628984381 779829204 705622548 354949635 295805912 828722364 386381016 975269268 982554231 452820542 989696303 146171038 561553313 757544011 893897082 719457202 171221433 461274569 13841075 198628726 181721636 812752908 638293140 209977170 175554418 183843307 435984127 730909832 943374902 782619049 254528769 942045496 146197290 36050763 524972471 177905368 989747990 723933984 729352677 790809628 771459106 594204193 579991057 699856917 208028672 16475116 142117376 379109457 57801759 425469326 960643177 942297502 760624728 974521569 980134651 579690895 372910848 288542157 71713295 469743398 745215401 725418770 21873594 846213413 372510013 486307671 608724072 832494905 86361620 191697350 571736161 189854783 181721636 355756362 686649778 679275202 38372578 538432928 290604263 766504018 634536293 206014003 63243152 288542157 301714930 411907778 575485118 346394348 503810504 181721636 211333607 174295016 336862767 228137178 628984381 303139271 579783784 957144144 908705907 756425389 56105859 553190572 745924515 623188968 849035201 603690869 730909832 590783394 575485118 323513395 508037594 183843307 690664050 88469907 663667470 836680980 181721636 211550817 533560917 758575350 569422962 804352169 770847694 273365488 303139271 298868262 379213018 608724072 786969334 807648187 939946968 12903603 228137178 831985335 641164921 673965031 861208333 296417374 661932839 676709331 -1 241693686 389956215 680666684 672907310 219896364 908463563 29272319 54164180 355126439 70161655 833220245 768744535 168494769 163983150 560556517 11796756 672907310 526755095 41524303 938446553 828722364 563732029 604148770 562309509 197115342 914291169 55517047 403334160 117303447 254756796 782927012 302277738 177905368 4610166 807820896 308705211 683531283 363579344 448316745 295504204 29272319 203493552 907772025 34584857 718229961 600962339 47116225 532861718 831985335 814490763 524972471 321331882 833220245 770847694 864350394 660040051 535432483 119601349 608724072 284859244 283107224 138533159 387384744 468107571 782927012 729352677 757544011 701070480 541463939 902419092 29287119 780117964 982581137 920219729 420342620 722874144 632336991 942627653 731745766 507969865 728492414 508037594 468199498 123550994 251692591 29734308 731745766 421927353 345072009 688597242 26905429 462383923 916321789 685423362 707186544 57551192 634536293 42277380 447434673 730909832 741339101 785376602 631700842 762227828 205644911 41524303 18299476 753145692 421927353 579991057 593282222 214924123 325845006 668250239 386381016 980936845 719457202 651109313 882812597 667300705 979285058 330583346 228902962 163789960 560814638 406568384 149052945 953838288 494751627 525617132 26905429 43392732 -1 579690895 119601349 765954927 406483013 627561325 555548888 53028773 411999902 880938198 828722364 961821360 721867658 676709331 600962339 514721585 401672699 864350394 452820542 579991057 214924123 155376172 580884227 561553313 663946492 950862675 976942240 937633254 685097645 789404113 336688564 848715178 532861718 622918995 251692591 18299476 982693874 280856350 645695407 43392732 305936785 54153332 199386661 203493552 77564723 769854437 726776295 182659876 568090820 274831438 907772025 987705926 149830598 413843857 203493552 746419439 574417829 695553778 641164921 799467751 211070558 675786233 711501588 923159887 586392635 686649778 834500260 280856350 807648187 967987535 822261941 297175900 907772025 660040051 726124644 718577411 909186692 850101344 368764047 28576479 81866966 12903603 807648187 229405480 842871738 335890204 456401701 725418770 284387166 112302971 726776295 699856917 850636024 692204091 203018461 206287347 942627653 493264770 595427792 635671105 379109457 45426260 232018015 784597145 688380735 214317232 940104206 989747990 295958449 651109313 149830598 28576479 171221433 462383923 577714620 761888635 49212342 659932705 833220245 427675535 880665324 223785502 464037621 249558965 561494895 337502849 660040051 37081879 28576479 191697350 297133830 495241145 901304975 406430184 514721585 596367148 28576479 688380735 2433982 711501588 318110611 199770581 658212287 814490763 560637528 818829472 92102199 880844104 740224085 72643683 32796250 564190579 308705211 722874144 171221433 950862675 608724072 163091630 305936785 254756796 784371166 894991717 967987535 830162158 335890204 319379178 13841075 456863895 935910737 386381016 588150191 183843307 891573253 329542777 432504521 842306692 140395123 976942240 443342808 135519629 568090820 638076633 603620710 627376276 767047665 416739210 614297261 833246783 433348815 951926549 859962837 726124644 181721636 34030354 804352169 779829204 488751710 760624728 786075537 712694937 958339854 41524303 140395123 393835525 789404113 107839247 961821360 541460419 666590606 149830598 312308223 977619929 503810504 563675995 610069705 55517047 372510013 307476694 418807544 818014838 848715178 627376276 420342620 22576092 578238211 822261941 977619929 750769230 489295045 53590481 982693874 602811046 406483013 323513395 372910848 989747990 626837013 571736161 182429059 462383923 491978273 663946492 848715178 194126353 29734308 211070558 832364259 857269083 29734308 197307546 574417829 441949925 340301060 820211254 398981201 832494905 961821360 -1 243995015 18794770 614593757 533560917 577758652 811841566 555548888 852782081 590783394 857269083 275463593 580918883 639572212 18794770 660040051 49208976 579690895 327789615 336862767 817331802 358191652 198628726 861115508 644187365 880446976 403334160 457715535 416739210 28576479 522063456 543006155 627589268 563732029 542986495 764751417 468199498 60081926 756425389 999674172 938446553 275610416 661932839 721867658 603620710 555828167 288628682 910994573 709403855 110012494 -1 681690682 17012234 563675995 627376276 850636024 982581137 910994573 686865014 386935154 554782737 984117471 138790019 991067365 197115342 814490763 739554266 491294665 859962837 260946873 243341711 533367205 610895287 55517047 751316591 357329820 985045640 268947673 198016418 660040051 284859244 384604556 609637013 707186544 769837665 566034579 903297209 590603969 867933639 637964511 632336991 675573324 804352169 288628682 386935154 401672699 525617132 592274818 295805912 922220234 229405480 208028672 96109344 885164572 526755095 769837665 119601349 695553778 760624728 858159813 527985132 812140416 610895287 336688564 444874800 197115342 901304975 786892734 414918047 788878491 446355059 75228974 275463593 95779603 799467751 710730165 454563819 818014838 135519629 341012648 850636024 774149146 989747990 385144989 111985669 731936598 563732029 276260520 717390689 107596959 622918995 107839247 392826688 205644911 192251969 56105859 344240078 428413005 2433982 494923774 63243152 719457202 708274346 411999902 84062198 319424815 70161655 434526689 94630229 372910848 161017478 477076784 658388576 197307546 586392635 333772685 916321789 526755095 564190579 291386915 712694937 403334160 72643683 922171930 327789615 71713295 914206506 541463939 675573324 43897314 175144765 569422962 795730704 548806448 413843857 819523467 858159813 987705926 953838288 160366715 198016418 619868736 916738849 102379477 721867658 468107571 995194212 603690869 975269268 505655512 -1 538432928 603690869 700120477 726124644 590783394 420342620 807820896 406430184 248636995 386381016 53590481 806195787 951926549 768744535 432069691 882812597 789495739 897789362 418807544 973579758 608724072 472516679 276260520 577758652 325845006 563675995 -1 580918883 854398124 937638157 47116225 415965469 922171930 685423362 635671105 907772025 349032071 337502849 705622548 177905368 908705907 34030354 392826688 18794770 935910737 541460419 329959527 283107224 761021239 730824918 438872920 386935154 560637528 493264770 295504204 782927012 670979891 424697572 182429059 21873594 645276436 767047665 667841561 868211619 863667577 561494895 871898006 858159813 34584857 138533159 713199217 275463593 765954927 707186544 198628726 420342620 541460419 194126353 385144989 939563959 893860727 559785274 562288215 691214891 21873594 254756796 867723620 523542917 94630229 115639466 130431610 49208976 980134651 199386661 672907310 634536293 469743398 167415720 254167164 763281688 560455121 354949635 883564101 340301060 57801759 561494895 486307671 638076633 41524303 470690645 555828167 219896364 451474906 296417374 914291169 689608865 117347524 791183444 774937853 476084224 593282222 308232133 691504106 859962837 966561320 368935143 373771611 782927012 36050763 555548888 644336340 466034328 679521131 658212287 692204091 610069705 385144989 456863895 563675995 711501588 -1 453407680 868838278 175144765 660738659 352607876 46011383 140113105 716182336 335743200 974521569 861115508 861208333 208877360 717390689 432069691 117303447 566096351 -1 973579758 70161655 818974853 109891495 664490073 767047665 175144765 206287347 60744503 241693686 79213361 761021239 883564101 579690895 406430184 43392732 199386661 453407680 252012472 417425319 940104206 276260520 644187365 306854073 768744535 -1 593282222 538432928 859063396 345072009 704672739 43392732 832494905 38372578 525617132 774937853 664490073 660040051 667300705 415965469 634983639 785376602 271708247 593587398 867723620 495712606 469384372 13841075 675786233 958339854 814490763 830994144 770680522 138790019 833220245 395983136 770680522 938954818 739554266 29734308 858159813 750769230 664490073 700120477 888304663 580470806 663307073 991067365 437517579 580884227 177905368 490869221 831985335 815472010 590783394 927530478 122896725 762227828 763281688 610613670 265395517 665446719 865880334 -1 656206261 162425880 880844104 457715535 270206207 330583346 901304975 127278512 55517047 475822349 29592557 638076633 568090820 828722364 175144765 465892383 842871738 580283317 469035792 91064641 329542777 167036027 268947673 660639438 938954818 880844104 -1 302277738 520011864 197307546 704672739 365679164 565554630 321467204 579991057 651109313 673965031 201066749 543006155 203018461 470690645 433439854 713199217 997432376 868211619 109891495 26375227 433348815 626837013 977619929 150137560 508037594 112624754 55517047 271708247 175144765 260307180 590603969 600962339 21873594 297133830 586985028 59706771 702444538 367754743 603690869 873072247 857102413 54164180 372910848 241693686 155997760 216195055 774149146 880446976 656206261 656489207 228137178 998120269 973579758 297133830 815472010 982693874 757544011 505655512 303139271 67592009 883564101 92102199 301334993 505655512 346394348 541463939 174295016 26905429 553190572 13384724 852837035 305936785 726124644 420425052 922171930 26905429 716182336 113811391 937633254 400907045 408497768 335890204 197307546 330583346 689897360 909186692 437863021 330583346 985045640 943374902 57801759 682038125 979580407 428747955 819963767 72263116 811841566 967987535 378409769 330785266 849035201 786075537 938446553 244155041 907456227 942045496 753145692 308705211 411999902 462383923 789495739 750763843 756425389 301714930 741339101 982554231 237773442 115470851 908463563 363579344 731745766 580283317 201066749 161017478 665446719 568090820 632336991 613084013 760624728 215802236 938954818 799467751 864350394 254756796 907456227 499941413 901304975 476084224 904818318 685097645 198703751 63210631 169614935 601762202 632336991 681690682 461649452 319379178 822261941 244195221 724422672 264549124 100130908 155997760 507969865 476084224 43392732 79213361 215802236 819963767 140113105 91064641 741463146 782594982 349032071 336688564 891436447 980936845 548806448 848715178 723933984 110012494 965067805 893652215 763856958 614297261 981763217 348123399 788878491 375673341 59501988 750769230 976942240 323513395 661932839 378610966 -1 491543933 -1 262575582 542661640 130580 -1 599555786 92112290 984895249 345392984 690863334 689897360 626807589 72794624 669742991 901304975 290604263 656206261 560455121 507969865 669125354 748186132 525617132 123550994 281083465 691740164 588150191 54164180 446355059 586985028 208028672 95443860 -1 420342620 411907778 984182750 818014838 379213018 466034328 29592557 355126439 718229961 833246783 777440440 466034328 811841566 847840320 290604263 160366715 301334993 274831438 692204091 470690645 838379139 566096351 627376276 854398124 861383306 579690895 264549124 302277738 475822349 769837665 39885396 494950691 661932839 746419439 729178187 850636024 281598862 590138438 95443860 115470851 522063456 857269083 707186544 476084224 163091630 980134651 524542574 914291169 882812597 768744535 946112218 107808575 503810504 658212287 209977170 751316591 244155041 586985028 666590606 660639438 564190579 290604263 833220245 801169129 470803824 28416726 731936598 890844482 306767836 228137178 807648187 156929061 916738849 198016418 92112290 541463939 138533159 113811391 782927012 393835525 658212287 276260520 73453883 567600315 575541534 764751417 301334993 291386915 819523467 627561325 622737539 490142300 842871738 902419092 339350524 406430184 72621546 293155218 163983150 572589546 761021239 461274569 79213361 352607876 785866095 980134651 579690895 21873594 116545387 863667577 36050763 401672699 940104206 939563959 399202754 940104206 443342808 859962837 912506727 908463563 603690869 494751627 341012648 762227828 703311448 672907310 651109313 464037621 146197290 500268473 507969865 965067805 626807589 137132982 942297502 421927353 724422672 490142300 999101537 514721585 741339101 167036027 562288215 165753 940104206 610895287 408497768 755527023 979285058 495241145 833220245 815472010 346188490 937633254 338370105 291386915 491543933 57551192 571736161 29287119 74820195 393835525 159056677 237773442 801169129 644187365 804352169 638011115 238951985 325845006 594204193 562309509 70161655 965067805 638293140 219896364 426480224 703311448 602915291 321467204 118534662 533367205 183843307 345102555 662235717 94630229 92112290 33812208 645695407 537867109 238951985 19140171 683489839 457715535 819963767 709403855 491543933 425469326 535432483 691740164 666590606 215802236 421927353 333772685 223030820 3090244 989747990 832364259 231771136 697374453 562288215 165622114 73525554 216195055 159056677 330583346 784597145 919585635 63210631 469035792 688597242 301714930 208493418 930790502 988919874 651109313 789495739 836680980 756425389 79213361 710113373 244883660 29734308 858159813 631700842 760593154 532861718 663667470 363579344 661932839 708274346 137132982 864561721 333772685 75228974 543006155 244195221 729178187 745924515 21873594 327789615 914206506 363457997 818014838 565554630 243995015 620059513 723200871 332773543 329959527 -1 801169129 223030820 818829472 820211254 660040051 245677831 494950691 327789615 555548888 572311287 49208976 688380735 519762398 367754743 475822349 14405655 220059095 688597242 60744503 271516194 348123399 604148770 461649452 628220249 957643716 72794624 750156197 761021239 477076784 500268473 55517047 845211351 942297502 704672739 456863895 711501588 142117376 293155218 599555786 543006155 688597242 742174392 428142800 859962837 274831438 523542917 472407762 229515163 95443860 753145692 488751710 338370105 799467751 473150723 520011864 329574367 641205608 758575350 908705907 301334993 664295306 115470851 574417829 28576479 211362614 145847415 57801759 395983136 572311287 206644601 365679164 407009263 845211351 750763843 623090438 769545495 138790019 935910737 301714930 977467597 13384724 78898063 140395123 243341711 206644601 842306692 181721636 57606083 823787812 491294665 163789960 81866966 188196698 751964866 753145692 295958449 434526689 16475116 979580407 454563819 618312173 462383923 894267291 830544982 683489839 861115508 122067182 819523467 977467597 524972471 63243152 107596959 984182750 637964511 610895287 750763843 602811046 757544011 303139271 681823792 507142051 980134651 49212342 574417829 704672739 102379477 21873594 914662962 291386915 574924220 989747990 56105859 668250239 871898006 812140416 29592557 335743200 857269083 888304663 668250239 373683372 823933296 408497768 518109595 663946492 454563819 453407680 435984127 229405480 859962837 211362614 710730165 416756465 980134651 447434673 323513395 182659876 831985335 264549124 167415720 357329820 472407762 750769230 -1 352607876 119601349 966503495 817693389 22576092 902419092 751964866 21873594 610895287 472407762 102379477 432069691 847840320 18299476 579690895 582319429 815472010 232018015 96109344 659932705 723200871 836680980 375673341 203580162 308232133 988919874 344240078 239987054 526755095 641164921 420425052 379213018 2433982 785376602 614459776 868838278 893652215 46410909 312308223 916738849 914291169 461649452 295504204 848715178 784371166 146171038 555548888 622918995 660040051 84062198 345102555 46945925 725418770 723200871 234968285 644336340 28416726 883564101 563823514 832364259 348123399 537867109 422331486 879954113 982581137 191697350 561494895 335743200 742174392 566034579 686649778 922220234 433348815 908705907 122896725 363457997 830994144 424697572 970265761 958339854 965067805 804352169 562309509 935910737 689897360 579783784 807820896 666590606 368764047 790809628 627589268 215802236 84062198 637964511 987705926 70161655 116545387 43392732 446355059 623090438 524972471 7545447 979580407 845459462 198016418 830544982 957144144 160366715 710730165 882812597 372910848 782927012 49208976 780117964 681823792 686649778 682038125 428413005 542661640 604148770 638293140 406568384 801402068 750763843 770680522 189854783 283107224 26905429 112624754 938914563 329959527 622737539 916738849 198703751 879954113 107839247 861208333 505655512 830162158 689608865 748526814 145847415 789495739 907772025 830994144 171221433 421927353 537867109 867933639 142117376 275610416 345072009 232531633 795730704 730909832 790909002 637964511 518109595 939563959 486307671 569422962 751964866 295958449 760593154 644187365 458547544 834500260 693375965 819523467 750769230 365679164 45426260 378610966 724422672 406717194 807262913 189854783 415965469 555548888 466852129 469035792 476084224 505655512 55517047 481127177 422331486 243341711 790909002 122067182 46011383 489295045 711501588 146197290 593587398 920219729 263636646 57606083 524972471 902419092 888304663 977619929 354949635 -1 850636024 567600315 822261941 46485154 991067365 297175900 729178187 723933984 741463146 719457202 97299507 873072247 208493418 976942240 32796250 662235717 119601349 228137178 416739210 114396999 812752908 845459462 63210631 100130908 760593154 614593757 572311287 149052945 818974853 451474906 34584857 779829204 175590565 219896364 416739210 330318834 211550817 922220234 86361620 39885396 660738659 750769230 469743398 109891495 358191652 297175900 280856350 880446976 660738659 325287502 663946492 537867109 883564101 26905429 791183444 465892383 32796250 406430184 656489207 36050763 729941138 18794770 668250239 910994573 165622114 551345512 871898006 75228974 97299507 960643177 111985669 769854437 42277380 784597145 976942240 782619049 456487084 175554418 660738659 730756715 595427792 786075537 626837013 664490073 146197290 495712606 555828167 842306692 283107224 577758652 559785274 307476694 4610166 427618367 914662962 993786079 675573324 490869221 118534662 582861386 92112290 880665324 26537314 543122079 422331486 827132364 668250239 591284702 859930182 443342808 123550994 586392635 70161655 631700842 138790019 243341711 239987054 254528769 782619049 417425319 505655512 471865558 357329820 659501910 373683372 373683372 940104206 702444538 710730165 850101344 11796756 41260287 386935154 379213018 239254051 857102413 795730704 434526689 686385319 239987054 223030820 408244002 307476694 470690645 739554266 891436447 159647580 755527023 476084224 742174392 162425880 338370105 553190572 -1 667300705 365679164 375673341 867723620 903297209 890844482 940104206 676709331 335743200 666590606 676685933 614593757 117303447 403334160 199770581 453407680 561494895 750769230 782927012 443342808 238442797 669742991 873072247 763856958 352607876 17012234 45426260 -1 750769230 832364259 704672739 721120553 484471406 861115508 373771611 78898063 385144989 330583346 836680980 198628726 818974853 422331486 946112218 594204193 823787812 591700510 984182750 470690645 656489207 721120553 387518405 729352677 614297261 303139271 549323513 223785502 13384724 211333607 60744503 894267291 594204193 391779414 47116225 922171930 823933296 469384372 432069691 580283317 462383923 443342808 466852129 426480224 22393976 957643716 560637528 679521131 763281688 880938198 757544011 942297502 679275202 676709331 26537314 281083465 312308223 21873594 181721636 660040051 46945925 -1 216195055 854062217 656206261 456487084 78898063 849123482 624015614 991067365 633637325 167415720 17012234 593282222 216195055 365035648 614459776 461649452 982581137 795730704 448707988 801326287 751964866 384604556 431837446 859063396 211070558 686385319 426480224 491543933 428747955 142117376 57551192 807820896 -1 488751710 495336832 264549124 197115342 452820542 365035648 41260287 280856350 879954113 610069705 520086201 406430184 130431610 4610166 137132982 669655791 53590481 763183908 280856350 260946873 610613670 57551192 86361620 982581137 494751627 175144765 229515163 113811391 13384724 72643683 690664050 666590606 644336340 159056677 782619049 695553778 117347524 779829204 891573253 575541534 448707988 901304975 130431610 593587398 432069691 146171038 349032071 155376172 432069691 749101296 470690645 858159813 63562141 465892383 29272319 111122929 379213018 -1 512615132 424697572 563675995 533367205 438872920 554782737 580470806 475822349 774937853 115470851 138790019 935910737 909186692 284859244 663307073 208493418 357329820 494950691 610932880 368779111 894991717 -1 575541534 555828167 355756362 670979891 461649452 730909832 897789362 18299476 680666684 109891495 349772488 771459106 702444538 774149146 241693686 254756796 725418770 512615132 861115508 337502849 211550817 660040051 563823514 333260763 146171038 29287119 119601349 446355059 321331882 633637325 -1 863278761 669742991 885164572 142117376 169614935 567600315 424146759 123550994 66483968 880844104 734712823 572589546 325287502 493264770 318110611 453407680 681823792 977619929 660639438 86256730 833220245 417425319 769545495 489295045 647290016 29272319 939563959 330318834 384604556 167036027 593282222 330583346 656206261 729352677 284700142 942045496 177905368 830994144 39885396 215802236 123550994 444874800 109891495 942297502 119601349 206644601 199386661 264549124 337502849 461274569 260946873 194126353 214317232 406568384 641164921 295504204 555548888 578238211 486307671 401672699 72263116 367754743 718577411 167415720 721867658 859930182 685423362 563675995 281598862 712694937 112302971 349032071 239254051 823933296 656206261 86256730 452820542 500268473 785376602 815472010 170824557 420342620 846213413 942627653 489295045 958339854 72621546 602915291 560637528 12903603 138533159 708274346 833246783 130431610 495336832 308705211 284696682 358362276 346188490 241693686 262575582 159647580 -1 472407762 590783394 461274569 97299507 575485118 508037594 555828167 475822349 760593154 237773442 791183444 998120269 880938198 668281990 495241145 849035201 730756715 206014003 214317232 894991717 211070558 984895249 100130908 907772025 77299524 417425319 254528769 46485154 251692591 602811046 462383923 999674172 960643177 860724917 893860727 669655791 192251969 118534662 888304663 109891495 590603969 638076633 548806448 441949925 739554266 138533159 627589268 355756362 305936785 833220245 974521569 130580 697374453 111122929 183843307 914206506 700120477 118534662 441949925 791932302 891573253 470690645 466034328 560455121 441949925 345072009 458547544 885077908 400907045 416756465 842306692 708274346 466852129 411999902 705622548 726124644 72643683 41524303 927530478 494950691 922220234 418807544 109891495 11796756 211070558 641205608 914206506 329959527 363579344 635671105 765954927 656206261 784371166 223785502 295805912 232531633 140395123 431837446 626837013 428142800 418807544 72643683 758575350 337502849 122896725 214924123 691504106 815472010 59706771 211550817 524542574 -1 78898063 469384372 768744535 401672699 437517579 379213018 453407680 -1 763183908 100130908 728357838 789404113 244155041 488751710 507142051 885164572 850636024 28416726 165622114 146197290 831985335 993786079 17012234 385144989 469035792 634536293 675786233 578238211 319379178 712694937 302277738 861115508 395983136 731936598 561494895 647911422 560637528 26375227 647427996 244155041 764751417 997432376 159647580 791932302 -1 14405655 57551192 838379139 894991717 774149146 718577411 512615132 833246783 198016418 434526689 997299598 834500260 140395123 491978273 340301060 94630229 893652215 59501988 284696682 57801759 846213413 908705907 885164572 -1 612885490 60978603 34030354 786969334 175554418 686865014 788878491 910794274 337502849 325287502 495712606 462383923 912506727 182429059 660738659 154693260 806195787 26375227 433756914 142117376 673965031 593282222 577714620 740224085 177905368 109891495 159056677 491543933 907772025 512615132 355126439 750763843 644336340 341012648 730824918 53590481 264549124 372910848 868211619 378409769 731745766 111985669 29592557 457715535 507142051 280856350 288542157 208493418 39885396 427618367 688380735 335743200 767047665 580283317 582861386 942627653 213926602 860724917 26537314 470803824 957643716 244195221 848715178 177905368 717390689 53028773 728357838 614459776 755527023 974521569 567600315 116545387 626837013 525617132 458547544 967987535 428413005 575541534 17012234 807648187 626807589 263636646 718229961 63562141 411999902 777440440 206287347 420425052 346188490 358362276 273365488 827132364 29734308 641205608 703311448 730909832 910794274 711501588 17012234 724422672 63562141 665446719 849123482 312308223 503810504 334677549 740224085 628984381 667841561 71713295 572589546 22576092 219896364 857102413 535432483 659932705 998120269 705118513 92102199 452820542 122067182 645276436 880938198 728492414 406717194 784371166 613084013 901304975 189854783 481127177 488751710 508037594 491543933 280856350 432504521 489295045 119601349 260946873 470690645 117303447 273365488 373771611 984117471 811841566 942297502 12903603 979285058 668250239 560556517 16475116 312308223 283107224 673965031 857102413 679670176 864350394 942297502 549323513 801326287 137132982 169614935 295504204 251692591 70161655 567600315 408244002 804352169 219896364 596367148 346394348 728492414 965067805 893897082 815472010 957643716 345392984 885077908 864561721 77564723 526755095 533560917 333772685 211070558 768744535 -1 63210631 575485118 406483013 473150723 461649452 828722364 475822349 216195055 541463939 914206506 122067182 459789430 682038125 140113105 191697350 60081926 586985028 59501988 43897314 730756715 458547544 601762202 938914563 245677831 799467751 655834254 859930182 916321789 425469326 801169129 26905429 580918883 367754743 609637013 329959527 716182336 238951985 411907778 406483013 77564723 668250239 406717194 271708247 655834254 527897224 638076633 610613670 912506727 980936845 334677549 57551192 700120477 807648187 59706771 984182750 86361620 433439854 782594982 199770581 691740164 635671105 77564723 363457997 659501910 724422672 984117471 572589546 532803555 562288215 999674172 731745766 208877360 922171930 812752908 286319692 655834254 427618367 526755095 95443860 337458711 223785502 560637528 41524303 327982936 574924220 163091630 938446553 34584857 622737539 454563819 312308223 462383923 211362614 633637325 171504845 965067805 365407761 387384744 600962339 566034579 680666684 395983136 811841566 41260287 623188968 355126439 683531283 135519629 560455121 329542777 265395517 60081926 847840320 795730704 580918883 578238211 901304975 399202754 916321789 660738659 465892383 127278512 203493552 555548888 53028773 614593757 295805912 286319692 411907778 145847415 960643177 437863021 418807544 472407762 374972287 386381016 276260520 428413005 77564723 729352677 426480224 950862675 562309509 535432483 535432483 689897360 271708247 910994573 580283317 260307180 848715178 623090438 437517579 327789615 327982936 691214891 239254051 43392732 567600315 976942240 590603969 627589268 817693389 263798126 441949925 997432376 602811046 203493552 632336991 365407761 456863895 961821360 238442797 472407762 992563691 638293140 984895249 456401701 690863334 549323513 57606083 939946968 21873594 555548888 88469907 170824557 473150723 437863021 953838288 465892383 146197290 421927353 232531633 695553778 982693874 198016418 859930182 880446976 428747955 560455121 668250239 115470851 491294665 485683712 408244002 367754743 79213361 229515163 961821360 728357838 214924123 228137178 145847415 164542502 691504106 239987054 67592009 814490763 406717194 293155218 372510013 276260520 109891495 346394348 109891495 711503207 159647580 345102555 596367148 730756715 284387166 248636995 560455121 999674172 305936785 722874144 115470851 943374902 192251969 39885396 681823792 346188490 469035792 42277380 623090438 34584857 70161655 46485154 214317232 832364259 -1 499941413 563675995 95443860 18794770 789404113 991188064 594204193 560814638 760593154 691740164 162425880 55517047 666590606 239987054 897789362 22576092 741339101 149052945 345392984 363457997 425469326 19140171 365407761 368779111 500268473 319379178 979285058 495336832 599555786 832364259 764751417 22576092 518109595 308232133 592274818 614297261 858159813 567600315 970265761 201066749 965993467 593282222 731745766 451474906 527897224 891436447 395983136 203580162 160366715 791183444 194126353 702444538 562288215 850636024 988919874 46011383 411907778 417425319 422331486 78898063 355126439 893897082 349032071 638011115 38372578 676709331 165753 495241145 681690682 46410909 228137178 719457202 284696682 610932880 790909002 723200871 274831438 880844104 175884183 541460419 703311448 526755095 72794624 171221433 495712606 836680980 634983639 593282222 537867109 161017478 663667470 303139271 94630229 229515163 67592009 574924220 957144144 13841075 553190572 466852129 32466209 432504521 750429264 691504106 532803555 349772488 618312173 777440440 485683712 622918995 203493552 17012234 786969334 594204193 241693686 914291169 214317232 572311287 914662962 670979891 -1 700120477 691214891 647427996 59501988 155376172 216195055 110556435 244195221 814490763 433439854 526755095 907456227 59501988 468199498 -1 524542574 786892734 582319429 842871738 660040051 437517579 897789362 814490763 619868736 456863895 291386915 111985669 907772025 335890204 149830598 982581137 554782737 170824557 676709331 916738849 452820542 381881872 782619049 499941413 162425880 922220234 254528769 560556517 263636646 703311448 942627653 860724917 555548888 827132364 668250239 346394348 859930182 345102555 507142051 679670176 578238211 34584857 74820195 867933639 818014838 685097645 690863334 142117376 731745766 162425880 904818318 989747990 950235340 330318834 893897082 762227828 880938198 398981201 385144989 420342620 849123482 681823792 742174392 904818318 818829472 686865014 254528769 846213413 623188968 73453883 916321789 18794770 555548888 943374902 73453883 987705926 644187365 850101344 284696682 580283317 757544011 833246783 526755095 685423362 333772685 420773560 612885490 679521131 817331802 56105859 599555786 155997760 428747955 777440440 414918047 319379178 46011383 56105859 850636024 321331882 667300705 334677549 987705926 676709331 903297209 217928587 695553778 391779414 330318834 765137854 943374902 138533159 741339101 908463563 804352169 567416830 495712606 115470851 614459776 770847694 690863334 336688564 591700510 165753 265395517 832364259 850351456 505655512 849035201 859962837 349032071 908705907 37081879 197115342 740364356 73525554 519762398 942627653 594204193 577758652 638011115 524972471 100130908 784597145 199770581 389956215 623188968 188196698 647290016 481127177 916321789 37081879 377651896 561494895 751316591 596367148 251692591 769545495 812752908 729352677 330318834 448316745 740224085 613084013 818014838 424146759 951926549 420342620 154693260 656206261 531136661 566034579 751964866 722874144 198703751 79323336 77299524 491543933 697374453 902419092 107596959 880938198 340301060 801326287 745924515 960643177 553190572 673965031 836680980 111985669 593587398 100130908 819523467 518109595 670408229 974521569 92102199 555548888 363811064 623188968 260946873 262575582 818829472 664295306 660738659 586985028 771459106 746419439 980134651 403334160 88469907 -1 765137854 690664050 697374453 676709331 86361620 885164572 914206506 980134651 251692591 243341711 417425319 533367205 422331486 254167164 13384724 349032071 197307546 252012472 459789430 308232133 908463563 150137560 777440440 942297502 704672739 -1 288542157 731745766 462383923 191697350 301714930 297175900 308705211 308705211 81866966 782619049 901803305 54164180 523542917 381881872 697374453 867723620 920219729 32466209 175554418 109891495 785376602 138533159 281083465 507142051 368704535 626837013 116545387 973579758 756425389 818829472 17012234 330583346 203018461 84208996 249558965 239254051 79213361 18794770 54164180 667841561 508037594 771459106 499941413 59501988 553190572 566096351 462383923 811841566 823787812 748186132 349772488 92102199 60978603 904818318 327789615 46011383 247165890 930790502 771459106 374972287 641164921 468199498 852782081 43897314 904818318 97299507 922220234 579783784 880938198 689897360 375673341 750763843 223785502 427618367 572589546 683531283 624015614 751316591 848715178 38372578 379109457 295958449 354949635 922171930 333260763 692204091 893860727 86256730 705118513 71713295 413843857 135519629 329574367 66483968 469384372 883564101 432069691 500268473 679521131 923159887 34030354 168494769 893897082 247165890 745924515 852837035 946112218 885077908 55517047 757544011 79323336 175144765 768744535 940104206 223030820 635671105 94630229 842306692 507969865 494923774 638011115 666590606 871898006 751964866 719457202 223785502 214924123 935910737 336862767 433439854 22393976 411907778 203018461 81866966 968396048 753145692 859930182 980134651 909186692 859930182 403334160 987705926 770278321 391779414 537867109 938446553 512615132 960643177 363579344 957643716 231771136 992563691 355756362 433348815 868838278 999674172 59501988 533367205 92160628 284700142 117347524 726124644 336862767 298868262 789404113 823933296 220059095 563732029 984117471 663946492 13384724 838379139 327982936 118534662 863278761 974448855 60978603 268947673 604148770 667841561 334677549 349772488 867933639 562309509 273365488 117347524 591284702 229405480 912506727 520086201 634983639 391779414 987705926 658388576 270206207 785866095 307476694 548806448 938954818 18299476 703311448 641164921 444874800 523542917 428413005 669125354 401672699 683531283 531136661 818974853 728357838 697374453 57551192 86361620 373683372 416739210 885164572 33812208 491543933 122067182 784371166 59501988 461649452 26375227 38372578 668250239 346188490 659501910 748526814 122067182 295805912 95779603 386381016 164542502 457715535 542986495 26905429 916321789 638293140 622918995 807820896 641205608 81866966 192251969 72794624 329574367 303139271 29592557 785376602 950862675 57551192 246216644 260307180 580884227 525617132 122067182 472516679 365035648 205644911 239987054 982693874 203580162 288628682 768744535 560455121 842306692 456401701 779829204 477076784 763281688 494751627 312308223 -1 527985132 548806448 443342808 -1 271516194 704672739 268947673 399202754 490869221 763183908 26905429 208493418 14405655 565554630 891436447 668281990 631700842 86361620 868838278 784371166 466034328 284696682 107596959 391779414 846213413 901304975 63562141 885077908 716182336 132774876 469743398 379213018 63562141 658212287 560814638 724422672 788878491 779829204 939946968 942297502 480210823 663307073 756425389 38372578 22393976 43897314 63562141 18299476 893897082 26375227 726776295 431837446 201066749 70161655 476084224 760593154 721120553 819963767 514721585 628984381 238951985 358362276 662235717 338370105 767047665 845211351 46945925 986331373 849123482 214317232 490869221 785376602 807262913 336688564 113811391 672907310 34584857 22393976 908705907 443342808 923159887 562309509 32796250 685423362 938954818 769545495 243995015 113804160 602915291 937633254 228137178 555548888 828722364 881489135 691504106 270206207 424697572 57606083 219896364 670408229 485683712 852782081 167415720 721120553 541463939 822261941 183843307 329542777 114396999 868838278 -1 590603969 223785502 113811391 271516194 575541534 -1 329959527 239254051 373771611 669742991 849035201 378610966 345072009 981763217 780117964 2433982 265395517 -1 391779414 864561721 627589268 665446719 748186132 112624754 701070480 18404492 830994144 942384956 273365488 29272319 815472010 49212342 910794274 182429059 188196698 43897314 500268473 219896364 604148770 857269083 132774876 433756914 760624728 950629972 -1 57801759 138790019 846213413 339350524 276260520 168494769 417425319 55517047 965067805 281083465 372910848 524542574 845459462 807648187 914291169 777440440 688597242 681690682 43392732 846213413 822261941 623090438 560814638 46485154 834500260 284387166 686385319 572589546 433439854 883564101 308705211 686649778 284696682 710113373 247165890 711503207 494950691 470803824 197115342 567416830 438872920 645276436 252012472 468199498 524972471 970265761 165622114 762227828 14405655 688597242 533560917 100130908 818014838 201066749 831985335 303139271 301334993 580470806 481127177 771459106 624015614 424146759 580884227 622918995 920219729 401672699 464037621 156929061 280856350 828722364 984182750 217928587 386935154 280856350 729352677 355756362 340301060 801326287 414918047 762227828 245677831 53028773 406483013 232531633 670408229 833246783 379109457 845211351 53590481 731745766 823933296 468107571 73525554 710730165 942384956 386381016 763281688 113811391 413843857 254528769 685097645 110012494 183843307 481127177 468107571 75228974 175144765 107596959 968396048 288542157 710730165 338370105 790809628 543006155 57606083 647427996 318110611 838379139 612885490 207023050 46945925 980936845 295958449 -1 229515163 325845006 658212287 3090244 181721636 726124644 938914563 782594982 977619929 664490073 26375227 910994573 473150723 457715535 991188064 214317232 337502849 974448855 542661640 663946492 916738849 831985335 920219729 593587398 695553778 297175900 306767836 914291169 750769230 685423362 560556517 393835525 408244002 679275202 32466209 785376602 46485154 284700142 32466209 897789362 746419439 600962339 780117964 721120553 365407761 645276436 873072247 110012494 323513395 297133830 308232133 563675995 302277738 523542917 526755095 871898006 984117471 291386915 763856958 638293140 199770581 524972471 214924123 577758652 77299524 604148770 769854437 411907778 248636995 29592557 78898063 406430184 991067365 838379139 532803555 298868262 407009263 658388576 891436447 452820542 327982936 182659876 977619929 997299598 937638157 920219729 271708247 644187365 711501588 920219729 903297209 608724072 807648187 880938198 130580 777440440 830994144 138533159 757544011 590783394 94630229 817331802 14405655 701070480 791932302 769854437 761021239 239254051 161017478 59501988 664490073 818829472 527985132 726124644 254528769 724422672 649175882 490142300 459789430 709403855 170824557 251692591 591700510 305936785 329574367 229821643 623090438 588150191 871898006 -1 867723620 904818318 435984127 522063456 379213018 950235340 669125354 203493552 595427792 469384372 769854437 281598862 484471406 319379178 686649778 838379139 577758652 854398124 660639438 223030820 163091630 845211351 819523467 194126353 175554418 122067182 111122929 859930182 416739210 619868736 60744503 229405480 881489135 175554418 232531633 386935154 836680980 167415720 668250239 961821360 18404492 979580407 260946873 18404492 197307546 329959527 94630229 262575582 627561325 644336340 785376602 254756796 645695407 466034328 451474906 228902962 873072247 907456227 39885396 391779414 908705907 645276436 580918883 614459776 538432928 880938198 490142300 765137854 541460419 750156197 248636995 71713295 939563959 458547544 28416726 601762202 577714620 494923774 863667577 329959527 726124644 801169129 59706771 938954818 669655791 327982936 431837446 757544011 533560917 290604263 541463939 26375227 384604556 63243152 28576479 908463563 308232133 623188968 393835525 368935143 718229961 728357838 782927012 571736161 623090438 301334993 387518405 288628682 163789960 649175882 680666684 301714930 725418770 590138438 575485118 686865014 751316591 484471406 165753 198703751 503810504 325287502 26905429 726776295 254756796 977619929 538432928 456863895 150137560 789495739 807262913 335743200 37081879 163091630 91064641 -1 271516194 228902962 709403855 407009263 789495739 420342620 49208976 488751710 72621546 807648187 596943234 271708247 245677831 610932880 349032071 800463769 26375227 761021239 766504018 923159887 401672699 894267291 432504521 281083465 422331486 553190572 424146759 456401701 731745766 590603969 566096351 249558965 415965469 801326287 55517047 533367205 75228974 666590606 799467751 989747990 451474906 638011115 36050763 159056677 60081926 392826688 903297209 622918995 637964511 336862767 308232133 691214891 -1 930790502 349032071 739554266 847840320 338370105 243995015 43392732 358191652 958339854 32796250 998120269 717390689 393835525 484471406 864350394 102379477 387384744 656489207 638011115 593282222 938954818 495336832 341012648 384604556 293155218 495336832 635671105 667169560 312308223 307476694 590603969 119601349 763856958 140395123 988919874 38372578 977467597 46945925 122067182 -1 867933639 354949635 296417374 468199498 503810504 750769230 838379139 542661640 177905368 489295045 975269268 251692591 568090820 922171930 769854437 997299598 295805912 13841075 942297502 170824557 345072009 19140171 688380735 711503207 693375965 914206506 198628726 229405480 214317232 281598862 32466209 301714930 469384372 323513395 750769230 417425319 580283317 206014003 411907778 710730165 491294665 427618367 167415720 169614935 392826688 34030354 774149146 420773560 199386661 910994573 943374902 893652215 603620710 712694937 834500260 175144765 114396999 893860727 626837013 564190579 49212342 580918883 374972287 123550994 217928587 437863021 789404113 407009263 122896725 857102413 17012234 620059513 655834254 864350394 599555786 239254051 668250239 543006155 638076633 489295045 109891495 864561721 580884227 864350394 214317232 520086201 475822349 229821643 770847694 691214891 968396048 815472010 494950691 318110611 63210631 590138438 481127177 466852129 344240078 914291169 635671105 112624754 495336832 760593154 135519629 47116225 976942240 42277380 788878491 437863021 535432483 645276436 116545387 263798126 774149146 891436447 631700842 3090244 399202754 864561721 968396048 317871021 580470806 567600315 588150191 329959527 561494895 804352169 665446719 635671105 72621546 84062198 -1 814490763 901304975 223030820 763281688 543006155 491543933 555548888 54164180 562288215 408244002 499941413 938914563 860724917 507969865 916738849 140395123 88469907 237773442 296417374 420773560 914206506 79213361 755527023 2433982 774937853 391779414 942627653 780117964 46485154 961821360 842306692 197115342 538432928 520011864 481127177 790809628 664295306 208877360 910794274 741463146 811841566 29287119 580884227 175590565 601762202 391779414 72794624 183843307 927530478 982693874 142117376 543122079 830162158 263798126 567600315 724422672 908463563 710113373 893860727 753145692 87162480 883564101 454563819 668281990 57551192 705118513 561553313 957643716 421927353 586392635 87162480 59706771 563823514 836680980 991188064 618312173 728357838 335890204 910794274 950862675 268947673 77564723 229405480 490869221 335743200 542986495 764751417 890844482 270206207 411907778 414918047 979580407 638293140 470803824 602811046 422331486 938446553 284700142 807262913 683531283 456401701 957643716 638076633 599555786 785866095 495712606 610932880 746419439 428413005 164542502 26375227 751964866 672907310 -1 295504204 373771611 488751710 427675535 940104206 563823514 208877360 198703751 833220245 560637528 53028773 456863895 801326287 988919874 686385319 281598862 60978603 770278321 641164921 863278761 250810872 345072009 777440440 288542157 739554266 415965469 818974853 54164180 453407680 658388576 614297261 239254051 60081926 740364356 507142051 41524303 599555786 162425880 295958449 2433982 302277738 291386915 -1 268947673 770847694 790809628 562309509 155906400 428747955 17012234 57606083 701070480 53590481 634983639 238442797 647911422 368704535 399202754 367754743 393835525 966503495 275463593 782619049 368704535 21873594 661932839 368704535 942297502 42277380 416739210 306767836 -1 689897360 832364259 730909832 182026506 811841566 818014838 609637013 801326287 229515163 914662962 767047665 301334993 903297209 45426260 330318834 245677831 786969334 495241145 379109457 206644601 182659876 117347524 167036027 641164921 228902962 651109313 937638157 495712606 709403855 984117471 232018015 458547544 92160628 637964511 790909002 831985335 275610416 416756465 211070558 762227828 63210631 13384724 406430184 555548888 415965469 891573253 989696303 411907778 182659876 937638157 321467204 392826688 799467751 938954818 400907045 785866095 494923774 979285058 465892383 60744503 838379139 26905429 622918995 784371166 345102555 543006155 264549124 675786233 786969334 974448855 995194212 834500260 406483013 728357838 472516679 586985028 41524303 649175882 167415720 421927353 -1 358362276 387384744 237773442 416739210 750769230 984895249 155906400 246216644 880446976 806195787 673965031 114396999 312308223 880938198 169614935 249558965 761021239 201066749 318110611 428142800 13841075 372510013 553190572 203018461 788878491 295805912 290604263 785866095 767047665 989747990 739554266 337502849 942297502 373683372 965067805 119601349 191697350 346394348 183843307 560556517 155376172 424697572 276260520 974521569 295504204 352508141 116545387 368764047 41524303 22576092 508037594 942627653 620059513 378409769 718229961 520086201 577758652 865880334 722672739 428413005 560455121 57801759 730756715 74820195 466852129 92112290 228902962 47116225 682038125 686649778 110556435 28576479 591700510 750429264 939946968 214317232 526755095 784371166 992563691 239254051 456487084 753145692 520086201 182026506 18404492 970265761 408244002 -1 638293140 953838288 748526814 651109313 411907778 574924220 957144144 321467204 189854783 243995015 29287119 49212342 327982936 627589268 786969334 916321789 891436447 638011115 247165890 596943234 922220234 416756465 386381016 791932302 378610966 551345512 22576092 852837035 373771611 861383306 295958449 34685076 914291169 634536293 293155218 317871021 407009263 790909002 308705211 384604556 386935154 223030820 950862675 718577411 112302971 861208333 755527023 686649778 452820542 84062198 97299507 563823514 701070480 60744503 854398124 214317232 97299507 890844482 567600315 968396048 363457997 683531283 745215401 470803824 102379477 163091630 647427996 791183444 340301060 175884183 861383306 432069691 357329820 740364356 588150191 117347524 885164572 663667470 26905429 466034328 115639466 774149146 748186132 770680522 622918995 249558965 902419092 368764047 317871021 893652215 815472010 660040051 46011383 327789615 3090244 960643177 965067805 181721636 54153332 66483968 78898063 348123399 346394348 167036027 333772685 749101296 428413005 79213361 466852129 970265761 211550817 567600315 214317232 186539666 910994573 957144144 301334993 610932880 897789362 858159813 950235340 194126353 363579344 942045496 406430184 659932705 275610416 610932880 149830598 448316745 523542917 982581137 260946873 346394348 789495739 560637528 753145692 155997760 302277738 730824918 845211351 890844482 647911422 456401701 974521569 849123482 669125354 728492414 260307180 495336832 448316745 975269268 398981201 263798126 273365488 594204193 387518405 453407680 815472010 782927012 666590606 731745766 565554630 275463593 336688564 590783394 77299524 555548888 484471406 940104206 171221433 999674172 47116225 828722364 211362614 203580162 663667470 689608865 165753 697184458 270206207 192251969 767047665 448707988 70161655 95443860 54153332 691504106 791932302 682038125 182659876 890844482 437863021 46011383 494751627 365679164 891436447 655834254 970265761 163091630 60744503 493264770 219896364 789495739 63210631 980936845 938446553 873072247 181721636 572589546 634983639 192251969 946112218 922220234 907772025 18299476 507142051 63210631 726124644 165753 705118513 416739210 739554266 206644601 469743398 107596959 373683372 999674172 594204193 75228974 493264770 81866966 721120553 588150191 641205608 683531283 378610966 273365488 574924220 806195787 890844482 665446719 33812208 563732029 86361620 217928587 243341711 663946492 86361620 4610166 883564101 32466209 656489207 110012494 823933296 815472010 700120477 768744535 731936598 168494769 365407761 596943234 327789615 325287502 465892383 667169560 916738849 974448855 162425880 591284702 610613670 710730165 638293140 443342808 491543933 211362614 729178187 113811391 749101296 935910737 208028672 729352677 718229961 951926549 782619049 37724537 297175900 760593154 942384956 211333607 74820195 245677831 593587398 859930182 719457202 55517047 41524303 116545387 579690895 666590606 647911422 842306692 659501910 728492414 620059513 668281990 549323513 251692591 488751710 -1 729178187 111985669 577714620 786892734 586985028 244155041 984895249 378610966 206644601 982693874 406568384 532803555 560637528 318110611 690863334 142117376 480210823 398981201 373771611 208877360 301334993 155376172 373771611 448316745 667300705 820211254 472407762 21873594 626807589 938954818 29287119 49208976 54164180 666590606 197115342 562309509 812140416 495241145 861383306 967987535 628220249 988919874 244883660 627376276 551345512 352607876 724422672 580283317 927530478 167415720 566034579 232018015 774937853 458547544 562288215 32466209 451474906 939946968 469384372 551345512 864561721 575485118 229405480 984895249 961821360 36050763 786969334 976942240 159647580 213926602 447434673 192251969 522063456 81866966 580283317 335890204 533367205 701070480 664490073 420773560 112302971 966561320 628220249 842306692 592274818 842871738 614593757 818014838 163091630 512615132 239254051 867723620 541463939 863667577 211550817 163983150 458547544 461649452 428142800 676709331 127278512 199386661 301714930 75228974 914291169 670408229 122067182 192251969 942627653 764751417 519762398 685097645 893897082 298868262 -1 628220249 828722364 11796756 407009263 13384724 998120269 368704535 456863895 149830598 686385319 828722364 739554266 206014003 484471406 115639466 197307546 466852129 330785266 560455121 427618367 627376276 456863895 162425880 569422962 448707988 77564723 673965031 468199498 523542917 634536293 208028672 612885490 718577411 745215401 907456227 217928587 991188064 620059513 833246783 317871021 930790502 645695407 785376602 223785502 757544011 659501910 469035792 346394348 110556435 275610416 763281688 67592009 -1 -1 961821360 881489135 418807544 525617132 623188968 79213361 461649452 533560917 854398124 574924220 937633254 211070558 164542502 560455121 54153332 857269083 319379178 102379477 181721636 437863021 888304663 116545387 524542574 470803824 631700842 29287119 47116225 817331802 612885490 175590565 197307546 553190572 456863895 365679164 468107571 755527023 623090438 828722364 574924220 432069691 891436447 63210631 1713096 26375227 208877360 284387166 779829204 95443860 691504106 562288215 804352169 800463769 923159887 731936598 908463563 53590481 36050763 717390689 475822349 868838278 428142800 670408229 411999902 413843857 883564101 468107571 211362614 303139271 717390689 688597242 622918995 206287347 411999902 820211254 662235717 902419092 337502849 880844104 223785502 730909832 718229961 116545387 399202754 81866966 500268473 910794274 470803824 676709331 239254051 164542502 807648187 155906400 70161655 197307546 818014838 751964866 998120269 298868262 113811391 723200871 734712823 229405480 993786079 88469907 740364356 622918995 330583346 53028773 199770581 74820195 663667470 711503207 211362614 914662962 319424815 384604556 13384724 967987535 765954927 213926602 620059513 254756796 367754743 830994144 880446976 321331882 864350394 138790019 562309509 296417374 416756465 107596959 739554266 56105859 999674172 162425880 477076784 428413005 679521131 560637528 762227828 524972471 182429059 150137560 514721585 880446976 281083465 731936598 115470851 411907778 283107224 763183908 406717194 197115342 980936845 938914563 418807544 751316591 575541534 29592557 477076784 750429264 137132982 441949925 910994573 295805912 408497768 586392635 533560917 293155218 603690869 117303447 329542777 849035201 330583346 249558965 984117471 885164572 192251969 29592557 575485118 325845006 790909002 72263116 658388576 138533159 39885396 92112290 306854073 469035792 92112290 260946873 215802236 203580162 78898063 893897082 938446553 950862675 882812597 53590481 613084013 281598862 59706771 92160628 38372578 741339101 70161655 937633254 950629972 208877360 367754743 435984127 645276436 942045496 477076784 818974853 728357838 367754743 649175882 389956215 894991717 391779414 491978273 894991717 568090820 417425319 750429264 838379139 270206207 42277380 459789430 368704535 199770581 685423362 603620710 420425052 916321789 46485154 830994144 667300705 999101537 244155041 228137178 688597242 523542917 633637325 34030354 920219729 786892734 610613670 349772488 451474906 379213018 692204091 301714930 18794770 638076633 32466209 329959527 711501588 46011383 750763843 834500260 740224085 937633254 858159813 254756796 596367148 389956215 297133830 54153332 854398124 53028773 -1 681690682 428142800 655834254 731936598 115470851 656206261 770680522 47116225 140395123 662235717 572589546 94630229 555548888 274831438 441949925 451474906 452820542 365407761 669655791 628220249 986331373 789404113 -1 92160628 67075526 142117376 192251969 560556517 894991717 686385319 26905429 3090244 164542502 305936785 29287119 379109457 785247749 914291169 966561320 569422962 329574367 154693260 111985669 452820542 420425052 379109457 999674172 567416830 301714930 582319429 750156197 475822349 627561325 834500260 676709331 447434673 433114786 639572212 908463563 303139271 57606083 603620710 29272319 801169129 447434673 833220245 433114786 308705211 660738659 135519629 770847694 307476694 432504521 446355059 919585635 830544982 422331486 458547544 827132364 254756796 26905429 399202754 303139271 392826688 116545387 117347524 637964511 372910848 757544011 628984381 561553313 53590481 531136661 489295045 308705211 518109595 689897360 628220249 295504204 819963767 107596959 408497768 771459106 881489135 549323513 710730165 568090820 669655791 790909002 238951985 891436447 495241145 481127177 979285058 92160628 943374902 -1 118534662 582319429 246216644 582319429 610895287 901803305 804352169 660639438 32466209 169614935 753145692 155997760 92112290 703311448 54164180 46485154 327982936 914662962 765137854 777440440 526755095 680666684 997299598 943374902 211362614 847840320 352607876 861208333 914291169 41524303 572311287 939946968 958339854 551345512 142117376 443342808 688597242 327789615 494950691 628984381 861115508 122896725 381881872 880446976 812752908 140395123 273365488 664295306 782594982 881489135 850636024 647290016 591284702 575485118 372910848 526755095 321331882 452820542 333772685 686385319 523542917 378610966 541463939 367754743 171504845 438872920 72263116 699856917 755527023 818829472 686649778 691504106 447434673 782619049 914662962 159056677 223030820 468107571 658388576 163789960 395983136 244883660 340301060 130580 245677831 800463769 63562141 159647580 46945925 373771611 447434673 854398124 746419439 167415720 588150191 56105859 817693389 113811391 725418770 532803555 138790019 453407680 541463939 273365488 532861718 651109313 363811064 885077908 367754743 831985335 726776295 191697350 379213018 701070480 774149146 774149146 372910848 930790502 489295045 987705926 711503207 631700842 845459462 807648187 669742991 524972471 667841561 428747955 197115342 288628682 681690682 92160628 880665324 553190572 519762398 812752908 260946873 790809628 632336991 264549124 92112290 901803305 901803305 612885490 785866095 127278512 217928587 111122929 243995015 800463769 466034328 663667470 79323336 888304663 433439854 138790019 769854437 384604556 850636024 468199498 461649452 935910737 70161655 38372578 203580162 118534662 140395123 26537314 284859244 307476694 986331373 145847415 346394348 149052945 864350394 231771136 72621546 473150723 639572212 786892734 169614935 791932302 907772025 663307073 708274346 731745766 819963767 182659876 346394348 604148770 575541534 679521131 965067805 -1 718229961 337502849 -1 950862675 691214891 432069691 411907778 457715535 22393976 435984127 770680522 753145692 880844104 468199498 306767836 626807589 613084013 358191652 198628726 907456227 596367148 325845006 119601349 428413005 391779414 667169560 519762398 984895249 363811064 229515163 704672739 -1 676709331 999101537 966503495 505655512 579690895 358191652 885164572 162425880 908463563 555548888 859962837 385144989 21873594 982554231 77299524 29287119 634536293 667169560 880938198 920219729 812140416 938954818 335743200 344240078 641205608 763183908 433114786 609637013 730909832 415965469 271708247 472516679 849035201 522063456 55517047 751316591 155906400 -1 167415720 46945925 33812208 494751627 974521569 494751627 769837665 623090438 375673341 399202754 673965031 21873594 697184458 275610416 140113105 739554266 512615132 705622548 265395517 535432483 211550817 770278321 572311287 217928587 897789362 916321789 566034579 470803824 367754743 624015614 958339854 647911422 819963767 871898006 769837665 970265761 868211619 214317232 408497768 149052945 614297261 16475116 575485118 211362614 276260520 864350394 922220234 119601349 228137178 284387166 950235340 750769230 18299476 904818318 186539666 86256730 770278321 416739210 780117964 41260287 165753 -1 935910737 329959527 456487084 229515163 740364356 942627653 893860727 722874144 352607876 649175882 812752908 428747955 140113105 215802236 489295045 -1 302277738 140395123 518109595 138533159 281083465 446355059 422331486 374972287 297175900 330785266 205644911 590783394 893860727 666590606 167036027 846213413 448707988 999674172 113804160 637964511 609637013 327789615 491978273 992563691 507969865 346188490 622823007 663667470 112302971 586985028 695553778 566034579 670979891 149052945 554782737 750156197 950629972 352607876 591284702 254167164 658212287 790809628 406568384 13384724 760593154 986331373 330583346 477076784 817693389 160366715 247165890 286319692 451474906 451474906 849123482 586985028 838379139 448707988 842306692 424146759 663667470 563675995 472516679 634536293 901803305 271516194 220059095 111122929 634983639 602811046 244883660 495712606 337502849 623188968 231771136 252012472 138790019 779829204 138533159 473150723 420425052 685423362 416739210 175590565 319379178 346188490 470690645 562309509 610069705 817693389 984117471 95443860 691740164 208028672 579783784 215802236 413843857 774149146 373683372 399202754 524542574 651109313 751964866 203493552 660738659 1713096 263798126 586985028 206644601 997299598 458547544 628220249 426480224 130431610 16475116 669742991 563823514 563823514 107808575 857102413 861208333 411999902 986331373 168494769 291386915 718577411 571736161 365679164 977619929 655834254 849035201 868838278 203493552 888304663 88469907 493264770 938914563 768744535 668250239 318110611 160366715 655834254 14405655 673965031 602811046 201066749 228902962 854062217 38372578 213926602 997432376 807820896 422331486 806195787 722874144 943374902 446355059 555828167 13841075 341012648 7545447 882812597 614297261 619868736 842871738 830162158 939563959 647911422 491543933 367754743 88469907 923159887 981763217 623090438 312308223 175884183 457715535 710730165 252012472 586985028 533367205 709403855 155906400 469384372 336688564 658388576 34030354 66483968 373771611 559785274 672907310 344240078 92160628 774937853 998120269 662235717 59501988 17012234 229515163 864561721 729352677 355756362 481127177 81866966 73453883 330318834 77299524 863667577 307476694 70161655 632336991 116545387 686865014 243341711 572589546 688380735 55517047 614459776 385144989 819523467 199770581 658388576 407009263 67592009 977467597 26375227 842871738 443342808 622918995 115639466 655834254 456863895 667300705 789404113 211362614 647427996 751316591 765954927 782594982 965067805 481127177 424697572 49212342 610069705 67075526 228137178 689608865 596367148 29272319 670408229 614593757 290604263 786075537 618312173 668281990 291386915 620059513 228137178 857269083 348123399 567416830 946112218 486307671 206014003 387518405 325845006 119601349 555548888 731936598 488751710 426480224 623188968 888304663 411907778 117347524 686865014 730909832 563732029 705118513 72643683 518109595 110556435 161017478 993786079 295958449 167036027 638011115 740364356 730756715 428747955 532861718 995194212 525617132 72643683 112302971 991067365 565554630 191697350 381881872 760593154 123550994 638293140 283107224 472407762 543122079 833246783 663667470 989747990 601762202 833246783 572589546 695553778 582861386 13841075 470803824 745924515 386381016 780117964 725418770 411907778 838379139 149052945 107839247 879954113 554782737 115639466 649175882 984895249 336862767 238442797 631700842 667300705 612885490 801402068 719457202 842871738 349032071 175590565 473150723 194126353 769854437 107839247 372510013 155997760 524972471 782927012 55517047 244155041 138533159 446355059 765954927 54153332 608724072 325845006 79097209 649175882 980134651 579991057 251692591 140395123 211333607 512615132 112624754 790909002 596367148 638011115 182026506 348123399 118534662 138533159 197115342 167415720 433348815 757544011 468107571 667300705 537867109 281598862 70161655 711501588 228137178 804352169 942297502 542986495 201066749 162425880 171504845 691504106 472516679 232018015 330583346 538432928 740224085 491978273 942045496 590603969 788878491 67075526 122067182 725418770 243995015 937633254 664295306 130580 414918047 435984127 749101296 163789960 633637325 349772488 593587398 140395123 216195055 381881872 565554630 53028773 827132364 332773543 -1 880665324 610069705 345392984 452820542 757544011 480210823 198703751 726776295 686649778 982693874 888304663 260307180 207023050 243341711 435984127 26905429 847840320 731745766 942297502 46011383 730824918 330318834 243995015 78898063 192251969 244155041 560556517 882812597 879954113 815472010 11796756 420342620 401672699 135519629 354949635 297175900 827132364 904818318 907772025 375673341 458547544 332773543 169614935 194126353 21873594 70161655 329574367 960643177 815472010 563732029 398981201 56105859 812140416 214924123 72621546 622918995 86361620 669742991 38372578 519762398 982581137 679275202 995194212 822261941 522063456 830162158 890844482 514721585 610069705 18404492 644187365 319379178 937638157 26375227 91064641 306767836 542661640 614593757 800463769 275463593 807262913 238442797 54153332 660639438 622918995 812140416 14405655 452820542 842871738 577758652 591700510 857269083 761888635 21873594 363811064 470690645 339350524 332773543 995194212 777440440 275463593 935910737 211362614 666590606 852837035 288628682 284700142 254756796 723933984 660738659 127278512 599555786 386381016 740364356 638011115 485683712 415965469 725418770 729352677 319424815 456487084 127278512 427618367 -1 977467597 770847694 377651896 97299507 669742991 965067805 634536293 94630229 271708247 494751627 577714620 586392635 661932839 602915291 635671105 922171930 647290016 355126439 685097645 291386915 610932880 363811064 301714930 67075526 852837035 239254051 164542502 181721636 288628682 683489839 722874144 888304663 860724917 484471406 306854073 29287119 417425319 264549124 785866095 777440440 368764047 566034579 475822349 248636995 575485118 567600315 553190572 578238211 468107571 681690682 112302971 329542777 763856958 358362276 688597242 603620710 700120477 428413005 493264770 791183444 893860727 725418770 937633254 451474906 908705907 46011383 849035201 112302971 330583346 352607876 443342808 110012494 782619049 475822349 751964866 718229961 355756362 473150723 726776295 73453883 472407762 114396999 60744503 208877360 407009263 475822349 820211254 645695407 379213018 491294665 452820542 830162158 975269268 77564723 750769230 130580 424146759 112302971 788878491 211070558 543122079 74820195 447434673 697184458 903297209 275610416 252012472 567416830 682038125 785376602 852837035 110012494 786892734 966503495 281598862 750769230 335743200 493264770 823933296 57551192 246216644 719457202 197115342 60744503 428413005 140395123 375673341 623090438 407009263 244883660 561553313 284700142 613084013 477076784 472516679 623090438 622823007 669742991 614593757 953838288 198628726 863667577 750156197 888304663 406568384 731936598 628984381 966503495 118534662 319379178 387518405 41524303 301714930 716182336 223785502 291386915 431837446 206287347 881489135 984895249 628220249 372910848 897789362 465892383 448316745 63243152 453407680 145847415 638293140 739554266 537867109 669125354 567416830 318110611 579991057 703311448 864561721 638293140 373771611 957643716 676685933 238442797 938954818 208493418 582319429 33812208 812140416 330583346 647911422 355756362 893652215 764751417 264549124 580918883 531136661 708274346 489295045 462383923 499941413 372510013 746419439 702444538 475822349 750429264 707186544 480210823 387518405 284696682 984117471 46011383 750156197 859063396 751316591 244155041 386935154 33812208 22393976 767047665 254167164 411999902 365407761 976942240 118534662 208493418 211333607 413843857 514721585 72794624 116545387 175884183 572589546 667169560 418807544 614297261 850351456 977619929 162425880 627589268 297133830 -1 189854783 817693389 649175882 975269268 614459776 804352169 613084013 355756362 702444538 961821360 574924220 681690682 766504018 365035648 988919874 84208996 63243152 970265761 998120269 114396999 486307671 43897314 977619929 897789362 627589268 818974853 641205608 427618367 398981201 763183908 789404113 18404492 472407762 215802236 596943234 373683372 577758652 910794274 113811391 680666684 495241145 763281688 730824918 448707988 660639438 500268473 201066749 95443860 321331882 102379477 43897314 894991717 275610416 295958449 211333607 880446976 427618367 205644911 79097209 685423362 340301060 734712823 245677831 321331882 446355059 651109313 472407762 644187365 991188064 280856350 393835525 214317232 378610966 57551192 722874144 484471406 207023050 631700842 428747955 -1 254167164 730909832 188196698 308705211 336688564 726124644 59501988 618312173 303139271 512615132 368935143 858159813 72643683 201066749 771459106 527897224 700120477 470690645 -1 280856350 381881872 551345512 681690682 231771136 668250239 469035792 938954818 923159887 815472010 365679164 564190579 37081879 610613670 375673341 998120269 608724072 229821643 761888635 -1 217928587 518109595 97299507 532861718 329959527 901304975 942384956 60744503 81866966 683531283 422331486 321331882 982693874 548806448 271708247 645276436 138533159 771459106 175144765 291386915 685423362 319424815 37081879 836680980 490869221 909186692 519762398 681823792 345072009 260307180 828722364 849035201 690863334 633637325 67075526 619868736 391779414 112302971 57801759 957643716 284700142 647911422 669655791 38372578 614297261 519762398 675573324 745924515 970265761 247165890 637964511 56105859 868838278 722874144 208493418 522063456 762227828 668281990 307476694 263636646 167036027 543122079 47116225 428747955 916738849 334677549 33812208 668281990 902419092 977619929 634536293 901304975 731936598 29592557 427675535 901803305 724422672 53028773 867933639 864350394 117303447 206014003 469743398 704672739 63562141 818974853 37724537 618312173 349772488 590603969 335890204 992563691 861383306 206644601 387384744 344240078 407009263 890844482 337458711 755527023 75228974 284387166 378610966 985045640 73525554 526755095 377651896 386381016 532861718 413494386 286319692 676685933 764751417 88469907 849035201 413494386 -1 723200871 484471406 91064641 857269083 329542777 604148770 145847415 746419439 398981201 438872920 831985335 312308223 329959527 965067805 520086201 685423362 590138438 770680522 276260520 532861718 919585635 661932839 658212287 363579344 42277380 29287119 729352677 110012494 295958449 704672739 461649452 691504106 154693260 634536293 679275202 679275202 574924220 280856350 861383306 599555786 305936785 19140171 132774876 13841075 842871738 697374453 782594982 155376172 162425880 13384724 130580 330785266 297175900 751964866 480210823 807820896 494923774 758575350 822261941 229821643 670979891 271516194 38372578 500268473 750769230 785247749 942384956 987705926 459789430 420425052 731936598 602811046 47116225 769837665 500268473 755527023 26537314 110556435 251692591 979285058 967987535 -1 741339101 997299598 942045496 914662962 302277738 293155218 767047665 469384372 520086201 588150191 60081926 638011115 893860727 57801759 286319692 63210631 254756796 -1 572311287 818014838 422331486 560814638 593587398 142117376 769854437 208877360 790809628 111985669 791183444 770278321 34584857 800463769 308705211 36050763 626807589 791183444 741463146 169614935 198628726 160366715 981763217 413494386 626837013 491543933 254756796 670979891 800463769 566096351 422331486 363457997 935910737 700120477 448316745 426480224 724422672 912506727 174295016 909186692 211070558 740364356 655834254 789495739 363811064 47116225 623188968 159056677 357329820 520086201 846213413 723200871 29287119 822261941 203580162 18404492 693375965 532861718 702444538 88469907 986331373 683489839 750429264 72794624 150137560 790909002 325845006 437517579 942297502 512615132 438872920 861115508 92112290 63243152 146171038 863667577 60978603 344240078 334677549 428747955 94630229 950862675 907772025 750429264 288542157 791932302 819523467 78898063 730824918 -1 138790019 610895287 403334160 263798126 113804160 -1 707186544 613084013 270206207 433348815 36050763 632336991 831985335 454563819 335743200 368935143 352508141 72263116 301714930 36050763 167415720 335890204 553190572 847840320 286319692 595427792 220059095 857269083 215802236 368704535 472407762 880844104 622918995 980134651 453407680 457715535 470803824 980936845 491543933 411907778 288628682 214924123 541463939 679670176 836680980 777440440 107839247 690664050 526755095 164542502 981763217 26905429 961821360 3090244 495712606 541463939 398981201 989696303 627589268 338370105 632336991 41524303 490869221 47116225 760624728 942627653 117303447 229821643 408244002 484471406 307476694 957144144 852782081 456863895 668281990 203493552 668281990 381881872 122896725 682038125 355756362 39885396 489295045 560814638 130431610 340301060 14405655 561553313 491543933 352607876 421927353 417425319 206644601 448707988 635671105 761888635 543006155 346188490 507969865 317871021 454563819 533367205 4610166 762227828 112302971 192251969 337458711 726776295 682038125 167415720 46011383 386381016 386381016 647911422 619868736 79097209 659932705 854062217 690664050 389956215 420425052 645276436 998120269 92112290 470690645 336862767 344240078 91064641 325845006 977619929 245677831 433114786 175884183 26375227 109891495 28416726 295504204 339350524 373683372 427618367 729941138 574924220 645695407 86256730 122896725 465892383 357329820 115470851 902419092 850351456 352607876 603620710 79097209 424146759 726124644 681690682 -1 53590481 638293140 912506727 790809628 910794274 154693260 580918883 774937853 -1 624015614 757544011 981763217 507969865 332773543 682038125 656489207 59501988 43392732 317871021 935910737 785247749 762227828 46011383 321331882 480210823 935910737 683531283 564190579 538432928 668250239 669742991 634983639 830544982 464037621 907772025 448316745 804352169 137132982 138790019 434526689 675786233 939946968 669742991 337502849 704672739 891573253 198703751 612885490 533367205 697374453 198703751 38372578 32796250 865880334 91064641 92102199 807820896 461649452 730909832 458547544 149830598 753145692 494950691 979580407 206014003 17012234 86256730 276260520 392826688 122067182 659501910 514721585 610069705 854398124 592274818 29592557 861383306 574417829 571736161 766504018 997299598 495336832 319379178 651109313 730909832 626837013 81866966 295805912 462383923 984117471 663667470 580918883 660639438 77564723 53028773 92102199 991188064 951926549 691214891 37724537 130580 628984381 297175900 60744503 627561325 568090820 651109313 673965031 762227828 456863895 982554231 132774876 72263116 281083465 901803305 335743200 649175882 691214891 919585635 488751710 910794274 991188064 112302971 612885490 42277380 263798126 72621546 690863334 168494769 542661640 477076784 984895249 411907778 577758652 574417829 979285058 415965469 656206261 967987535 741339101 731936598 618312173 699856917 512615132 34030354 526755095 647427996 26537314 22576092 580470806 681690682 54164180 974521569 237773442 907772025 92112290 490869221 907456227 718229961 238442797 338370105 363811064 345392984 265395517 13384724 726776295 686865014 425469326 451474906 770847694 610895287 683489839 807820896 81866966 784597145 18404492 79323336 993786079 458547544 177905368 728492414 527985132 434526689 97299507 291386915 879954113 577758652 580470806 72263116 977619929 533367205 365035648 551345512 885077908 140113105 407009263 763856958 942627653 493264770 680666684 974448855 60081926 638076633 355126439 354949635 13384724 443342808 232018015 -1 406568384 399202754 427675535 914662962 741339101 518109595 317871021 232018015 860724917 250810872 641164921 389956215 97299507 59706771 452820542 541460419 72621546 527985132 67075526 197307546 228902962 590783394 628220249 208877360 691740164 458547544 541460419 766504018 527897224 951926549 263636646 73525554 428413005 239254051 873072247 683531283 201066749 199386661 244155041 867723620 757544011 748186132 768744535 838379139 818014838 704672739 503810504 676709331 757544011 627376276 54164180 748526814 608724072 946112218 481127177 591700510 814490763 726776295 908705907 600962339 660738659 433114786 914291169 542986495 378610966 451474906 325845006 171221433 500268473 660738659 750763843 325287502 71713295 296417374 46410909 459789430 451474906 223030820 823933296 280856350 36050763 438872920 857102413 468199498 879954113 523542917 635671105 228902962 481127177 29734308 535432483 542661640 568090820 425469326 307476694 288628682 232531633 782594982 206014003 748186132 175554418 491978273 472407762 306854073 633637325 49212342 375673341 -1 577714620 211362614 785376602 302277738 820211254 951926549 301714930 541460419 435984127 578238211 578238211 36050763 265395517 531136661 888304663 456401701 18299476 664490073 885164572 198703751 532861718 413843857 619868736 260946873 341012648 880938198 295805912 729941138 21873594 468107571 49208976 590783394 818974853 358362276 507142051 92160628 116545387 595427792 543006155 95779603 207023050 145847415 398981201 942297502 669125354 237773442 18794770 416756465 86256730 520011864 788878491 586985028 321331882 523542917 833220245 7545447 679275202 950235340 524542574 32796250 118534662 989696303 437863021 691504106 203580162 288628682 860724917 520011864 831985335 879954113 365407761 411999902 770680522 46945925 319379178 271708247 699856917 472407762 77564723 284859244 724422672 197307546 32466209 262575582 203580162 421927353 87162480 774937853 418807544 916321789 86361620 346188490 219896364 365679164 888304663 414918047 942627653 355756362 966503495 563732029 232531633 260307180 4610166 916738849 241693686 60744503 973579758 480210823 627561325 786969334 260307180 543006155 386381016 18299476 459789430 84062198 408497768 414918047 379213018 45426260 182429059 660040051 87162480 110556435 379213018 592274818 293155218 863278761 189854783 560455121 473150723 395983136 214924123 211070558 614297261 627589268 465892383 37724537 387384744 882812597 755527023 490869221 716182336 725418770 406483013 43897314 660639438 785247749 716182336 749101296 79323336 471865558 317871021 801326287 247165890 942627653 745215401 748526814 4610166 784597145 73453883 979580407 788878491 334677549 942297502 845459462 695553778 663307073 433439854 384604556 676709331 211333607 999674172 198016418 214317232 14405655 43897314 688597242 86256730 777440440 845459462 560814638 562288215 244883660 113804160 403334160 91064641 745924515 817693389 403334160 614297261 819963767 110012494 112302971 378610966 117303447 868838278 997432376 399202754 879954113 634983639 669655791 888304663 73453883 942384956 864350394 979580407 288542157 325287502 132774876 146197290 823933296 893652215 800463769 731745766 16475116 967987535 444874800 241693686 823787812 18404492 665446719 308705211 604148770 518109595 7545447 628984381 582319429 251692591 275610416 863667577 647911422 159647580 980936845 823933296 164542502 819523467 72643683 243341711 818829472 375673341 890844482 295504204 785247749 679275202 198628726 368935143 378610966 819963767 232018015 461274569 974521569 980134651 330583346 262575582 130580 4610166 707186544 335890204 604148770 211362614 697184458 811841566 18404492 820211254 114396999 845211351 575541534 13841075 12903603 688380735 660639438 28576479 965067805 149830598 223785502 401672699 37724537 790809628 145847415 63243152 329959527 379213018 119601349 295958449 243341711 638011115 641205608 406568384 938954818 612885490 318110611 660639438 49208976 246216644 659501910 561553313 418807544 472516679 456863895 484471406 745215401 335890204 977619929 494923774 428747955 937633254 203493552 407009263 332773543 284387166 818829472 28576479 110012494 628220249 638011115 645695407 424146759 586392635 960643177 755527023 365679164 454563819 95443860 306854073 391779414 812752908 385144989 198628726 806195787 987705926 541460419 72263116 867933639 970265761 760624728 275610416 718577411 734712823 770847694 901304975 471865558 464037621 726776295 532861718 647427996 850101344 686649778 864350394 988919874 191697350 721867658 122067182 281083465 807262913 786969334 567416830 454563819 91064641 977619929 578238211 334677549 645276436 161017478 3090244 53028773 577758652 748526814 593282222 297133830 238951985 16475116 832494905 867933639 387384744 438872920 984182750 842306692 503810504 574417829 26905429 465892383 527897224 623090438 633637325 281083465 612885490 620059513 208493418 860724917 764751417 679521131 508037594 622918995 408497768 86361620 697184458 228137178 79323336 471865558 734712823 374972287 301714930 321331882 503810504 159647580 984895249 117347524 307476694 414918047 690863334 433114786 644187365 167036027 668281990 214317232 596367148 569422962 288628682 465892383 791932302 228902962 555548888 19140171 751964866 745215401 624015614 444874800 372910848 296417374 749101296 858159813 211070558 828722364 705118513 358191652 833246783 57801759 138790019 890844482 367754743 3090244 86256730 519762398 635671105 293155218 308232133 32466209 656206261 416739210 378610966 590783394 306767836 850351456 551345512 107839247 95443860 384604556 213926602 254756796 244195221 43392732 641205608 641205608 559785274 663667470 59501988 447434673 848715178 828722364 508037594 533367205 982693874 580470806 448316745 284387166 577758652 572311287 766504018 891573253 522063456 457715535 306767836 579690895 885077908 308232133 448707988 284696682 523542917 305936785 590138438 2433982 428413005 7545447 665446719 265395517 22576092 748526814 160366715 626807589 473150723 891573253 975269268 37724537 970265761 622823007 175590565 565554630 26905429 985045640 216195055 950862675 457715535 548806448 745924515 159056677 495712606 244883660 790809628 790909002 593587398 859930182 943374902 -1 908705907 78898063 182429059 591700510 113804160 950862675 693375965 472407762 790809628 600962339 782619049 472407762 416739210 601762202 63210631 741463146 291386915 59706771 472516679 861208333 335890204 246216644 306767836 169614935 174295016 162425880 229515163 308705211 424697572 211070558 860724917 562288215 260946873 518109595 140395123 867933639 275610416 527985132 330318834 78898063 683531283 531136661 670979891 3090244 338370105 868838278 765137854 495336832 723200871 140113105 622823007 138790019 602811046 871898006 146197290 894991717 988919874 198016418 60978603 577758652 662235717 788878491 912506727 456863895 819523467 17012234 562309509 60978603 514721585 494923774 663667470 907456227 923159887 942384956 220059095 211550817 748526814 140395123 84208996 163983150 198016418 132774876 977467597 357329820 679670176 818014838 602915291 541463939 770278321 205644911 165753 229821643 784597145 942297502 119601349 942384956 19140171 60744503 334677549 163091630 418807544 464037621 337502849 784597145 280856350 508037594 685097645 658388576 164542502 761021239 306854073 992563691 935910737 561553313 670979891 807262913 910994573 850101344 667841561 493264770 514721585 499941413 535432483 254756796 656206261 45426260 155376172 904818318 438872920 84208996 424146759 344240078 731745766 984182750 567600315 806195787 428747955 32466209 456487084 329542777 368935143 13841075 79213361 88469907 281083465 988919874 726776295 842306692 910794274 465892383 165622114 600962339 189854783 399202754 181721636 199770581 807820896 469384372 379109457 206644601 729178187 685097645 464037621 914291169 398981201 203018461 319379178 469035792 296417374 708274346 59501988 55517047 254167164 624015614 379109457 893860727 645695407 997299598 760593154 730909832 150137560 437863021 822261941 171504845 387384744 602915291 138533159 165622114 55517047 1713096 206287347 974521569 81866966 774149146 741339101 977467597 420342620 833220245 188196698 223785502 561494895 591284702 731745766 130431610 656206261 387384744 666590606 786892734 18299476 88469907 491294665 307476694 922220234 524972471 325287502 569422962 586392635 327789615 567416830 980134651 741339101 907456227 774149146 427675535 79213361 543006155 219896364 206014003 461274569 938914563 649175882 112302971 596943234 305936785 281083465 206287347 140113105 208028672 514721585 569422962 494923774 711503207 110012494 228137178 593587398 163091630 901304975 119601349 37724537 769545495 318110611 763281688 411907778 254756796 29287119 171504845 997299598 673965031 46410909 938914563 239254051 243341711 667841561 271516194 41260287 438872920 432069691 239254051 746419439 726124644 673965031 914662962 67592009 864350394 117347524 588150191 295958449 644187365 219896364 538432928 935910737 206014003 940104206 472516679 413843857 81866966 424697572 774937853 960643177 647911422 760593154 113804160 560556517 859930182 700120477 626837013 345102555 198628726 263636646 950862675 774937853 155376172 811841566 814490763 29592557 645276436 974448855 914206506 939563959 560556517 991188064 857102413 998120269 910794274 950862675 850101344 864350394 766504018 695553778 568090820 765954927 276260520 679275202 520011864 580470806 254528769 495336832 333772685 655834254 679275202 988919874 175554418 532861718 647911422 532803555 591284702 873072247 307476694 77564723 306854073 66483968 7545447 475822349 84208996 70161655 563675995 999674172 618312173 903297209 520011864 290604263 456401701 939563959 43392732 695553778 830162158 730909832 893652215 56105859 431837446 491294665 946112218 644187365 238951985 207023050 34584857 566096351 112624754 822261941 627589268 763856958 491294665 901803305 660040051 937633254 155376172 175554418 469743398 284387166 703311448 904818318 950629972 567600315 807820896 786969334 432069691 940104206 66483968 939563959 49208976 368935143 54153332 425469326 832364259 280856350 250810872 739554266 363579344 582861386 490142300 571736161 110556435 420342620 448707988 194126353 386935154 109891495 452820542 523542917 254528769 533560917 700120477 363457997 203493552 854062217 341012648 270206207 26905429 689608865 345392984 365679164 868838278 336862767 385144989 562309509 476084224 199770581 575485118 67592009 619868736 113811391 644187365 34030354 346394348 740224085 603620710 280856350 191697350 355126439 942627653 721867658 413843857 758575350 232018015 679670176 379109457 95443860 14405655 433114786 979580407 206014003 562309509 859930182 346188490 541463939 284387166 668250239 368704535 307476694 327789615 627376276 595427792 346188490 127278512 596367148 70161655 115470851 491294665 801169129 784371166 965993467 731936598 804352169 174295016 243995015 368935143 880665324 914206506 555548888 638011115 910794274 623188968 150137560 241693686 67592009 60978603 659932705 713199217 960643177 639572212 112624754 541460419 701070480 561494895 651109313 968396048 610895287 660639438 503810504 365035648 67592009 26537314 56105859 627589268 812752908 107596959 791932302 47116225 626807589 893897082 348123399 992563691 182659876 818014838 688380735 591700510 849123482 336862767 523542917 524542574 578238211 973579758 7545447 249558965 60978603 638011115 893652215 22576092 984117471 155906400 29272319 72643683 56105859 406483013 346188490 634983639 641164921 868838278 909186692 32796250 358191652 443342808 569422962 791183444 206014003 683489839 217928587 542661640 592274818 882812597 795730704 334677549 836680980 452820542 13384724 644187365 203493552 87162480 891436447 416739210 572589546 965067805 602915291 346394348 243995015 849035201 861383306 520011864 748186132 774937853 748526814 916738849 649175882 957643716 53028773 79323336 270206207 910794274 71713295 574924220 711503207 34685076 203018461 -1 220059095 833220245 991188064 234968285 424697572 907772025 991188064 782619049 373683372 349032071 345102555 523542917 188196698 327789615 524972471 263636646 791183444 782594982 880844104 672907310 275610416 422331486 102379477 363579344 168494769 693375965 908705907 349772488 46410909 681690682 614593757 169614935 486307671 716182336 628984381 26905429 138533159 977467597 329542777 164542502 976942240 42277380 982581137 75228974 763856958 485683712 999101537 274831438 857269083 22393976 499941413 428747955 634983639 942627653 384604556 795730704 910794274 290604263 938954818 981763217 623090438 726776295 122896725 312308223 480210823 830162158 16475116 711503207 563732029 942297502 693375965 21873594 284700142 334677549 234968285 368764047 711501588 846213413 881489135 960643177 721120553 154693260 627561325 140113105 284696682 591284702 633637325 997299598 473150723 852782081 433348815 229821643 373683372 863278761 411999902 508037594 967987535 807820896 330583346 384604556 769837665 433114786 885077908 755527023 73525554 91064641 319424815 859930182 432069691 782619049 308232133 163091630 206287347 725418770 489295045 219896364 325845006 580283317 115470851 655834254 206014003 893860727 751964866 1713096 908463563 -1 122067182 817331802 610069705 623090438 644187365 842306692 965993467 937638157 377651896 284859244 79097209 238951985 237773442 86361620 711501588 406430184 543122079 612885490 644187365 400907045 681823792 749101296 769545495 982554231 36050763 726124644 985045640 107596959 791932302 774149146 863278761 993786079 63210631 527985132 688380735 555828167 327982936 426480224 785376602 731936598 700120477 718229961 812752908 508037594 641164921 67592009 198628726 553190572 71713295 596367148 164542502 459789430 801402068 563675995 910794274 70161655 940104206 981763217 658212287 982581137 777440440 660738659 867723620 329542777 693375965 920219729 238442797 745215401 433114786 679521131 13384724 122896725 421927353 169614935 368704535 275463593 2433982 119601349 984895249 229515163 603690869 782927012 249558965 593282222 750429264 666590606 451474906 115639466 453407680 930790502 622823007 386935154 319424815 923159887 559785274 495336832 249558965 701070480 912506727 494950691 638011115 284859244 610069705 795730704 967987535 86256730 912506727 368779111 234968285 72263116 847840320 537867109 594204193 704672739 626807589 624015614 444874800 908705907 764751417 966561320 389956215 543122079 745215401 704672739 312308223 63243152 175590565 45426260 961821360 848715178 639572212 318110611 741339101 981763217 859063396 387384744 771459106 635671105 713199217 858159813 34030354 985045640 734712823 168494769 234968285 71713295 850636024 249558965 165622114 685097645 447434673 -1 586392635 420773560 700120477 885077908 407009263 22576092 425469326 175554418 264549124 995194212 523542917 -1 984182750 150137560 416739210 612885490 355126439 709403855 645276436 756425389 940104206 656206261 -1 850636024 197307546 415965469 939946968 852782081 669742991 66483968 916321789 690863334 722672739 807820896 563675995 321331882 769545495 438872920 577714620 818829472 213926602 95779603 330785266 301334993 284696682 138533159 273365488 817331802 72263116 368779111 274831438 387384744 770278321 215802236 987705926 760624728 623090438 801326287 119601349 229821643 92112290 718229961 997299598 682038125 885077908 263798126 201066749 857269083 871898006 92160628 919585635 750769230 763183908 170824557 169614935 -1 527985132 760593154 580470806 138790019 337458711 864561721 914662962 464037621 408497768 729178187 555828167 828722364 740224085 45426260 239254051 162425880 566096351 638293140 748186132 670979891 470803824 77299524 668281990 198703751 663667470 742174392 593282222 344240078 203018461 883564101 318110611 667841561 992563691 112302971 562288215 32466209 535432483 63210631 -1 716182336 786075537 523542917 916321789 991188064 852782081 729178187 59501988 591284702 845459462 974448855 499941413 830162158 54153332 438872920 849123482 481127177 494923774 782594982 966561320 -1 171504845 623090438 660738659 893652215 102379477 819963767 961821360 387384744 593282222 470690645 860724917 580470806 84208996 117303447 790809628 688597242 60744503 130580 859930182 94630229 182429059 418807544 330583346 520086201 688597242 623090438 132774876 192251969 112624754 197307546 935910737 748526814 333260763 456487084 860724917 208493418 901803305 244155041 244155041 594204193 765954927 741463146 551345512 572589546 572589546 555828167 704672739 276260520 845459462 461274569 893652215 673965031 471865558 578238211 3090244 591700510 622823007 938446553 174295016 79097209 830544982 935910737 59501988 822261941 155376172 406717194 495336832 384604556 656206261 888304663 982554231 704672739 717390689 26537314 784597145 291386915 249558965 769837665 703311448 599555786 346188490 260946873 367754743 577714620 845211351 739554266 914206506 806195787 149052945 416756465 669742991 171504845 110012494 634536293 146197290 290604263 468107571 864561721 681690682 660639438 337502849 237773442 830162158 812752908 149052945 579690895 751316591 927530478 63210631 232531633 734712823 861208333 976942240 542986495 140113105 177905368 620059513 635671105 336688564 717390689 622823007 619868736 118534662 79323336 165622114 830994144 527897224 833246783 614297261 763183908 191697350 807820896 414918047 641164921 729352677 438872920 749101296 833246783 433756914 553190572 232018015 937633254 818014838 940104206 119601349 673965031 961821360 231771136 271708247 912506727 987705926 223785502 586985028 553190572 814490763 535432483 984182750 59501988 401672699 542986495 784371166 340301060 586985028 283107224 74820195 958339854 145847415 354949635 206014003 92160628 676685933 127278512 667300705 34030354 41524303 -1 599555786 211333607 49212342 26375227 346394348 123550994 330318834 830994144 731936598 572589546 456401701 679670176 79323336 686649778 111122929 112302971 984117471 321331882 491543933 626807589 55517047 758575350 363811064 163091630 245677831 165622114 175144765 626837013 237773442 211550817 335743200 96109344 470690645 454563819 378409769 368764047 579690895 670979891 577714620 937633254 79213361 804352169 284387166 433756914 891436447 686865014 938914563 938954818 579991057 295805912 306767836 295805912 609637013 658212287 34584857 560637528 175884183 175554418 290604263 302277738 567416830 923159887 807820896 149830598 94630229 686649778 56105859 970265761 938446553 454563819 96109344 332773543 123550994 234968285 626807589 726124644 763856958 730909832 146197290 100130908 387384744 420773560 19140171 395983136 60081926 762227828 820211254 620059513 708274346 967987535 290604263 679275202 859962837 766504018 788878491 693375965 503810504 426480224 717390689 427618367 577758652 63210631 421927353 102379477 973579758 683531283 142117376 372910848 647427996 669655791 265395517 368935143 92102199 730909832 868211619 251692591 807262913 664295306 604148770 465892383 572589546 41260287 163091630 729941138 84062198 186539666 788878491 45426260 982554231 489295045 608724072 937633254 861383306 560637528 591700510 745924515 286319692 325845006 984895249 275463593 49212342 859962837 66483968 468107571 182429059 864350394 680666684 551345512 713199217 763183908 690664050 993786079 938446553 537867109 852782081 244883660 865880334 551345512 560814638 910994573 549323513 171221433 740364356 395983136 107808575 664490073 593587398 758575350 819523467 301334993 641164921 975269268 857269083 284387166 739554266 181721636 447434673 975269268 198703751 748186132 57801759 729352677 542986495 57801759 989696303 198628726 562309509 229821643 580918883 111985669 422331486 970265761 284696682 216195055 163983150 495336832 413494386 182659876 203580162 666590606 850101344 458547544 63243152 817331802 764751417 834500260 41524303 -1 998120269 428142800 274831438 211333607 330785266 721867658 275463593 113804160 434526689 689897360 728357838 495241145 293155218 245677831 991067365 832364259 850101344 330785266 122896725 710730165 836680980 691214891 848715178 871898006 626837013 263798126 984182750 208493418 156929061 250810872 365679164 459789430 532803555 386935154 19140171 254167164 177905368 146197290 577758652 17012234 149830598 726124644 46410909 154693260 186539666 357329820 991188064 847840320 939946968 801169129 782619049 32466209 907456227 211070558 937633254 867723620 663946492 335743200 958339854 495712606 692204091 724422672 386381016 169614935 542661640 672907310 610069705 763281688 53590481 159056677 741463146 145847415 433756914 710730165 577758652 286319692 566034579 473150723 63562141 420773560 213926602 246216644 197115342 723200871 977619929 834500260 149052945 765954927 352508141 548806448 472516679 998120269 984182750 801326287 79323336 788878491 638076633 84208996 998120269 563675995 468107571 660738659 63210631 790809628 894991717 675573324 701070480 336862767 681823792 623090438 281598862 491543933 84208996 538432928 746419439 86256730 721867658 28576479 751316591 456401701 365035648 960643177 354949635 159647580 87162480 891436447 206287347 523542917 41260287 216195055 387518405 637964511 169614935 46410909 977619929 175590565 726124644 456487084 785247749 940104206 541463939 832364259 301714930 457715535 325287502 469035792 613084013 811841566 63562141 867933639 399202754 699856917 428747955 563823514 885164572 245677831 745924515 831985335 914291169 610069705 288542157 699856917 645695407 882812597 77564723 466852129 34030354 938446553 748186132 391779414 749101296 790909002 679670176 822261941 833246783 749101296 785376602 1713096 56105859 86361620 414918047 49212342 229515163 750769230 848715178 114396999 608724072 494751627 14405655 679670176 817331802 288542157 731936598 146197290 329542777 386935154 365035648 995194212 208877360 428747955 627589268 894991717 365035648 859930182 46011383 284700142 930790502 804352169 702444538 791932302 327982936 426480224 750763843 189854783 567600315 427618367 399202754 488751710 174295016 842871738 57801759 -1 561553313 786892734 765137854 890844482 818974853 115470851 622737539 770680522 281598862 980134651 602915291 181721636 368764047 567600315 755527023 337502849 785247749 822261941 339350524 814490763 675786233 970265761 770278321 666590606 624015614 365679164 532803555 577714620 55517047 639572212 958339854 288542157 575485118 325845006 749101296 352508141 54164180 426480224 424146759 305936785 518109595 628220249 658388576 319379178 782619049 271708247 -1 408244002 167415720 -1 645276436 493264770 562309509 923159887 3090244 102379477 569422962 164542502 22393976 942627653 984895249 998120269 471865558 635671105 432504521 705622548 60744503 239254051 849123482 891436447 81866966 602811046 418807544 645276436 206644601 667169560 710730165 729941138 730756715 461649452 660738659 29272319 367754743 770278321 763281688 560455121 464037621 435984127 979285058 146197290 393835525 760624728 580470806 427618367 -1 579991057 505655512 683531283 372510013 154693260 579690895 619868736 330785266 437863021 748186132 721120553 716182336 520086201 549323513 345392984 757544011 979580407 284696682 790809628 982581137 67592009 340301060 113804160 491978273 676709331 330785266 756425389 481127177 466852129 891573253 335743200 562288215 247165890 363579344 750429264 254756796 203580162 651109313 337502849 337502849 -1 199770581 175554418 697184458 392826688 130431610 140395123 664490073 613084013 60978603 451474906 897789362 731745766 503810504 424697572 119601349 391779414 468199498 250810872 4610166 722672739 731745766 197115342 461274569 291386915 560455121 337458711 861208333 728492414 411907778 762227828 406568384 717390689 340301060 220059095 914206506 512615132 734712823 656206261 73525554 901304975 771459106 973579758 401672699 389956215 424697572 669655791 740364356 814490763 879954113 239254051 468199498 711501588 284387166 756425389 246216644 702444538 346188490 95779603 566096351 590603969 67592009 531136661 312308223 209977170 138790019 296417374 939563959 644336340 707186544 345072009 622737539 634983639 114396999 814490763 330583346 418807544 740224085 555828167 345102555 960643177 703311448 330583346 999674172 903297209 118534662 868211619 986331373 572589546 979285058 114396999 216195055 992563691 893860727 729941138 569422962 624015614 373683372 649175882 980936845 830544982 399202754 59501988 523542917 490142300 784597145 770278321 341012648 244883660 275610416 731745766 562288215 610613670 281083465 77299524 73525554 95443860 317871021 927530478 868211619 660040051 580918883 239254051 628984381 767047665 686385319 987705926 468199498 194126353 880844104 170824557 770278321 91064641 491543933 387384744 198703751 723200871 237773442 391779414 22576092 609637013 408244002 302277738 194126353 864350394 29272319 503810504 203580162 593587398 368764047 220059095 718577411 358362276 666590606 543006155 830162158 491294665 997432376 28576479 306767836 381881872 668281990 214317232 168494769 930790502 327982936 446355059 514721585 367754743 537867109 372510013 819963767 527985132 341012648 723200871 349772488 372910848 323513395 138533159 192251969 368764047 486307671 47116225 612885490 72794624 -1 97299507 626837013 588150191 686385319 395983136 746419439 849035201 882812597 -1 374972287 407009263 168494769 708274346 433348815 880446976 939563959 908705907 888304663 638076633 691740164 580918883 531136661 965067805 159647580 290604263 830162158 679275202 26537314 41260287 379109457 476084224 246216644 564190579 979580407 541463939 19140171 321331882 663946492 489295045 901803305 199386661 663667470 232531633 237773442 620059513 122067182 647427996 984895249 721867658 275610416 873072247 100130908 763856958 997299598 229405480 92112290 399202754 123550994 265395517 461649452 938446553 883564101 379109457 791183444 406717194 435984127 680666684 638011115 249558965 975269268 186539666 75228974 580470806 42277380 296417374 790909002 641205608 831985335 284700142 638293140 976942240 112624754 111122929 -1 220059095 165622114 43392732 203018461 618312173 265395517 352607876 750156197 122067182 113811391 712694937 575485118 538432928 295958449 590603969 533560917 22393976 834500260 28576479 406717194 850351456 281083465 182659876 209977170 894267291 92112290 850636024 111985669 132774876 43897314 21873594 22576092 590783394 165753 298868262 679670176 406568384 411907778 569422962 974448855 400907045 428142800 818829472 3090244 271516194 761021239 154693260 308232133 937638157 243995015 832494905 740224085 441949925 18299476 590783394 991067365 63243152 852837035 56105859 29287119 819963767 295958449 32466209 54164180 169614935 203580162 142117376 94630229 308705211 495241145 385144989 238442797 94630229 174295016 471865558 297175900 244883660 966503495 970265761 217928587 655834254 746419439 333260763 880844104 494923774 43897314 53028773 627561325 288628682 818974853 828722364 582319429 842871738 86361620 710730165 894267291 541463939 842871738 57801759 859930182 59706771 761021239 306767836 710113373 165753 167415720 526755095 626807589 494923774 566034579 663667470 420425052 997299598 951926549 415965469 13841075 847840320 987705926 57801759 804352169 590603969 914206506 302277738 713199217 566034579 691214891 600962339 341012648 658212287 689608865 779829204 818829472 70161655 922220234 432069691 524972471 861383306 620059513 298868262 481127177 325845006 645695407 659932705 683489839 785376602 818829472 660738659 594204193 890844482 974521569 857269083 981763217 247165890 284696682 520086201 239254051 751316591 943374902 731745766 276260520 305936785 205644911 329959527 432504521 741339101 91064641 721867658 901803305 785247749 280856350 937633254 355126439 470690645 891573253 113804160 780117964 268947673 708274346 416739210 672907310 982693874 475822349 577758652 555828167 567416830 337458711 329574367 135519629 979285058 223030820 703311448 610895287 188196698 252012472 795730704 777440440 447434673 167415720 634536293 980936845 596367148 965993467 29287119 614593757 301714930 881489135 950235340 512615132 542661640 711503207 194126353 665446719 991188064 245677831 332773543 130580 42277380 499941413 614459776 679521131 768744535 448707988 188196698 524542574 897789362 647911422 590138438 264549124 520086201 591284702 970265761 67075526 863278761 831985335 244155041 469743398 999674172 231771136 818014838 686385319 833246783 411999902 417425319 939563959 559785274 91064641 208877360 330583346 626837013 757544011 -1 823787812 807262913 115470851 377651896 194126353 434526689 882812597 751316591 638293140 -1 122067182 480210823 596943234 724422672 689608865 638076633 827132364 336688564 745924515 318110611 537867109 560637528 228137178 554782737 336862767 819963767 997432376 641164921 987705926 26375227 238951985 171504845 523542917 354949635 59501988 456401701 78898063 334677549 254167164 882812597 38372578 231771136 830994144 771459106 198628726 789495739 818829472 760624728 79323336 349032071 908463563 297133830 154693260 580884227 561553313 610932880 681690682 707186544 852782081 664295306 403334160 893860727 614297261 965993467 471865558 659501910 997299598 223030820 271708247 676709331 919585635 72643683 358191652 503810504 508037594 676685933 336688564 867933639 217928587 355126439 861115508 186539666 198016418 459789430 790809628 155376172 974521569 940104206 901803305 271516194 84062198 564190579 461649452 676685933 422331486 910994573 859930182 22576092 595427792 349032071 943374902 867723620 710113373 78898063 577714620 115639466 868838278 92160628 321467204 332773543 391779414 675573324 960643177 365407761 620059513 832364259 711501588 879954113 177905368 562288215 29592557 951926549 345072009 41524303 217928587 238442797 165622114 745215401 36050763 254167164 577714620 293155218 604148770 72621546 208028672 321467204 138790019 807820896 306854073 574924220 976942240 78898063 486307671 779829204 194126353 982693874 591284702 938914563 77299524 495336832 984895249 472407762 940104206 711503207 970265761 730824918 894267291 756425389 -1 250810872 613084013 946112218 985045640 392826688 999101537 741463146 834500260 -1 461274569 748186132 662235717 888304663 88469907 580918883 432069691 169614935 182659876 723933984 758575350 634536293 995194212 448707988 970265761 209977170 368779111 785247749 319379178 750429264 271516194 508037594 785247749 7545447 270206207 368935143 273365488 670979891 352607876 107808575 910794274 161017478 169614935 750156197 577714620 760593154 523542917 263798126 306854073 914291169 174295016 165753 507969865 244883660 566096351 249558965 634983639 288628682 987705926 512615132 666590606 188196698 340301060 691740164 102379477 838379139 275610416 845459462 785376602 676709331 618312173 358362276 186539666 264549124 758575350 260307180 533560917 785866095 673965031 228902962 110556435 325845006 36050763 631700842 416739210 175554418 32466209 777440440 339350524 372510013 284859244 54153332 -1 561553313 92102199 997432376 590603969 680666684 891573253 130431610 930790502 433439854 988919874 228137178 880938198 885077908 296417374 832364259 609637013 750769230 29592557 711503207 579991057 37724537 667300705 465892383 407009263 38372578 686865014 618312173 28416726 799467751 644187365 982581137 400907045 211362614 280856350 132774876 115470851 239254051 199770581 250810872 330318834 454563819 447434673 823933296 114396999 150137560 668250239 421927353 664490073 491294665 317871021 194126353 60744503 524972471 836680980 92102199 508037594 155906400 981763217 723200871 670408229 398981201 622918995 97299507 923159887 527985132 298868262 211550817 865880334 716182336 248636995 979285058 395983136 734712823 531136661 77299524 957643716 -1 791932302 274831438 73453883 554782737 407009263 967987535 92102199 416756465 881489135 295958449 750429264 447434673 667169560 386381016 260946873 670408229 18299476 458547544 644187365 378409769 155906400 690664050 742174392 349032071 859962837 532803555 368779111 749101296 620059513 897789362 469035792 325845006 438872920 283107224 411907778 175590565 84062198 763281688 78898063 183843307 453407680 834500260 834500260 750429264 761021239 675786233 461649452 514721585 149052945 612885490 614593757 822261941 819963767 416756465 146171038 790809628 830544982 345072009 203018461 263636646 283107224 47116225 295805912 575541534 769837665 626807589 171504845 627589268 685097645 970265761 493264770 198703751 740364356 680666684 265395517 500268473 902419092 580283317 709403855 206014003 919585635 352607876 894991717 786892734 914291169 49212342 966561320 542986495 219896364 416739210 730756715 699856917 560814638 718229961 681690682 818829472 763281688 603690869 475822349 319424815 74820195 298868262 229821643 893652215 857102413 247165890 750156197 451474906 662235717 271708247 514721585 73525554 291386915 663667470 786892734 769854437 46410909 475822349 110012494 806195787 901304975 32466209 638076633 592274818 999101537 416756465 167415720 709403855 117347524 614297261 325287502 432069691 967987535 457715535 770680522 819963767 676709331 700120477 408244002 590138438 307476694 864350394 122896725 271516194 79097209 569422962 666590606 721867658 531136661 846213413 150137560 211070558 533367205 680666684 823787812 665446719 566096351 441949925 953838288 163983150 503810504 596943234 966503495 393835525 471865558 940104206 115470851 861208333 323513395 757544011 470803824 689608865 211550817 857102413 804352169 170824557 885077908 251692591 443342808 182429059 411907778 495336832 174295016 406568384 295504204 208493418 595427792 631700842 416756465 164542502 622823007 761021239 238951985 425469326 520011864 644336340 957144144 614459776 916321789 54153332 60978603 942627653 464037621 491294665 543122079 330785266 668281990 859063396 57801759 586985028 433114786 72621546 757544011 22576092 273365488 984117471 355126439 817693389 937633254 443342808 32796250 627561325 768744535 375673341 26375227 453407680 658388576 686385319 303139271 422331486 638011115 791183444 408497768 763183908 751964866 858159813 641205608 867723620 602915291 386381016 367754743 760624728 849035201 296417374 891436447 814490763 940104206 145847415 306854073 580884227 427675535 984182750 567600315 162425880 146171038 723200871 432504521 150137560 220059095 425469326 592274818 957144144 726124644 29592557 729352677 424146759 663946492 223785502 214317232 785376602 707186544 779829204 346394348 591700510 115639466 586985028 319379178 -1 531136661 681690682 333260763 122896725 973579758 569422962 352508141 763281688 245677831 568090820 731745766 997299598 582861386 894267291 622918995 756425389 786892734 746419439 779829204 548806448 620059513 352607876 358191652 368935143 102379477 375673341 909186692 170824557 582861386 355126439 119601349 681690682 729941138 973579758 97299507 102379477 574417829 198016418 525617132 122067182 403334160 491978273 579690895 63562141 336688564 833220245 514721585 217928587 711503207 991188064 461649452 612885490 749101296 937633254 742174392 770847694 686649778 63562141 708274346 262575582 880844104 770278321 912506727 818829472 765137854 21873594 160366715 296417374 586392635 885077908 435984127 505655512 722672739 260307180 974448855 177905368 688597242 175884183 327982936 848715178 670979891 626807589 411999902 730824918 367754743 614297261 43392732 168494769 769837665 820211254 879954113 586985028 373683372 86256730 87162480 580283317 979580407 602915291 910794274 818829472 634983639 767047665 594204193 764751417 365407761 434526689 39885396 580470806 637964511 28576479 57606083 494751627 992563691 850636024 725418770 697374453 566096351 114396999 610069705 742174392 661932839 997432376 910994573 229821643 982581137 357329820 596367148 920219729 861208333 538432928 577758652 834500260 891573253 296417374 623090438 387518405 746419439 770278321 19140171 769545495 137132982 456401701 167415720 600962339 216195055 729352677 880938198 424146759 857269083 428747955 470803824 726124644 879954113 252012472 72794624 213926602 541463939 260946873 907772025 446355059 770680522 782594982 57801759 413843857 645276436 815472010 46011383 1713096 669125354 41260287 820211254 623188968 114396999 431837446 194126353 186539666 730756715 786892734 372510013 982693874 215802236 908463563 659501910 349032071 722672739 338370105 327982936 70161655 428413005 741339101 431837446 469384372 214924123 795730704 216195055 57606083 807262913 32466209 970265761 659501910 43392732 672907310 591700510 750769230 281598862 974521569 938914563 87162480 950862675 566096351 427618367 29272319 608724072 60744503 973579758 559785274 549323513 12903603 697374453 262575582 655834254 882812597 84062198 590783394 305936785 138790019 786075537 784597145 378409769 672907310 155906400 688597242 542986495 91064641 107839247 767047665 660738659 859930182 519762398 43897314 644187365 437863021 531136661 444874800 22576092 750429264 999101537 993786079 117303447 849035201 387384744 938446553 591284702 437517579 41260287 203493552 63243152 237773442 357329820 87162480 770847694 767047665 937638157 21873594 541460419 60744503 524542574 274831438 786075537 993786079 867933639 579783784 986331373 28416726 46945925 327982936 169614935 655834254 685097645 260946873 849035201 335890204 411907778 334677549 171221433 408244002 207023050 113811391 465892383 18794770 295805912 741463146 -1 234968285 966561320 593587398 461649452 880938198 252012472 631700842 252012472 393835525 156929061 859063396 656489207 426480224 393835525 903297209 940104206 168494769 592274818 712694937 325287502 830544982 801169129 329574367 330583346 92160628 553190572 216195055 763856958 691504106 57606083 740364356 214317232 13841075 770847694 647290016 216195055 46410909 686385319 579783784 164542502 251692591 881489135 334677549 41260287 109891495 782619049 175554418 833220245 265395517 610069705 631700842 786892734 970265761 718577411 852782081 395983136 452820542 295805912 861383306 950629972 854062217 391779414 175884183 43392732 37724537 319424815 935910737 761021239 468199498 329574367 514721585 881489135 667841561 812752908 845211351 974448855 41524303 819963767 387384744 241693686 922171930 308232133 627376276 63243152 512615132 542661640 721120553 854398124 74820195 60978603 603620710 659932705 957144144 443342808 891436447 873072247 335743200 29272319 215802236 116545387 833220245 122896725 470803824 729178187 627561325 46485154 39885396 767047665 690664050 757544011 400907045 154693260 452820542 785247749 14405655 764751417 571736161 748526814 688380735 352607876 97299507 883564101 288542157 638293140 206644601 563823514 591700510 596943234 170824557 951926549 433439854 281598862 175884183 94630229 741339101 441949925 73525554 609637013 784371166 734712823 890844482 761888635 73525554 867723620 437517579 49208976 935910737 623188968 728492414 685097645 229515163 211070558 538432928 334677549 162425880 600962339 712694937 861115508 981763217 686385319 319379178 432069691 883564101 850101344 692204091 373771611 705118513 182429059 590138438 725418770 275610416 676685933 275463593 91064641 613084013 910994573 596367148 523542917 186539666 679670176 575485118 784371166 334677549 579783784 885077908 579783784 406430184 542661640 977467597 560637528 790809628 325287502 39885396 526755095 321467204 961821360 655834254 622737539 444874800 559785274 365679164 609637013 814490763 346394348 275610416 571736161 57551192 471865558 688380735 631700842 284387166 53590481 845211351 873072247 908705907 323513395 692204091 206644601 275463593 670979891 806195787 710730165 993786079 67592009 494923774 263798126 599555786 239254051 22393976 635671105 680666684 689897360 512615132 317871021 22393976 739554266 206014003 717390689 831985335 833220245 228902962 819963767 668281990 975269268 760593154 457715535 721867658 211333607 248636995 683531283 154693260 527985132 563675995 686385319 586985028 670979891 980936845 753145692 34030354 780117964 767047665 132774876 413494386 610895287 566096351 957144144 254167164 908705907 755527023 434526689 301714930 637964511 854062217 198016418 679670176 831985335 22576092 730756715 695553778 688597242 107808575 41260287 448707988 203580162 524972471 883564101 466034328 603620710 213926602 321467204 774149146 580918883 456863895 664295306 685097645 127278512 580884227 432069691 832494905 639572212 327789615 239254051 372510013 812140416 683531283 859930182 471865558 749101296 508037594 298868262 710730165 373771611 691214891 818829472 658212287 620059513 217928587 582861386 57801759 228902962 340301060 22393976 984895249 379109457 286319692 94630229 880844104 337458711 438872920 950862675 448316745 834500260 363579344 699856917 286319692 655834254 29592557 614297261 432069691 163983150 560455121 799467751 942297502 203580162 852782081 916321789 41524303 627589268 355126439 842871738 355756362 656489207 893860727 473150723 132774876 660040051 298868262 842871738 912506727 572589546 312308223 656206261 464037621 469035792 668250239 638011115 228137178 666590606 885077908 469035792 114396999 392826688 726776295 71713295 16475116 679670176 41524303 908463563 564190579 373683372 664295306 907456227 21873594 465892383 641205608 150137560 675573324 59501988 537867109 297133830 660040051 891436447 13384724 702444538 244195221 78898063 171504845 923159887 135519629 688380735 612885490 578238211 609637013 923159887 163091630 849123482 943374902 302277738 281083465 67592009 241693686 535432483 992563691 559785274 610932880 263636646 109891495 291386915 619868736 791183444 154693260 414918047 760624728 700120477 670979891 561494895 308232133 890844482 32466209 603620710 199386661 938446553 160366715 72794624 976942240 379213018 403334160 87162480 251692591 818014838 938954818 909186692 182659876 399202754 290604263 623188968 29592557 241693686 461274569 756425389 111985669 999674172 408497768 329959527 271516194 833246783 296417374 608724072 461649452 721120553 548806448 910994573 135519629 495241145 415965469 975269268 301334993 275463593 18404492 38372578 992563691 481127177 614593757 633637325 408497768 431837446 782619049 563675995 590783394 861115508 298868262 116545387 349772488 340301060 560814638 984182750 725418770 859962837 673965031 281083465 336688564 679521131 689608865 357329820 110556435 819523467 37724537 786892734 318110611 241693686 914662962 628984381 150137560 135519629 818974853 79213361 690863334 838379139 319424815 263636646 114396999 658212287 57551192 341012648 968396048 688380735 838379139 18299476 659932705 181721636 572589546 374972287 551345512 34030354 894267291 577714620 651109313 658388576 769837665 448707988 618312173 701070480 891573253 26375227 381881872 208877360 18794770 471865558 910794274 880446976 602811046 577714620 238442797 861115508 60081926 980134651 822261941 495712606 830994144 767047665 74820195 784597145 297175900 46485154 689897360 937633254 443342808 812752908 154693260 427675535 750156197 718577411 927530478 97299507 181721636 308705211 329542777 880446976 206014003 885077908 275463593 57551192 244195221 586985028 880665324 420773560 582319429 812140416 820211254 984182750 -1 298868262 527897224 579783784 456863895 13841075 563675995 577758652 970265761 860724917 705118513 800463769 647427996 767047665 150137560 417425319 206644601 149052945 11796756 672907310 413494386 620059513 760593154 770680522 567416830 709403855 79213361 555828167 713199217 317871021 1713096 939563959 984182750 161017478 882812597 838379139 472516679 471865558 710113373 614593757 580918883 78898063 231771136 406483013 63243152 303139271 538432928 610613670 669742991 548806448 666590606 942045496 769545495 238951985 448707988 836680980 182429059 699856917 751316591 950629972 725418770 697374453 799467751 415965469 337502849 186539666 495712606 32796250 154693260 54164180 786969334 239987054 208028672 254167164 522063456 721867658 336862767 830544982 861115508 168494769 306854073 92102199 137132982 861115508 993786079 113804160 997299598 683489839 182659876 764751417 254528769 428142800 618312173 801402068 47116225 782927012 334677549 560637528 107596959 354949635 325287502 92102199 454563819 86361620 454563819 999101537 938914563 220059095 717390689 495241145 63562141 669125354 852837035 883564101 217928587 456401701 42277380 861115508 543006155 683531283 426480224 368779111 228137178 132774876 812752908 296417374 610069705 77564723 791183444 857102413 451474906 660738659 693375965 700120477 263636646 763183908 321467204 863278761 29592557 686385319 -1 252012472 820211254 644187365 239254051 849123482 817331802 965993467 244195221 524972471 604148770 903297209 113811391 532861718 415965469 756425389 760593154 861383306 378409769 848715178 659932705 922220234 993786079 569422962 806195787 726124644 33812208 491294665 582861386 413843857 890844482 53028773 543122079 60978603 975269268 790809628 16475116 70161655 336688564 647290016 748186132 1713096 791932302 462383923 531136661 622918995 92112290 729178187 372910848 241693686 520086201 43897314 672907310 711501588 140395123 53590481 741463146 523542917 170824557 29592557 580918883 719457202 434526689 578238211 751964866 699856917 705622548 43897314 243995015 690863334 707186544 243341711 77299524 422331486 868211619 142117376 435984127 507142051 691740164 542661640 244195221 426480224 795730704 288628682 181721636 357329820 444874800 122067182 198628726 973579758 18794770 858159813 852782081 745215401 41260287 711501588 560637528 670979891 834500260 669125354 893897082 459789430 470803824 543006155 817693389 488751710 575485118 600962339 592274818 295958449 122067182 135519629 214317232 228137178 508037594 860724917 965993467 938914563 846213413 494923774 368764047 403334160 211362614 865880334 710730165 986331373 635671105 95779603 113811391 189854783 60081926 586392635 882812597 78898063 424697572 13841075 784597145 991188064 782594982 275463593 910794274 295805912 114396999 238442797 186539666 914291169 231771136 420342620 984182750 435984127 692204091 977467597 626837013 651109313 560556517 562309509 608724072 723200871 348123399 352508141 614593757 940104206 -1 63243152 73525554 514721585 885164572 723200871 675573324 623188968 393835525 832494905 211070558 137132982 867933639 689897360 335743200 295805912 486307671 665446719 244195221 456401701 660738659 239254051 54153332 665446719 692204091 719457202 760593154 845211351 335890204 532861718 566096351 635671105 149052945 207023050 842306692 167415720 422331486 54164180 638011115 710730165 850636024 175144765 188196698 406717194 533560917 992563691 378610966 59706771 760624728 975269268 53028773 814490763 73525554 254528769 107808575 469384372 718577411 406568384 337502849 29287119 950862675 818829472 425469326 223030820 762227828 708274346 11796756 524542574 639572212 857269083 661932839 580918883 424697572 199770581 84208996 939946968 690863334 119601349 966503495 879954113 268947673 623188968 784597145 414918047 229515163 982554231 885077908 468107571 774937853 197115342 305936785 927530478 26537314 848715178 156929061 318110611 207023050 767047665 728492414 873072247 647427996 130431610 123550994 852782081 336862767 667841561 882812597 852782081 613084013 666590606 726776295 699856917 542661640 533560917 345392984 618312173 437863021 868838278 500268473 603690869 602915291 79097209 63210631 957643716 765954927 159056677 400907045 987705926 194126353 817331802 675573324 668281990 95443860 368779111 22576092 968396048 575541534 686385319 623090438 769837665 490142300 303139271 893860727 791932302 214924123 36050763 685423362 828722364 358191652 337502849 495336832 329574367 980134651 164542502 464037621 819963767 553190572 961821360 560814638 595427792 244155041 305936785 761021239 489295045 618312173 95443860 183843307 208028672 679670176 600962339 522063456 -1 922220234 977619929 220059095 308705211 691214891 718229961 495241145 21873594 251692591 475822349 291386915 88469907 303139271 814490763 560455121 387384744 750156197 568090820 337458711 930790502 782594982 485683712 753145692 33812208 845459462 60978603 507142051 567600315 481127177 565554630 229405480 628984381 208877360 850636024 721120553 977619929 675573324 499941413 346188490 194126353 79213361 849123482 448707988 768744535 330785266 431837446 638293140 942384956 691504106 977619929 601762202 319379178 658212287 100130908 591700510 472407762 288542157 692204091 762227828 -1 868211619 244155041 338370105 284696682 220059095 298868262 817693389 208028672 554782737 882812597 247165890 807648187 765954927 273365488 937633254 505655512 665446719 599555786 943374902 854062217 695553778 223785502 763183908 307476694 883564101 223785502 28576479 318110611 403334160 163789960 325287502 433114786 764751417 146197290 175554418 679275202 565554630 113804160 984182750 130580 664295306 761021239 198703751 329959527 957643716 847840320 336862767 667841561 465892383 115639466 489295045 785866095 828722364 670979891 63210631 340301060 594204193 703311448 281083465 459789430 418807544 569422962 658212287 970265761 683531283 859063396 307476694 845211351 579991057 832364259 433439854 110556435 391779414 163789960 92112290 464037621 938446553 604148770 333260763 95779603 784371166 206644601 208877360 592274818 627589268 586392635 567416830 908705907 610895287 848715178 730756715 669125354 999674172 779829204 288628682 102379477 491543933 577758652 780117964 865880334 608724072 393835525 527985132 234968285 791932302 760624728 602915291 416756465 909186692 689608865 441949925 54153332 722672739 522063456 91064641 156929061 29592557 852837035 774937853 730756715 532803555 858159813 271516194 26537314 377651896 785866095 967987535 352508141 818829472 155906400 953838288 57801759 658388576 789495739 830994144 670979891 349032071 398981201 146197290 827132364 271708247 -1 614593757 543006155 406483013 138790019 989696303 154693260 432504521 295805912 718229961 254756796 980134651 647290016 859962837 819963767 368764047 211550817 367754743 340301060 273365488 469035792 457715535 239254051 130431610 391779414 427675535 500268473 619868736 667169560 368704535 555828167 95443860 87162480 159647580 319424815 610613670 312308223 406430184 999674172 541460419 211550817 234968285 368764047 199770581 831985335 363811064 88469907 317871021 206014003 815472010 238442797 527985132 574924220 686865014 472407762 663667470 321467204 3090244 49208976 29287119 168494769 563732029 444874800 541460419 995194212 723933984 198016418 590783394 893652215 491294665 718577411 60744503 480210823 348123399 433114786 306767836 12903603 679275202 499941413 912506727 916321789 852837035 113811391 211333607 722874144 849035201 527897224 750156197 245677831 386935154 319379178 940104206 457715535 336862767 761888635 232531633 208493418 741339101 871898006 985045640 800463769 471865558 563732029 16475116 950629972 680666684 336688564 907456227 81866966 740224085 691214891 661932839 533560917 998120269 407009263 21873594 291386915 711501588 766504018 927530478 957643716 43392732 471865558 372510013 228902962 901803305 72263116 433439854 525617132 908463563 562309509 336688564 41260287 41524303 408244002 765954927 718577411 451474906 336862767 79323336 252012472 290604263 489295045 211550817 28416726 572311287 418807544 308705211 47116225 563675995 560455121 77299524 308232133 885077908 943374902 833220245 491294665 297133830 527985132 138533159 448707988 638076633 247165890 308705211 692204091 207023050 525617132 937638157 807648187 59501988 159647580 770278321 957643716 790809628 832364259 55517047 39885396 551345512 725418770 914291169 489295045 580470806 523542917 961821360 411999902 427675535 399202754 850636024 296417374 785866095 828722364 238951985 543122079 849123482 428142800 601762202 729352677 555548888 271708247 494950691 729178187 784371166 164542502 308705211 786075537 670408229 114396999 973579758 192251969 574417829 137132982 782594982 579783784 569422962 475822349 239987054 767047665 641205608 489295045 428142800 49208976 627589268 763183908 910794274 763281688 638293140 761888635 836680980 676709331 683531283 -1 302277738 252012472 297175900 596367148 340301060 36050763 660738659 676709331 603690869 676709331 730756715 211070558 635671105 645695407 67592009 438872920 656489207 785376602 523542917 807262913 -1 415965469 345392984 72794624 507142051 494923774 206287347 229821643 592274818 72794624 413494386 330318834 273365488 916321789 908705907 13384724 344240078 392826688 473150723 119601349 565554630 997299598 512615132 822261941 327982936 764751417 56105859 739554266 461649452 638076633 596367148 231771136 232018015 730909832 751964866 428747955 348123399 942384956 181721636 750769230 697374453 234968285 426480224 183843307 335890204 563823514 112624754 610932880 42277380 786969334 223030820 710730165 46485154 33812208 167415720 989747990 560455121 319379178 74820195 769837665 77564723 988919874 662235717 263636646 988919874 695553778 386381016 614593757 63210631 830544982 92102199 406568384 842306692 817693389 43392732 602915291 663307073 319424815 406717194 984895249 122896725 785376602 57606083 53590481 63562141 161017478 541460419 77564723 199770581 42277380 505655512 142117376 728492414 37724537 622918995 507142051 491294665 336688564 538432928 72621546 850351456 319424815 563732029 815472010 812140416 432069691 334677549 163091630 608724072 421927353 724422672 649175882 974521569 211550817 861115508 769837665 632336991 984117471 818974853 580470806 228137178 72621546 37081879 668281990 456863895 984895249 156929061 485683712 586985028 850351456 244883660 723200871 398981201 980936845 416739210 63210631 472407762 817331802 670979891 784597145 368764047 490142300 338370105 298868262 264549124 327982936 761888635 852782081 850636024 762227828 647911422 130580 590783394 699856917 779829204 408244002 935910737 537867109 937633254 340301060 541463939 427618367 656206261 920219729 770278321 284700142 466852129 891436447 17012234 199386661 850101344 206287347 675573324 344240078 468107571 807648187 395983136 790809628 175884183 660639438 828722364 194126353 86256730 830994144 161017478 19140171 228137178 468199498 763856958 451474906 92112290 451474906 115470851 861115508 165622114 368779111 94630229 999674172 284700142 243995015 645276436 613084013 815472010 239987054 346394348 739554266 751964866 764751417 635671105 466852129 295958449 610932880 579690895 491543933 452820542 417425319 578238211 113811391 940104206 842871738 262575582 296417374 34685076 591284702 957144144 881489135 770278321 239254051 365035648 74820195 749101296 748526814 248636995 647911422 647290016 592274818 302277738 321331882 74820195 663667470 526755095 398981201 66483968 658388576 284696682 94630229 229821643 199770581 18404492 958339854 669125354 957144144 842871738 -1 697374453 984895249 858159813 444874800 308232133 19140171 830162158 845459462 760593154 631700842 182026506 683489839 711503207 711501588 728492414 779829204 41524303 801169129 228137178 907456227 660738659 541460419 127278512 881489135 894267291 192251969 381881872 49208976 560556517 753145692 845459462 488751710 579690895 579783784 205644911 415965469 182659876 470803824 950235340 721120553 982693874 935910737 645276436 580884227 525617132 462383923 167415720 789495739 115639466 791932302 271516194 523542917 92112290 724422672 208493418 491543933 575541534 857102413 244155041 163789960 452820542 348123399 208028672 53590481 34030354 308232133 122896725 946112218 725418770 763856958 59706771 130431610 922171930 295958449 770278321 593587398 209977170 447434673 183843307 263636646 634983639 60744503 784371166 571736161 60744503 248636995 367754743 417425319 175554418 34584857 81866966 263636646 891573253 171504845 301714930 12903603 765137854 137132982 26537314 700120477 237773442 188196698 914206506 596367148 635671105 603690869 29272319 206014003 271516194 728492414 910794274 283107224 438872920 859962837 281598862 216195055 707186544 849123482 339350524 938446553 863667577 701070480 262575582 880844104 288628682 461649452 107808575 215802236 84208996 169614935 208493418 406430184 208877360 519762398 329574367 34685076 344240078 247165890 977619929 206014003 764751417 850351456 283107224 730824918 433439854 239254051 760593154 966561320 980134651 217928587 957144144 867933639 142117376 644187365 252012472 392826688 681823792 325845006 641164921 293155218 641205608 36050763 32796250 770680522 656206261 942384956 832494905 88469907 56105859 580884227 537867109 664295306 981763217 -1 987705926 355756362 451474906 34584857 769545495 407009263 559785274 554782737 560814638 668250239 568090820 580884227 588150191 169614935 337502849 472516679 54164180 391779414 523542917 296417374 927530478 433756914 78898063 270206207 763281688 705622548 505655512 554782737 485683712 707186544 833246783 79323336 490869221 424146759 214317232 705622548 641164921 116545387 661932839 305936785 863667577 250810872 881489135 215802236 288542157 446355059 686865014 586392635 268947673 208493418 79097209 622823007 186539666 411907778 656206261 448707988 594204193 748186132 464037621 907456227 457715535 699856917 111122929 95443860 935910737 275610416 795730704 112624754 414918047 627376276 49212342 169614935 577758652 451474906 942045496 691504106 296417374 72263116 424146759 329542777 627589268 485683712 958339854 722874144 127278512 614459776 742174392 686385319 819963767 764751417 263636646 822261941 758575350 198628726 109891495 330785266 262575582 635671105 782594982 970265761 22393976 893860727 111985669 268947673 54164180 997299598 288542157 575541534 174295016 704672739 627376276 907772025 327789615 659932705 37081879 401672699 480210823 961821360 756425389 372510013 348123399 81866966 386381016 -1 628984381 761021239 198016418 87162480 248636995 387384744 452820542 940104206 610932880 295805912 321467204 491543933 595427792 638076633 443342808 437863021 525617132 206014003 890844482 667169560 822261941 161017478 554782737 868838278 243341711 950629972 691504106 499941413 852837035 638076633 922220234 330583346 770278321 229821643 329542777 175590565 340301060 723933984 982581137 401672699 355126439 850101344 -1 117303447 668281990 265395517 711503207 902419092 88469907 424697572 710730165 579991057 965993467 730756715 750429264 330318834 923159887 468107571 34584857 424146759 475822349 365679164 977467597 675786233 469035792 741463146 88469907 486307671 135519629 208028672 297133830 490869221 641205608 562309509 610895287 864561721 29734308 112302971 165622114 861208333 280856350 669742991 989747990 524972471 469743398 524972471 997432376 107839247 472516679 961821360 411907778 465892383 560455121 363457997 512615132 378610966 385144989 312308223 368704535 81866966 863667577 368764047 113804160 728357838 305936785 541460419 873072247 679275202 845459462 112624754 753145692 428413005 72794624 860724917 691504106 631700842 308232133 462383923 818974853 92102199 764751417 119601349 634536293 662235717 28576479 669125354 95443860 721120553 708274346 275610416 481127177 834500260 543122079 77564723 239987054 295805912 880665324 344240078 782619049 863667577 582861386 858159813 577758652 271708247 308705211 938954818 373683372 456863895 628220249 572589546 211333607 659932705 19140171 681823792 500268473 254167164 849123482 564190579 641205608 248636995 127278512 940104206 19140171 590603969 26905429 290604263 425469326 443342808 503810504 138790019 903297209 957643716 146171038 518109595 79323336 17012234 34685076 991067365 942045496 275610416 60978603 722874144 67592009 910994573 38372578 91064641 162425880 336688564 26905429 472407762 724422672 901803305 63243152 107839247 950862675 637964511 807820896 466852129 769854437 912506727 661932839 512615132 770278321 903297209 524542574 908463563 791183444 679670176 562309509 685423362 982693874 782619049 149830598 424697572 484471406 260946873 244155041 74820195 456401701 92112290 142117376 709403855 774149146 365407761 789404113 469384372 909186692 610069705 770278321 57551192 247165890 520011864 903297209 935910737 669655791 339350524 863667577 567600315 728357838 41524303 760624728 13384724 632336991 406483013 842871738 109891495 562288215 508037594 352508141 722874144 697184458 229405480 420425052 239254051 789495739 565554630 181721636 712694937 888304663 815472010 721867658 208493418 795730704 372910848 901803305 3090244 976942240 339350524 852837035 251692591 998120269 608724072 109891495 995194212 600962339 603620710 201066749 470803824 590138438 424146759 245677831 662235717 234968285 791932302 229515163 999674172 579783784 591700510 55517047 572311287 922171930 53028773 491543933 150137560 110012494 938914563 66483968 688380735 72643683 214317232 712694937 638076633 415965469 260946873 649175882 175590565 852782081 897789362 41260287 711503207 691504106 29287119 70161655 520086201 893860727 679670176 760593154 87162480 46945925 79213361 416756465 730824918 560556517 159056677 867723620 130431610 18794770 907772025 470690645 34030354 7545447 352607876 87162480 413494386 647290016 122067182 29734308 249558965 861383306 95779603 782927012 601762202 989696303 782619049 170824557 761021239 770278321 592274818 229405480 836680980 729178187 823787812 716182336 903297209 868211619 842871738 181721636 645276436 295504204 512615132 295958449 284859244 365035648 730756715 29592557 807820896 814490763 327789615 214924123 67592009 182659876 406483013 893652215 203493552 250810872 344240078 288628682 443342808 627561325 523542917 386935154 645276436 29734308 358362276 907772025 664490073 34030354 307476694 145847415 164542502 229821643 639572212 863278761 348123399 922220234 161017478 741339101 593282222 406568384 301714930 192251969 433114786 902419092 801402068 981763217 834500260 472407762 690664050 -1 560637528 704672739 590783394 758575350 814490763 894267291 163983150 610895287 112624754 155997760 321331882 681690682 999674172 661932839 43897314 628984381 756425389 604148770 542986495 769854437 456401701 939946968 600962339 109891495 785866095 823933296 861383306 280856350 726124644 957144144 675786233 618312173 967987535 766504018 17012234 422331486 710113373 524972471 468199498 432069691 378610966 72621546 36050763 610613670 427675535 620059513 610069705 165622114 789404113 503810504 859962837 647290016 731745766 26905429 697184458 137132982 761021239 620059513 593282222 348123399 72263116 830994144 731745766 59501988 -1 942384956 368779111 923159887 663667470 183843307 867933639 880665324 987705926 520011864 524542574 283107224 582319429 857102413 447434673 854398124 217928587 18404492 690863334 916738849 641164921 122896725 372510013 308705211 426480224 249558965 675573324 942384956 685097645 879954113 667169560 66483968 72621546 87162480 814490763 563732029 447434673 938446553 769545495 345072009 34685076 367754743 252012472 888304663 70161655 459789430 672907310 199386661 330318834 18299476 194126353 784371166 656489207 838379139 72263116 372510013 857102413 641164921 707186544 70161655 490869221 659501910 922171930 812752908 411907778 871898006 146197290 535432483 861115508 995194212 553190572 919585635 868838278 79097209 263636646 951926549 305936785 381881872 582319429 622918995 833220245 329542777 34030354 957144144 871898006 303139271 345072009 220059095 977619929 520086201 352508141 368764047 22576092 659932705 668250239 852837035 308705211 688597242 214317232 481127177 622823007 697184458 244195221 461274569 745924515 748186132 163789960 214924123 593282222 262575582 203580162 660639438 669742991 571736161 420773560 562309509 489295045 232018015 663667470 33812208 979285058 967987535 130580 433114786 -1 695553778 486307671 691740164 73453883 554782737 758575350 669655791 252012472 801169129 749101296 908705907 764751417 823787812 966561320 177905368 327789615 495336832 18794770 907772025 127278512 916738849 749101296 38372578 74820195 433114786 705118513 385144989 610069705 456401701 729941138 368935143 834500260 817331802 489295045 115470851 170824557 761021239 111985669 251692591 555548888 860724917 919585635 815472010 664295306 355756362 248636995 960643177 250810872 86361620 47116225 78898063 451474906 693375965 692204091 560556517 755527023 575541534 527897224 705622548 476084224 168494769 863278761 579783784 149830598 408244002 724422672 833220245 452820542 791932302 325845006 789404113 206644601 852837035 940104206 495336832 524542574 774149146 663667470 274831438 244195221 669742991 481127177 560455121 386381016 49212342 868838278 973579758 159056677 18299476 672907310 858159813 199386661 26537314 280856350 551345512 239254051 879954113 986331373 560814638 730824918 335890204 473150723 379109457 914291169 730824918 337458711 842871738 26905429 790909002 880665324 379213018 216195055 393835525 946112218 942045496 993786079 60744503 354949635 909186692 729178187 626807589 107808575 433439854 764751417 160366715 995194212 211550817 748526814 238951985 254756796 986331373 861383306 86256730 323513395 818974853 59501988 832364259 675786233 664295306 922171930 301714930 786892734 115470851 303139271 524542574 87162480 368704535 60978603 599555786 651109313 830544982 939563959 330583346 284859244 123550994 697374453 329542777 386935154 596367148 950629972 541460419 788878491 957643716 939563959 885077908 591700510 484471406 330583346 28576479 831985335 2433982 859063396 413494386 880446976 49212342 428142800 594204193 122896725 466852129 703311448 92102199 943374902 577714620 555548888 323513395 999101537 863667577 834500260 901803305 443342808 116545387 490142300 751316591 26905429 373771611 704672739 229515163 861208333 454563819 675786233 627561325 426480224 239254051 591284702 239987054 428142800 203018461 41524303 555828167 480210823 271516194 354949635 982581137 622918995 751316591 566096351 480210823 395983136 43897314 38372578 888304663 349032071 456401701 211362614 271708247 683489839 939563959 623188968 43897314 610069705 428413005 908463563 346394348 211362614 -1 753145692 420342620 329574367 848715178 559785274 822261941 264549124 250810872 651109313 634983639 801169129 325287502 475822349 92112290 533367205 782619049 466852129 728357838 208028672 819523467 663667470 567600315 770680522 663946492 146197290 663307073 156929061 614297261 569422962 159056677 562309509 946112218 567600315 349032071 761021239 503810504 863667577 12903603 685097645 724422672 903297209 365679164 149830598 577758652 705118513 908463563 244155041 244883660 578238211 481127177 729178187 107839247 507969865 801169129 897789362 171504845 288628682 578238211 171221433 59501988 818014838 592274818 613084013 21873594 490142300 29272319 372510013 575541534 822261941 54153332 28576479 979580407 295805912 880938198 146171038 239987054 21873594 18299476 491978273 644336340 586985028 112624754 386935154 417425319 29272319 431837446 117347524 867933639 791932302 861383306 473150723 86256730 602811046 485683712 211070558 22576092 730756715 718577411 110012494 507969865 690664050 346394348 914206506 43392732 72643683 723200871 399202754 965067805 764751417 146171038 321467204 368779111 252012472 365407761 975269268 628984381 574924220 685097645 755527023 167036027 970265761 882812597 626837013 526755095 785866095 387384744 29734308 448707988 472516679 676709331 466034328 858159813 306767836 705118513 863278761 443342808 406717194 628984381 42277380 691740164 755527023 276260520 645695407 614459776 37724537 812752908 365035648 281083465 254167164 943374902 832494905 604148770 894991717 244155041 912506727 691504106 74820195 79213361 908705907 620059513 102379477 46410909 94630229 922171930 414918047 667300705 946112218 211070558 363579344 614459776 579783784 319379178 726124644 305936785 34584857 433114786 830544982 113804160 730909832 871898006 686649778 788878491 660738659 438872920 957643716 673965031 198628726 903297209 29592557 901304975 198703751 765954927 728492414 731936598 308232133 -1 301334993 302277738 7545447 679275202 670979891 560637528 254167164 393835525 780117964 613084013 641205608 670979891 491543933 638076633 75228974 363457997 421927353 658212287 308705211 527985132 468199498 582319429 150137560 784371166 575541534 656206261 201066749 614459776 17012234 689608865 29734308 939946968 703311448 871898006 211550817 435984127 367754743 699856917 914206506 246216644 562309509 767047665 254167164 902419092 110012494 46945925 194126353 942384956 500268473 644187365 39885396 992563691 868838278 97299507 477076784 295958449 424146759 800463769 319379178 243995015 349772488 831985335 387518405 115639466 749101296 863667577 169614935 610069705 477076784 850101344 284387166 613084013 751316591 427675535 973579758 67075526 469743398 860724917 60978603 973579758 168494769 247165890 865880334 688380735 610069705 232531633 391779414 461649452 711503207 559785274 119601349 535432483 992563691 319424815 306767836 989696303 595427792 254167164 197307546 505655512 518109595 46945925 70161655 984182750 885077908 110556435 197307546 208028672 317871021 966503495 660040051 691214891 553190572 418807544 507969865 867933639 197115342 208877360 306854073 935910737 251692591 957643716 669125354 295958449 789404113 551345512 219896364 953838288 984182750 823933296 982581137 861383306 298868262 345102555 920219729 580918883 198016418 981763217 171504845 130431610 861208333 907772025 159647580 670408229 468199498 681823792 -1 252012472 216195055 782927012 755527023 211070558 252012472 769545495 838379139 491543933 761021239 618312173 662235717 746419439 60081926 119601349 946112218 838379139 555828167 175884183 580918883 138790019 795730704 372910848 777440440 16475116 28576479 582319429 391779414 34584857 13841075 181721636 868838278 346394348 263798126 880665324 275610416 541463939 701070480 208877360 188196698 249558965 863667577 79097209 761888635 494950691 84062198 995194212 340301060 489295045 392826688 96109344 399202754 579783784 203493552 614297261 832494905 592274818 378610966 560556517 770278321 672907310 286319692 -1 588150191 203493552 748186132 574417829 830994144 704672739 325845006 649175882 344240078 399202754 682038125 730824918 879954113 443342808 771459106 489295045 561494895 452820542 761888635 432504521 113811391 771459106 691504106 197307546 11796756 251692591 865880334 346394348 241693686 484471406 613084013 420773560 610069705 850351456 848715178 393835525 691740164 728357838 832494905 638293140 137132982 -1 213926602 702444538 18299476 4610166 639572212 490142300 739554266 977467597 916738849 919585635 37081879 647911422 344240078 3090244 72263116 863667577 602811046 286319692 337458711 566034579 112624754 217928587 799467751 644336340 927530478 234968285 281083465 724422672 762227828 208877360 770278321 610069705 60744503 647911422 658388576 198016418 991067365 469743398 857102413 480210823 600962339 211070558 979580407 307476694 60978603 565554630 689897360 686385319 822261941 580918883 11796756 265395517 493264770 741339101 197307546 807262913 728492414 275610416 301714930 254167164 469035792 860724917 284387166 115470851 833246783 903297209 731745766 368764047 995194212 336862767 780117964 623090438 338370105 663946492 170824557 863667577 865880334 49212342 112624754 663946492 122067182 717390689 600962339 477076784 951926549 512615132 441949925 403334160 471865558 635671105 352508141 413843857 638076633 984117471 458547544 500268473 4610166 211362614 273365488 298868262 424146759 228902962 424146759 95443860 447434673 232531633 453407680 330583346 801402068 327789615 503810504 707186544 786892734 569422962 494923774 254756796 686385319 686649778 675573324 812752908 458547544 758575350 355756362 590603969 165753 538432928 586392635 893860727 863667577 206287347 850101344 -1 700120477 750769230 413494386 229515163 186539666 111985669 88469907 909186692 165622114 84062198 817693389 229821643 885077908 722874144 290604263 207023050 880844104 385144989 755527023 327982936 857269083 982554231 203493552 991067365 613084013 979285058 647290016 441949925 958339854 391779414 271708247 901304975 458547544 137132982 232018015 741339101 -1 982693874 977619929 710730165 458547544 232531633 627589268 867933639 485683712 572589546 680666684 769854437 902419092 319424815 122067182 494923774 881489135 297133830 427618367 742174392 888304663 91064641 981763217 57801759 170824557 857102413 507142051 340301060 142117376 280856350 761888635 301714930 490869221 203018461 675573324 769837665 613084013 542986495 527897224 454563819 117303447 177905368 968396048 770278321 107839247 365407761 495241145 49208976 603690869 49212342 916738849 244195221 967987535 571736161 281083465 432504521 384604556 937633254 880844104 623090438 562288215 470803824 117303447 542661640 312308223 241693686 138790019 656489207 254756796 406717194 769837665 729178187 740364356 975269268 466034328 861383306 880665324 435984127 638076633 237773442 710730165 260307180 788878491 381881872 74820195 974521569 28416726 244883660 982693874 578238211 958339854 753145692 135519629 849035201 771459106 658388576 281598862 697184458 966561320 596367148 691740164 406568384 354949635 443342808 761888635 789404113 525617132 421927353 28416726 679670176 667300705 524542574 618312173 507969865 189854783 95443860 780117964 729352677 207023050 79323336 171504845 274831438 399202754 37724537 967987535 355756362 729941138 686649778 415965469 785866095 305936785 691214891 688597242 214317232 532861718 403334160 46485154 248636995 691504106 416756465 800463769 494923774 975269268 873072247 332773543 968396048 880665324 704672739 145847415 249558965 92112290 102379477 532803555 495336832 603690869 229515163 749101296 761021239 656489207 580918883 26905429 491978273 800463769 453407680 349032071 763183908 661932839 596943234 679275202 456401701 651109313 668281990 406483013 780117964 73453883 232018015 263636646 734712823 337502849 489295045 755527023 722672739 668250239 303139271 916738849 340301060 503810504 264549124 859962837 275463593 41524303 312308223 704672739 897789362 71713295 894991717 789495739 524542574 223030820 280856350 472516679 834500260 977467597 86256730 290604263 433348815 768744535 138533159 325845006 234968285 341012648 518109595 560556517 493264770 522063456 435984127 379213018 1713096 295958449 739554266 333772685 485683712 766504018 832364259 681823792 991067365 943374902 979285058 679521131 420773560 690664050 191697350 908705907 729352677 264549124 91064641 408244002 745215401 276260520 890844482 942297502 66483968 818014838 441949925 -1 560556517 43392732 46945925 989747990 330318834 923159887 914206506 817693389 541463939 612885490 437863021 543006155 354949635 569422962 709403855 -1 138790019 686385319 881489135 137132982 608724072 386381016 363457997 177905368 28416726 560814638 725418770 801326287 206287347 769837665 614593757 542661640 42277380 443342808 211550817 60744503 7545447 882812597 845211351 293155218 807262913 647911422 400907045 43897314 223785502 149052945 979580407 503810504 -1 284387166 39885396 391779414 668250239 920219729 88469907 239987054 979580407 79213361 386935154 779829204 593282222 854398124 894267291 560556517 452820542 880938198 882812597 538432928 113804160 979285058 965067805 950862675 667169560 67592009 750769230 593282222 358191652 567416830 398981201 765954927 950862675 938914563 718577411 268947673 563675995 45426260 330318834 95779603 395983136 785247749 686649778 637964511 500268473 786969334 406717194 688380735 381881872 770278321 54164180 26537314 59501988 560814638 251692591 191697350 223030820 734712823 79097209 189854783 146171038 722672739 858159813 244883660 337458711 761021239 663946492 977467597 667169560 302277738 893860727 117347524 586392635 49208976 358191652 476084224 579690895 317871021 871898006 194126353 850351456 854398124 982581137 55517047 672907310 329542777 893897082 942045496 321467204 880665324 638011115 623090438 997299598 443342808 543006155 647427996 656206261 368779111 957144144 942627653 750763843 288542157 992563691 997299598 249558965 145847415 424697572 43392732 580884227 977467597 456487084 469743398 307476694 914291169 49212342 337458711 953838288 335890204 422331486 561494895 13384724 974448855 215802236 897789362 675573324 992563691 942045496 206014003 790809628 169614935 520086201 183843307 830544982 519762398 782927012 761021239 626837013 890844482 614593757 72643683 938446553 140395123 389956215 263636646 260946873 365407761 603690869 391779414 885077908 348123399 340301060 655834254 914206506 672907310 12903603 541463939 935910737 229821643 485683712 415965469 785376602 344240078 571736161 758575350 381881872 284387166 74820195 724422672 888304663 182659876 968396048 891436447 591700510 34685076 645695407 685097645 273365488 389956215 291386915 580470806 387518405 683531283 53590481 319379178 119601349 55517047 819963767 416756465 850101344 167036027 828722364 251692591 634536293 784371166 319424815 109891495 381881872 766504018 109891495 53590481 312308223 660738659 181721636 777440440 608724072 39885396 679521131 332773543 686649778 473150723 164542502 850636024 591700510 893860727 852782081 199770581 189854783 13841075 845211351 661932839 868211619 665446719 254528769 319424815 785866095 432504521 891573253 395983136 846213413 330318834 159056677 713199217 859063396 649175882 155376172 997432376 441949925 47116225 702444538 688597242 -1 982581137 46011383 198016418 627561325 885164572 72263116 363457997 618312173 867723620 325287502 850351456 973579758 632336991 847840320 804352169 838379139 626807589 679670176 665446719 472516679 37081879 675786233 764751417 333772685 602811046 864561721 779829204 771459106 138790019 770847694 789404113 53590481 753145692 774149146 591284702 228137178 769545495 54153332 627376276 904818318 112302971 834500260 786892734 414918047 146197290 167036027 739554266 507142051 799467751 327982936 634536293 790909002 13384724 46485154 555828167 692204091 833220245 239987054 707186544 239254051 660639438 922171930 60978603 647911422 637964511 461274569 333260763 691504106 731745766 790909002 939563959 475822349 163091630 818829472 664490073 312308223 214924123 39885396 749101296 688597242 659932705 559785274 354949635 33812208 768744535 363811064 852782081 912506727 323513395 838379139 593282222 922220234 800463769 251692591 624015614 21873594 782619049 251692591 880844104 416756465 912506727 669125354 860724917 165622114 763281688 676685933 771459106 920219729 946112218 244883660 352607876 832494905 466034328 750769230 998120269 760624728 -1 486307671 676685933 427618367 979285058 827132364 755527023 669742991 675786233 138790019 -1 332773543 461274569 70161655 167036027 609637013 18299476 428413005 323513395 13841075 4610166 846213413 49208976 686649778 301334993 379109457 632336991 849123482 281598862 758575350 452820542 175554418 63210631 704672739 525617132 845211351 622918995 593282222 909186692 537867109 647290016 333260763 2433982 976942240 785866095 857102413 571736161 693375965 893652215 107808575 159056677 691214891 263636646 281083465 107596959 427675535 3090244 660639438 70161655 -1 885077908 845211351 930790502 348123399 689897360 861115508 340301060 238442797 66483968 379109457 22576092 420773560 811841566 270206207 417425319 28416726 465892383 385144989 537867109 960643177 49212342 26537314 408497768 194126353 987705926 632336991 59706771 138533159 571736161 37081879 664295306 301714930 865880334 448316745 213926602 658212287 986331373 352508141 75228974 503810504 819523467 763183908 263636646 922220234 507142051 400907045 849123482 363457997 885077908 319379178 112302971 29592557 79213361 107808575 330583346 435984127 -1 503810504 188196698 799467751 675573324 393835525 379109457 33812208 263636646 791183444 891573253 782927012 403334160 239987054 992563691 679275202 67075526 890844482 254528769 122067182 81866966 453407680 206014003 365679164 661932839 34685076 662235717 532803555 372910848 728492414 734712823 991067365 110556435 782594982 882812597 468199498 852837035 156929061 656489207 88469907 705118513 295805912 828722364 782619049 244195221 209977170 29287119 922220234 655834254 296417374 660639438 317871021 746419439 -1 312308223 801169129 41260287 491543933 579690895 207023050 379213018 428747955 339350524 323513395 753145692 41260287 325287502 664490073 346394348 268947673 264549124 638293140 938954818 357329820 130431610 644187365 57801759 154693260 325845006 726124644 812140416 740364356 993786079 669125354 819523467 43392732 683531283 670408229 335743200 305936785 245677831 171221433 466034328 254167164 575485118 780117964 852782081 435984127 453407680 578238211 345392984 688597242 854398124 724422672 135519629 183843307 330785266 344240078 433348815 659932705 702444538 689608865 59706771 634983639 695553778 55517047 711501588 705622548 641164921 541460419 91064641 785247749 244195221 910994573 72643683 693375965 186539666 834500260 381881872 850636024 914662962 893860727 319424815 563675995 215802236 785247749 676709331 939946968 849123482 666590606 77564723 950862675 670408229 722672739 352607876 849035201 998120269 319424815 102379477 16475116 669125354 612885490 699856917 627589268 191697350 753145692 271516194 207023050 784597145 543006155 682038125 748186132 982554231 112624754 408244002 705622548 656206261 914291169 433114786 413494386 879954113 494923774 822261941 731936598 94630229 604148770 908705907 456863895 596367148 117303447 477076784 555828167 838379139 836680980 997432376 859930182 379109457 302277738 676709331 910994573 281083465 138533159 122067182 722672739 493264770 782619049 14405655 986331373 937638157 560556517 527897224 708274346 614459776 922220234 991067365 19140171 761888635 211333607 469743398 864561721 751964866 519762398 191697350 669742991 777440440 298868262 53028773 462383923 49208976 117347524 672907310 327982936 681823792 213926602 29287119 183843307 17012234 979285058 850636024 231771136 580283317 293155218 92112290 894991717 84208996 433756914 568090820 632336991 981763217 535432483 628984381 939563959 700120477 45426260 579690895 283107224 368764047 456487084 177905368 731936598 95443860 730909832 894991717 541463939 819963767 428747955 596367148 893897082 67592009 72263116 950862675 807262913 57801759 627376276 535432483 916738849 275610416 538432928 880938198 908463563 355756362 155997760 914291169 145847415 755527023 577758652 980134651 481127177 183843307 524542574 867723620 532861718 979580407 880938198 471865558 403334160 612885490 563675995 633637325 532861718 138790019 146197290 567600315 12903603 943374902 174295016 769545495 660040051 365035648 785866095 77299524 34030354 758575350 3090244 215802236 592274818 893897082 988919874 293155218 880938198 63210631 49212342 288542157 865880334 333260763 661932839 721867658 59501988 71713295 373771611 836680980 590138438 634983639 428142800 845459462 590783394 275610416 100130908 38372578 290604263 968396048 950235340 894991717 940104206 786969334 465892383 43392732 386381016 833246783 807262913 451474906 592274818 345392984 647911422 456487084 800463769 734712823 780117964 939946968 149830598 664490073 86361620 760593154 661932839 686865014 491543933 420425052 852782081 562288215 670408229 535432483 560814638 275463593 239987054 520086201 203018461 789404113 609637013 667300705 750156197 691740164 938914563 746419439 49208976 914291169 354949635 563675995 845459462 466034328 365679164 745924515 638011115 443342808 834500260 293155218 828722364 53028773 138533159 880665324 705118513 368704535 748186132 118534662 428142800 997432376 832494905 168494769 168494769 403334160 140113105 389956215 318110611 183843307 785376602 939563959 599555786 591700510 79323336 234968285 538432928 938446553 490142300 11796756 92102199 14405655 723933984 491294665 622737539 668281990 182429059 291386915 355756362 418807544 109891495 288628682 308232133 609637013 590138438 618312173 627561325 213926602 602915291 428142800 301714930 777440440 658388576 968396048 832494905 244883660 564190579 182429059 661932839 580918883 659501910 228137178 538432928 785376602 319424815 845211351 842871738 74820195 92112290 930790502 456401701 942045496 930790502 999674172 679275202 533560917 119601349 385144989 602811046 378409769 420773560 914291169 920219729 626807589 472407762 888304663 982581137 302277738 782594982 295504204 723200871 150137560 332773543 726776295 70161655 75228974 937633254 317871021 63562141 695553778 697374453 490142300 649175882 149052945 146197290 341012648 284387166 894267291 801402068 79323336 755527023 893897082 46945925 854062217 885077908 372910848 94630229 951926549 495336832 669655791 608724072 769854437 78898063 590783394 681823792 827132364 574924220 490142300 155997760 863278761 72794624 601762202 522063456 415965469 21873594 163789960 75228974 117303447 718577411 957144144 283107224 275463593 645695407 45426260 312308223 441949925 578238211 670408229 666590606 847840320 679275202 446355059 818014838 508037594 137132982 297133830 622823007 476084224 4610166 719457202 268947673 697374453 406717194 29272319 938914563 495336832 341012648 138790019 308232133 274831438 203580162 957643716 229405480 610932880 861115508 49212342 203018461 670979891 579690895 373683372 363579344 42277380 988919874 232531633 538432928 461274569 84208996 14405655 675573324 427675535 622823007 340301060 3090244 387518405 691740164 92112290 79213361 428142800 997299598 175884183 762227828 535432483 692204091 490142300 17012234 163091630 437863021 245677831 427618367 72621546 507969865 800463769 769837665 468199498 107596959 991188064 475822349 613084013 117347524 4610166 379109457 434526689 865880334 -1 39885396 424146759 984182750 588150191 849123482 863667577 411907778 520086201 722874144 682038125 604148770 922220234 763183908 338370105 668281990 116545387 651109313 422331486 234968285 980134651 801169129 938914563 472516679 43392732 345102555 280856350 987705926 538432928 140395123 284387166 95443860 594204193 659932705 867723620 41524303 801326287 868838278 19140171 490869221 434526689 321331882 669125354 67592009 730756715 426480224 579690895 907456227 260946873 950862675 661932839 155376172 171504845 980134651 828722364 372910848 675786233 989747990 639572212 880446976 456863895 524542574 368935143 979580407 333772685 691214891 254528769 181721636 113804160 28576479 685097645 989696303 885077908 638076633 234968285 116545387 938914563 -1 623188968 29287119 673965031 117303447 75228974 491294665 426480224 708274346 239987054 486307671 298868262 281598862 363457997 667169560 770680522 622737539 97299507 814490763 368935143 456487084 726124644 950629972 574924220 849035201 574924220 203580162 223030820 241693686 688380735 979285058 951926549 357329820 520011864 799467751 818974853 443342808 317871021 854062217 403334160 786892734 53590481 298868262 494950691 319424815 453407680 705622548 686385319 36050763 206287347 831985335 914662962 220059095 146171038 675573324 873072247 88469907 490142300 725418770 115470851 38372578 407009263 217928587 691740164 667169560 11796756 760593154 274831438 832494905 169614935 118534662 188196698 801402068 951926549 784597145 572311287 686865014 135519629 199386661 960643177 171221433 968396048 644187365 577714620 416739210 181721636 7545447 389956215 417425319 462383923 514721585 96109344 881489135 997299598 41260287 111985669 325287502 609637013 541460419 849123482 660639438 582861386 3090244 424697572 560455121 634983639 756425389 626837013 938446553 613084013 115470851 582319429 703311448 438872920 26375227 275610416 368935143 838379139 494923774 37724537 18299476 599555786 697184458 408244002 274831438 488751710 619868736 845459462 -1 999674172 260307180 904818318 658388576 574924220 280856350 518109595 731936598 982581137 387518405 367754743 146197290 882812597 577758652 357329820 33812208 284696682 527897224 965993467 609637013 109891495 664490073 858159813 565554630 680666684 833220245 702444538 346188490 549323513 306767836 183843307 386935154 871898006 580283317 974521569 411999902 88469907 879954113 533367205 533367205 667841561 312308223 644336340 74820195 29592557 818974853 352508141 16475116 206014003 367754743 244883660 288628682 658388576 986331373 234968285 939563959 753145692 165622114 306767836 229405480 563732029 641164921 91064641 730909832 814490763 127278512 975269268 593282222 563732029 679670176 472516679 757544011 610895287 155906400 494751627 427618367 577758652 669125354 861208333 374972287 939946968 341012648 902419092 117347524 922220234 700120477 692204091 264549124 538432928 865880334 11796756 789404113 169614935 268947673 991188064 336688564 766504018 71713295 656206261 237773442 567416830 417425319 142117376 638076633 520011864 491543933 149830598 812140416 312308223 626807589 731936598 485683712 159056677 873072247 819523467 543006155 647911422 989747990 633637325 -1 950629972 175554418 102379477 432504521 779829204 519762398 207023050 37724537 251692591 329574367 411907778 53590481 146171038 700120477 7545447 232018015 244155041 43392732 417425319 574417829 209977170 942045496 602811046 774937853 725418770 613084013 243995015 395983136 346188490 39885396 632336991 244155041 766504018 216195055 288542157 764751417 610895287 553190572 355126439 208493418 859930182 113804160 614459776 174295016 367754743 942384956 72794624 448316745 468107571 982693874 723200871 672907310 867933639 769854437 861115508 468107571 717390689 910994573 95779603 337458711 29592557 965993467 174295016 42277380 217928587 72263116 790809628 795730704 811841566 965993467 679670176 117347524 575541534 42277380 252012472 208493418 416739210 107839247 688380735 987705926 206287347 490869221 943374902 968396048 649175882 174295016 297133830 346188490 750156197 758575350 191697350 818974853 512615132 465892383 475822349 914206506 888304663 386935154 623188968 946112218 298868262 47116225 198016418 943374902 790909002 46410909 532803555 644187365 765137854 293155218 533367205 871898006 695553778 332773543 672907310 458547544 982581137 817693389 302277738 345102555 480210823 820211254 462383923 799467751 710113373 284696682 368779111 527897224 363457997 368704535 863667577 154693260 72263116 472516679 774149146 262575582 466034328 859962837 989747990 669655791 572589546 339350524 709403855 411907778 276260520 96109344 859962837 329574367 535432483 399202754 729178187 63562141 456401701 700120477 28576479 946112218 306767836 850636024 174295016 170824557 206644601 721120553 676709331 712694937 472407762 708274346 74820195 681690682 461274569 675786233 920219729 28576479 469035792 601762202 70161655 566034579 26905429 927530478 154693260 149052945 804352169 987705926 318110611 491978273 891573253 280856350 345072009 818829472 14405655 354949635 845211351 21873594 263798126 599555786 627561325 264549124 167415720 491543933 634536293 73525554 716182336 542661640 79097209 96109344 782927012 319424815 4610166 112624754 484471406 296417374 638011115 620059513 216195055 113804160 859962837 549323513 818974853 627589268 885164572 731745766 203018461 731745766 337502849 154693260 883564101 379109457 537867109 297133830 673965031 295504204 709403855 428413005 967987535 211070558 38372578 494950691 566096351 566034579 273365488 939563959 819963767 420773560 586392635 77299524 560637528 452820542 276260520 690863334 563823514 712694937 704672739 634536293 731745766 481127177 830162158 723200871 110012494 329959527 443342808 774149146 378409769 288628682 966503495 413494386 400907045 406717194 452820542 481127177 817331802 271708247 730909832 942045496 685423362 768744535 422331486 784371166 861383306 503810504 387518405 468107571 199386661 923159887 618312173 985045640 692204091 -1 237773442 395983136 690863334 198016418 832364259 59706771 213926602 415965469 628220249 861383306 113811391 762227828 659932705 830162158 910994573 216195055 77299524 565554630 14405655 980134651 41524303 385144989 859930182 634983639 858159813 961821360 372510013 631700842 580283317 319424815 146171038 641205608 663307073 723200871 658212287 974448855 980134651 345102555 626807589 535432483 770680522 683531283 246216644 748526814 164542502 333772685 169614935 718229961 977619929 549323513 722874144 538432928 493264770 842871738 169614935 420425052 859063396 582319429 767047665 317871021 252012472 206014003 691740164 379109457 254528769 970265761 149052945 690664050 982554231 977619929 420773560 522063456 228902962 461274569 186539666 238951985 416739210 663946492 989747990 655834254 485683712 473150723 95443860 718577411 211333607 660639438 514721585 19140171 701070480 768744535 600962339 831985335 577714620 113804160 318110611 675786233 175144765 543006155 614459776 847840320 523542917 400907045 881489135 668281990 107596959 734712823 149052945 789404113 543122079 335743200 993786079 830994144 750769230 406430184 751316591 167036027 689897360 67592009 456401701 986331373 500268473 386381016 894991717 329542777 903297209 730909832 263798126 873072247 29287119 726776295 293155218 432504521 49212342 791183444 689897360 930790502 507969865 910794274 795730704 721867658 543122079 312308223 290604263 95443860 676709331 880665324 897789362 452820542 791183444 457715535 363811064 852837035 858159813 352508141 659501910 79097209 461649452 641164921 912506727 163983150 708274346 155376172 850101344 149052945 785866095 651109313 859063396 284387166 997299598 937633254 992563691 295504204 127278512 830994144 163091630 762227828 609637013 67075526 624015614 367754743 490142300 667841561 902419092 281083465 854062217 306854073 270206207 966503495 407009263 628984381 330583346 431837446 745924515 170824557 237773442 740364356 431837446 827132364 979580407 138790019 288628682 208493418 750156197 140395123 209977170 254756796 434526689 325845006 710730165 293155218 346394348 707186544 149052945 751316591 424146759 206287347 194126353 164542502 806195787 771459106 165622114 560814638 966561320 348123399 880938198 171504845 689897360 903297209 817693389 400907045 968396048 603620710 446355059 988919874 647911422 244883660 930790502 750769230 161017478 651109313 880665324 549323513 707186544 453407680 60744503 864561721 77299524 424697572 276260520 641205608 842306692 697374453 345392984 761021239 244155041 799467751 142117376 117303447 378409769 755527023 67075526 275463593 318110611 386935154 420425052 303139271 385144989 634983639 670408229 183843307 580283317 533367205 596367148 321331882 850351456 45426260 785247749 228902962 582319429 679521131 788878491 92160628 286319692 71713295 149052945 647290016 765137854 468199498 638011115 811841566 982581137 988919874 470690645 757544011 982693874 695553778 937633254 554782737 174295016 290604263 95443860 14405655 658212287 758575350 543006155 561494895 485683712 891573253 73525554 995194212 368935143 518109595 407009263 563823514 586985028 207023050 36050763 904818318 81866966 786075537 623188968 532861718 260307180 3090244 660639438 979580407 488751710 670408229 420425052 485683712 323513395 130431610 951926549 858159813 377651896 207023050 72263116 801169129 974521569 920219729 602915291 416756465 199770581 135519629 398981201 305936785 755527023 149052945 140395123 890844482 801169129 859962837 165622114 114396999 346394348 867723620 675786233 986331373 560637528 188196698 742174392 542661640 308705211 668281990 217928587 211333607 49208976 893860727 939563959 192251969 649175882 567600315 229405480 849035201 610895287 110556435 112302971 967987535 641164921 476084224 306767836 453407680 346394348 333772685 79323336 60081926 836680980 988919874 208493418 832494905 -1 46011383 920219729 337458711 43392732 729352677 477076784 295504204 329542777 333772685 150137560 641205608 237773442 14405655 883564101 942627653 604148770 526755095 883564101 335743200 418807544 53028773 17012234 417425319 263798126 194126353 339350524 140113105 940104206 831985335 818829472 197115342 710113373 100130908 852782081 984895249 748526814 638293140 669655791 244155041 580470806 768744535 14405655 92112290 645695407 335743200 814490763 859930182 464037621 688597242 183843307 63243152 57606083 965993467 748526814 66483968 725418770 208493418 198016418 163091630 647911422 -1 22393976 154693260 602811046 668250239 175144765 88469907 47116225 211070558 771459106 950862675 726124644 363457997 965993467 683489839 951926549 122067182 435984127 567600315 53590481 676685933 628984381 337502849 995194212 92102199 38372578 649175882 580884227 560455121 406483013 689897360 626837013 284859244 191697350 614297261 446355059 243995015 -1 850351456 321467204 111122929 620059513 580283317 685097645 -1 721867658 162425880 560814638 163789960 444874800 321467204 421927353 117347524 -1 713199217 750429264 572311287 523542917 610069705 595427792 216195055 580918883 903297209 864350394 579783784 67075526 452820542 623090438 922171930 750156197 789495739 38372578 937638157 146197290 391779414 88469907 159647580 782594982 175144765 701070480 553190572 572311287 119601349 950235340 182026506 254756796 368764047 693375965 912506727 766504018 284696682 -1 770680522 992563691 679521131 46485154 681690682 512615132 903297209 771459106 614593757 789404113 447434673 206644601 685423362 66483968 74820195 171504845 791183444 522063456 84208996 975269268 984182750 997299598 505655512 122896725 34584857 372510013 457715535 189854783 879954113 284387166 860724917 181721636 475822349 675786233 60744503 790809628 740364356 569422962 448316745 566034579 790809628 750769230 908705907 327982936 649175882 -1 563823514 469035792 472516679 830994144 363579344 203018461 690863334 246216644 614297261 182026506 770278321 623188968 633637325 406568384 647290016 198703751 319379178 286319692 633637325 991188064 330785266 135519629 680666684 72263116 660040051 181721636 425469326 637964511 54164180 386381016 705118513 107808575 171504845 427675535 569422962 491978273 367754743 664490073 395983136 163091630 197307546 664490073 554782737 -1 525617132 704672739 979580407 711501588 527985132 469384372 901803305 163789960 335890204 140113105 622823007 786892734 47116225 183843307 264549124 551345512 857269083 174295016 26905429 28576479 575541534 79323336 293155218 400907045 859962837 484471406 63562141 582861386 838379139 284700142 838379139 970265761 689897360 46945925 472407762 358362276 588150191 760624728 491294665 580283317 407009263 586392635 580283317 820211254 208493418 741339101 451474906 590603969 -1 468107571 763281688 692204091 987705926 177905368 561553313 18794770 620059513 849123482 938914563 252012472 982693874 527985132 29734308 942627653 384604556 337458711 198628726 469035792 358362276 312308223 284696682 77299524 13384724 596943234 551345512 39885396 420773560 845211351 59706771 53028773 551345512 894991717 54164180 679670176 667169560 537867109 660639438 270206207 4610166 560814638 41260287 72621546 367754743 680666684 217928587 957144144 59706771 620059513 857102413 199386661 532803555 57801759 788878491 194126353 565554630 582319429 100130908 223785502 122896725 592274818 679521131 997432376 788878491 524972471 946112218 582319429 214924123 626837013 771459106 84062198 73525554 435984127 645695407 491978273 850351456 416756465 165753 137132982 637964511 323513395 593282222 488751710 29272319 975269268 644187365 697374453 92112290 750156197 295504204 812140416 542661640 560814638 580918883 519762398 211333607 63210631 250810872 462383923 293155218 434526689 586985028 490142300 914662962 610613670 641205608 395983136 697374453 273365488 838379139 46011383 591700510 644336340 591700510 271708247 301714930 427618367 49208976 795730704 319379178 525617132 149830598 580470806 818829472 807820896 832364259 138790019 533560917 943374902 13384724 417425319 981763217 406483013 165622114 864350394 890844482 890844482 426480224 32466209 525617132 494751627 819523467 244195221 603690869 -1 171504845 974521569 672907310 548806448 265395517 451474906 333260763 130431610 795730704 26375227 880844104 -1 833246783 250810872 78898063 338370105 507969865 41524303 375673341 219896364 95443860 96109344 882812597 632336991 728492414 943374902 879954113 330583346 411907778 37081879 537867109 459789430 667841561 532861718 930790502 163789960 433348815 854062217 243995015 197307546 645695407 86361620 953838288 389956215 723933984 508037594 387384744 527897224 268947673 543122079 588150191 726776295 72643683 683489839 623188968 572589546 206287347 302277738 28416726 47116225 756425389 800463769 288542157 228137178 466852129 645695407 132774876 719457202 443342808 984895249 477076784 413494386 763856958 265395517 938954818 854062217 273365488 229515163 599555786 823787812 814490763 57606083 327982936 753145692 861208333 428747955 132774876 29592557 186539666 912506727 110012494 111122929 823787812 721867658 828722364 628984381 683531283 968396048 335743200 537867109 495336832 165753 477076784 262575582 663946492 854062217 563675995 494923774 692204091 113811391 658388576 580470806 59501988 939946968 468199498 717390689 555828167 770680522 804352169 420773560 57801759 92160628 812752908 284700142 668250239 329574367 46011383 979285058 767047665 523542917 426480224 938914563 223785502 456487084 527985132 284387166 555548888 168494769 663307073 327789615 669125354 703311448 335890204 171504845 167415720 537867109 418807544 243341711 182026506 214924123 453407680 890844482 950629972 117347524 365407761 207023050 26905429 987705926 228137178 912506727 469743398 43392732 140113105 465892383 67592009 358191652 29734308 203018461 150137560 288628682 751964866 673965031 417425319 784597145 541463939 47116225 689608865 623090438 801402068 333260763 232531633 770278321 431837446 750429264 784597145 660639438 908463563 586985028 275463593 194126353 199386661 308705211 719457202 548806448 271708247 319379178 473150723 740364356 919585635 275610416 785866095 -1 42277380 401672699 728492414 784597145 579783784 268947673 868838278 561553313 232018015 137132982 893897082 334677549 67592009 846213413 271708247 296417374 590603969 451474906 175144765 34685076 632336991 330583346 163789960 493264770 977467597 662235717 381881872 977619929 175884183 861115508 771459106 59501988 845211351 863667577 599555786 381881872 271708247 319424815 789495739 -1 795730704 327789615 -1 867933639 766504018 248636995 603690869 702444538 368935143 145847415 365679164 358191652 -1 198016418 852837035 767047665 814490763 72263116 660639438 823933296 117303447 205644911 -1 306767836 433439854 355126439 329574367 461649452 582319429 67592009 608724072 700120477 893652215 469743398 3090244 560556517 960643177 43897314 891573253 989696303 604148770 676709331 260946873 7545447 13841075 927530478 49208976 807648187 525617132 432069691 135519629 769837665 989747990 432504521 110556435 346188490 564190579 385144989 957144144 782927012 686649778 761888635 37081879 293155218 815472010 729178187 490869221 199770581 575485118 527897224 43897314 757544011 580918883 428747955 18794770 393835525 880844104 495712606 580884227 777440440 481127177 245677831 252012472 214317232 418807544 610895287 553190572 596943234 319424815 433348815 386935154 779829204 769545495 337458711 645276436 29272319 683489839 432069691 34584857 999674172 217928587 75228974 782927012 340301060 503810504 541463939 861115508 786892734 238442797 334677549 486307671 660639438 846213413 563675995 453407680 574417829 751316591 29592557 567600315 79323336 692204091 673965031 243995015 296417374 156929061 590138438 660738659 997432376 1713096 276260520 249558965 697374453 456487084 836680980 673965031 768744535 494923774 219896364 142117376 820211254 96109344 43392732 572311287 641164921 428413005 72263116 443342808 659501910 770847694 927530478 633637325 448707988 812140416 914291169 122067182 165753 167415720 95779603 673965031 751964866 981763217 156929061 493264770 491294665 903297209 688597242 231771136 960643177 164542502 271708247 198628726 785247749 387384744 116545387 985045640 833246783 995194212 -1 999674172 211333607 252012472 295958449 950862675 613084013 807648187 237773442 462383923 231771136 162425880 961821360 468107571 852782081 811841566 711503207 590783394 286319692 603620710 441949925 293155218 618312173 766504018 662235717 46011383 -1 146197290 457715535 249558965 297175900 614459776 638011115 132774876 411999902 666590606 828722364 555548888 243995015 734712823 551345512 663667470 161017478 849035201 -1 634536293 411907778 560814638 691504106 519762398 982554231 644336340 246216644 823787812 880938198 414918047 494950691 560556517 43897314 832364259 822261941 669742991 215802236 688597242 109891495 927530478 977467597 627376276 942627653 623188968 512615132 568090820 660738659 437863021 985045640 811841566 363457997 186539666 17012234 861208333 541463939 -1 254756796 271708247 358191652 675573324 375673341 -1 308232133 567600315 263798126 656489207 638011115 507142051 693375965 914291169 112302971 590138438 673965031 29287119 716182336 60744503 709403855 901803305 70161655 688380735 26905429 852782081 494950691 689608865 203018461 175144765 988919874 142117376 391779414 524542574 672907310 647427996 689897360 169614935 96109344 424697572 579690895 527985132 553190572 219896364 167415720 438872920 873072247 838379139 901304975 670408229 861383306 203493552 527985132 319379178 169614935 146171038 268947673 295805912 308232133 697184458 789404113 852837035 462383923 580283317 446355059 384604556 710113373 532803555 574417829 348123399 435984127 327982936 499941413 29592557 914206506 977619929 586985028 578238211 435984127 155376172 533560917 22576092 215802236 -1 765954927 38372578 392826688 183843307 42277380 107839247 701070480 750763843 693375965 801169129 424697572 764751417 223785502 686385319 859063396 662235717 138533159 78898063 569422962 49208976 830162158 118534662 659501910 938446553 610895287 7545447 472407762 122896725 421927353 63243152 577758652 358191652 622737539 306854073 352508141 16475116 634983639 894991717 871898006 782594982 664295306 710730165 986331373 97299507 522063456 823933296 295958449 554782737 484471406 433348815 938954818 801402068 448316745 638076633 215802236 389956215 681823792 500268473 927530478 209977170 284696682 330318834 163789960 525617132 28576479 281598862 916321789 555548888 943374902 86361620 560556517 729352677 281083465 518109595 537867109 175554418 726124644 681823792 22393976 357329820 330318834 238442797 295958449 681690682 284859244 -1 86256730 867933639 882812597 942627653 762227828 57801759 788878491 710730165 271708247 87162480 495336832 49212342 480210823 167036027 769854437 130580 579690895 295805912 564190579 774149146 894991717 448316745 391779414 358362276 975269268 930790502 763281688 790909002 804352169 993786079 663667470 476084224 975269268 26905429 785866095 599555786 59501988 433756914 580884227 348123399 848715178 749101296 286319692 182026506 619868736 219896364 769545495 723200871 864350394 111985669 850636024 979580407 628220249 284700142 760624728 437517579 711503207 916321789 651109313 901304975 117303447 751316591 271516194 525617132 593587398 801169129 686385319 864561721 620059513 55517047 203580162 670979891 217928587 676685933 861115508 965067805 452820542 246216644 115470851 283107224 822261941 -1 79097209 174295016 203493552 26375227 827132364 135519629 801169129 433114786 940104206 786969334 339350524 486307671 722672739 246216644 849035201 91064641 363811064 801402068 966561320 456487084 719457202 18794770 477076784 43897314 46011383 208028672 634536293 491543933 562288215 979285058 357329820 745215401 453407680 59706771 750763843 729178187 34685076 965993467 155906400 942045496 312308223 228137178 319379178 968396048 819963767 691504106 -1 500268473 567416830 167415720 181721636 111122929 385144989 950629972 378610966 505655512 486307671 999101537 907772025 107596959 966561320 705622548 239987054 710730165 420425052 384604556 690664050 729352677 535432483 820211254 246216644 679670176 317871021 46011383 29287119 623188968 644187365 845459462 817331802 750763843 572589546 603690869 622737539 165753 182659876 769854437 950235340 72643683 220059095 708274346 689608865 28576479 815472010 830994144 645276436 854398124 842306692 833220245 590603969 37081879 857269083 637964511 859930182 372910848 555548888 914662962 980936845 260307180 71713295 603620710 34030354 208493418 708274346 486307671 433756914 198016418 337502849 599555786 161017478 708274346 891573253 395983136 338370105 53590481 614459776 979285058 591284702 28416726 977467597 852837035 228902962 765954927 459789430 777440440 880446976 363579344 319424815 807648187 433756914 488751710 491294665 435984127 850351456 368764047 365679164 43897314 288542157 345102555 96109344 908463563 690664050 852782081 590603969 243341711 411999902 811841566 26537314 610069705 801402068 634983639 676685933 29272319 249558965 991188064 110012494 774149146 712694937 41524303 167415720 885164572 904818318 140395123 47116225 644336340 92160628 649175882 680666684 12903603 750769230 177905368 254528769 938914563 115470851 769545495 208493418 111122929 774149146 782619049 392826688 234968285 56105859 832494905 443342808 254756796 685423362 321331882 639572212 997432376 533560917 408244002 610069705 228137178 461274569 864350394 97299507 130431610 676709331 863278761 845211351 28576479 689897360 92102199 37081879 38372578 377651896 559785274 138533159 329542777 217928587 325287502 477076784 814490763 897789362 469384372 690863334 645276436 182659876 863278761 57606083 244883660 818014838 795730704 881489135 234968285 408244002 459789430 885077908 819963767 577714620 355126439 206287347 695553778 750769230 833220245 920219729 649175882 389956215 260307180 927530478 801326287 110012494 354949635 842306692 730824918 333260763 110012494 53028773 595427792 779829204 403334160 563732029 55517047 938446553 41260287 693375965 494751627 846213413 115639466 865880334 609637013 387384744 416756465 716182336 363579344 527897224 453407680 656489207 264549124 660639438 562309509 418807544 664295306 832494905 470690645 565554630 686865014 561553313 904818318 13384724 992563691 453407680 507142051 319424815 86256730 298868262 751964866 721867658 939946968 659501910 494751627 769545495 238951985 667300705 785866095 155376172 861383306 981763217 807262913 75228974 579690895 507969865 614593757 908463563 132774876 41260287 602915291 786892734 579991057 11796756 586985028 531136661 623188968 679670176 211362614 622737539 780117964 635671105 386935154 812752908 562309509 22393976 162425880 562288215 910794274 533560917 349032071 823787812 338370105 354949635 55517047 238442797 763183908 916738849 330785266 260307180 154693260 7545447 177905368 499941413 75228974 893897082 -1 252012472 199770581 26375227 270206207 365407761 42277380 241693686 676709331 910794274 859063396 596367148 346188490 815472010 795730704 647290016 763281688 198703751 171221433 335890204 378610966 -1 863278761 401672699 208493418 297133830 456487084 823933296 140113105 591284702 368779111 596367148 730824918 562309509 198628726 553190572 96109344 461649452 135519629 160366715 358362276 262575582 428747955 252012472 493264770 446355059 631700842 785247749 75228974 323513395 814490763 297175900 563823514 333260763 942045496 368935143 372910848 609637013 446355059 777440440 308232133 355126439 345072009 407009263 78898063 245677831 860724917 325287502 914206506 159056677 691504106 92160628 169614935 745924515 87162480 764751417 60081926 165753 729178187 274831438 94630229 614593757 614593757 368779111 472407762 741339101 668281990 219896364 943374902 11796756 707186544 951926549 586985028 756425389 669655791 468199498 916738849 770847694 569422962 489295045 367754743 49212342 408497768 -1 75228974 207023050 239254051 757544011 301334993 428747955 424697572 850351456 748526814 942045496 634536293 626837013 113804160 159056677 494923774 228137178 562288215 330318834 711501588 491294665 614459776 763281688 95443860 263636646 594204193 416739210 -1 114396999 34030354 533560917 345102555 249558965 118534662 942384956 676685933 329542777 542986495 34030354 804352169 60744503 182026506 859962837 164542502 566034579 885077908 102379477 784597145 209977170 566034579 461649452 635671105 982554231 823787812 206014003 232018015 675573324 155997760 823787812 407009263 958339854 327982936 163091630 248636995 372910848 533560917 658388576 871898006 -1 470803824 565554630 365679164 97299507 480210823 416739210 477076784 755527023 729352677 345392984 37724537 323513395 675786233 800463769 438872920 966561320 484471406 661932839 271516194 751316591 644187365 466852129 804352169 769545495 391779414 209977170 667841561 852837035 831985335 265395517 293155218 833220245 11796756 660639438 722672739 689608865 800463769 880844104 560637528 667841561 468107571 72263116 801326287 198016418 246216644 352508141 457715535 848715178 679275202 238951985 41260287 832364259 373683372 880938198 532861718 549323513 902419092 974521569 243995015 992563691 411907778 746419439 336688564 32796250 368935143 832364259 602811046 45426260 966561320 198016418 408244002 469035792 907772025 122067182 786969334 679275202 579991057 422331486 749101296 159647580 590603969 60744503 374972287 533560917 596367148 562309509 427618367 786892734 274831438 199386661 56105859 721120553 293155218 680666684 29272319 893652215 177905368 456863895 562309509 182429059 336688564 729352677 67075526 669125354 627561325 946112218 11796756 806195787 416756465 67592009 520011864 710730165 254756796 3090244 262575582 373771611 938954818 551345512 217928587 644187365 842871738 578238211 943374902 601762202 92112290 699856917 885164572 719457202 995194212 340301060 691740164 604148770 966561320 268947673 845211351 175144765 904818318 938914563 408497768 431837446 852837035 21873594 79213361 386935154 580884227 599555786 938914563 613084013 118534662 491543933 284700142 697374453 807262913 984182750 197307546 822261941 842306692 365035648 717390689 993786079 163789960 484471406 407009263 418807544 199770581 785247749 807648187 953838288 354949635 368704535 302277738 334677549 295805912 73525554 123550994 699856917 666590606 127278512 327982936 745924515 203018461 690863334 472516679 664490073 982693874 745924515 831985335 543006155 469035792 113804160 524972471 415965469 848715178 28576479 420773560 854062217 244155041 413494386 731936598 950862675 119601349 786969334 801402068 739554266 17012234 206287347 41524303 740224085 831985335 923159887 713199217 358362276 71713295 601762202 566096351 670408229 155376172 593282222 386381016 765137854 341012648 859063396 685423362 686649778 832494905 291386915 659932705 448707988 908705907 107808575 140395123 433114786 660639438 675573324 53590481 610932880 250810872 302277738 385144989 213926602 319379178 785866095 358191652 113811391 812140416 325287502 982581137 659501910 999674172 243341711 490869221 644336340 663667470 72263116 937633254 508037594 427675535 686649778 575541534 910994573 456863895 818974853 368764047 638076633 43392732 454563819 770847694 208028672 938914563 336688564 750769230 786892734 566034579 416756465 406430184 942297502 377651896 639572212 749101296 441949925 197115342 470803824 525617132 730909832 865880334 602915291 763856958 252012472 842306692 741339101 845211351 788878491 815472010 664295306 297133830 980134651 997299598 116545387 549323513 88469907 912506727 45426260 659501910 155997760 997432376 562309509 966561320 199386661 461649452 688597242 123550994 635671105 189854783 603690869 183843307 770680522 644336340 321331882 208493418 249558965 627561325 681690682 586985028 666590606 692204091 817331802 2433982 755527023 406430184 575485118 622918995 865880334 914291169 321331882 295805912 765954927 718229961 391779414 757544011 760624728 644336340 273365488 46485154 984117471 999674172 885077908 562309509 710113373 622823007 970265761 32796250 823787812 493264770 100130908 907772025 665446719 637964511 893860727 349772488 784371166 214317232 705118513 705118513 330583346 679521131 229515163 857269083 420773560 981763217 462383923 352607876 368704535 -1 154693260 991188064 471865558 284700142 991188064 29272319 381881872 368779111 340301060 443342808 418807544 349032071 117303447 77299524 562309509 774937853 373683372 807820896 859930182 991188064 531136661 980936845 238442797 345102555 110556435 424697572 142117376 424146759 168494769 718229961 67592009 381881872 663667470 819963767 491978273 332773543 465892383 566034579 676709331 3090244 194126353 486307671 740364356 508037594 623188968 628220249 901803305 355756362 542986495 491294665 916321789 377651896 246216644 113811391 232531633 593587398 765954927 801326287 110012494 18299476 86256730 321331882 407009263 338370105 572311287 592274818 403334160 818014838 980134651 661932839 63562141 662235717 29734308 828722364 466034328 59501988 420773560 138533159 281083465 18299476 422331486 464037621 -1 649175882 635671105 779829204 984182750 935910737 290604263 111122929 543006155 308705211 495336832 208877360 229821643 490142300 491543933 751964866 163091630 723933984 70161655 493264770 531136661 804352169 59706771 244883660 774937853 116545387 514721585 880665324 379213018 490142300 63210631 830994144 868211619 857269083 297175900 317871021 740364356 764751417 392826688 660738659 574924220 91064641 163983150 34030354 159056677 330583346 705118513 46011383 175144765 295958449 345392984 417425319 336862767 433114786 568090820 982554231 683531283 609637013 938954818 12903603 329542777 777440440 711503207 580884227 979580407 156929061 165622114 980936845 669125354 297133830 12903603 741463146 499941413 731936598 997432376 989747990 95779603 655834254 559785274 712694937 627589268 155997760 951926549 468107571 111985669 95779603 908463563 512615132 395983136 246216644 782619049 37724537 43392732 541463939 312308223 852782081 137132982 663667470 421927353 868211619 561494895 466852129 175554418 112302971 7545447 97299507 705622548 719457202 852837035 765954927 762227828 67592009 433114786 198016418 562309509 244883660 679521131 577758652 857102413 305936785 828722364 663946492 789495739 579991057 268947673 462383923 471865558 984182750 418807544 850636024 138533159 984182750 46011383 57551192 491294665 682038125 819523467 882812597 992563691 620059513 833246783 232531633 970265761 208028672 757544011 627561325 373771611 372910848 163091630 223785502 420342620 867933639 891436447 942627653 203580162 100130908 623188968 881489135 505655512 627376276 709403855 823787812 330583346 433756914 271708247 29734308 297175900 464037621 595427792 686865014 297175900 942627653 119601349 718229961 722672739 927530478 980936845 638076633 408497768 379213018 169614935 357329820 973579758 682038125 288628682 12903603 760593154 614459776 491294665 703311448 666590606 782594982 731745766 779829204 72263116 335743200 631700842 707186544 301334993 16475116 238442797 29734308 722672739 398981201 295504204 352607876 114396999 758575350 127278512 689897360 22393976 984895249 414918047 296417374 77564723 -1 426480224 770847694 691740164 707186544 902419092 367754743 41524303 4610166 965067805 586985028 618312173 939563959 59501988 722672739 433114786 627376276 155906400 572589546 372910848 91064641 167036027 448316745 730824918 667841561 975269268 965067805 603690869 306767836 771459106 308232133 140395123 456863895 298868262 760624728 461649452 107839247 748526814 549323513 418807544 201066749 612885490 850101344 675573324 163983150 57606083 349032071 790809628 319379178 112624754 60081926 865880334 801326287 726776295 903297209 686649778 655834254 206014003 710113373 982554231 901304975 685423362 907456227 600962339 610932880 107808575 847840320 663946492 724422672 175554418 774937853 989696303 183843307 175884183 38372578 53590481 679521131 566034579 77299524 842871738 590603969 980936845 660738659 541460419 765137854 -1 295958449 491294665 349032071 927530478 845459462 67075526 705622548 577714620 456863895 428142800 199386661 469035792 276260520 188196698 645276436 123550994 385144989 518109595 493264770 332773543 337458711 518109595 377651896 644187365 149052945 601762202 795730704 542986495 988919874 723933984 387518405 939563959 867933639 18299476 973579758 308232133 -1 833246783 635671105 434526689 512615132 34030354 882812597 531136661 344240078 939946968 679275202 791183444 902419092 167036027 325845006 682038125 203493552 623188968 95443860 667300705 156929061 386381016 250810872 512615132 549323513 63243152 437863021 181721636 713199217 203018461 63210631 704672739 375673341 998120269 842306692 7545447 171221433 968396048 494950691 368704535 561494895 345392984 970265761 548806448 580884227 549323513 84208996 488751710 146171038 997432376 675786233 164542502 293155218 973579758 500268473 491543933 406430184 37081879 491543933 375673341 993786079 243995015 867933639 541463939 535432483 574924220 627561325 973579758 67592009 92102199 979580407 580283317 688380735 408244002 378610966 908463563 507142051 113804160 7545447 991067365 33812208 893860727 155376172 433348815 336688564 458547544 368764047 346394348 280856350 170824557 760624728 791183444 13841075 770847694 284387166 53028773 293155218 859063396 885164572 541460419 801326287 329959527 167415720 985045640 592274818 745215401 54153332 591700510 520011864 211362614 980134651 883564101 297133830 254756796 321467204 67075526 910794274 880446976 368764047 155376172 -1 639572212 252012472 273365488 345392984 623188968 286319692 243995015 211333607 897789362 639572212 205644911 612885490 976942240 656206261 338370105 845211351 223785502 676685933 198016418 508037594 920219729 216195055 345072009 378409769 244155041 469384372 12903603 548806448 819963767 270206207 512615132 46485154 427675535 472516679 297175900 675786233 548806448 123550994 -1 538432928 914662962 254167164 997299598 804352169 84208996 723200871 729941138 286319692 416756465 942384956 167415720 191697350 868211619 786892734 -1 579991057 469384372 426480224 26905429 244155041 22393976 491543933 788878491 457715535 325845006 912506727 57606083 660040051 842306692 942297502 215802236 768744535 686385319 206644601 701070480 217928587 658212287 670979891 719457202 719457202 619868736 858159813 57606083 645695407 790809628 284859244 834500260 117347524 175554418 740224085 691214891 165622114 903297209 345102555 427618367 730824918 241693686 34584857 935910737 861208333 785376602 830544982 469743398 804352169 177905368 609637013 414918047 244195221 428747955 95443860 182429059 77299524 437863021 417425319 888304663 970265761 755527023 527897224 614593757 807262913 481127177 484471406 130580 859930182 -1 477076784 232531633 644187365 17012234 432504521 596367148 433439854 708274346 830994144 614297261 722874144 352607876 594204193 721120553 59501988 753145692 327789615 818974853 229405480 784597145 942384956 67075526 768744535 641164921 582861386 244883660 563732029 327789615 827132364 664295306 873072247 234968285 842871738 559785274 346188490 564190579 239254051 574417829 29734308 850351456 561553313 692204091 590783394 807648187 457715535 432504521 345072009 755527023 717390689 758575350 458547544 864350394 251692591 475822349 907772025 883564101 790809628 591284702 32796250 660040051 660639438 469384372 127278512 163983150 72794624 641164921 914291169 254167164 784371166 468107571 391779414 109891495 801169129 685097645 942627653 18299476 306854073 137132982 518109595 681690682 707186544 332773543 519762398 284859244 298868262 472407762 7545447 588150191 730909832 688380735 753145692 725418770 198703751 495712606 741339101 338370105 836680980 769854437 407009263 265395517 702444538 618312173 332773543 904818318 790909002 434526689 722672739 600962339 72621546 374972287 755527023 461649452 160366715 614297261 197307546 728357838 977467597 930790502 288628682 2433982 770680522 897789362 713199217 882812597 -1 748526814 132774876 329574367 827132364 965993467 669742991 689897360 999101537 586985028 880938198 770680522 703311448 281083465 346188490 769837665 72621546 864350394 723933984 541463939 379213018 833220245 181721636 965067805 319379178 708274346 989696303 903297209 667841561 790909002 387518405 774149146 980134651 57801759 692204091 610895287 127278512 641164921 673965031 750156197 284387166 623090438 32466209 46011383 132774876 771459106 920219729 338370105 610613670 406717194 57551192 334677549 368704535 861208333 28576479 432504521 220059095 613084013 67592009 532861718 686385319 713199217 94630229 428142800 782927012 191697350 705622548 923159887 784597145 645276436 95779603 110012494 336688564 -1 572589546 891436447 145847415 730909832 229821643 355126439 213926602 355126439 691504106 950629972 420773560 138533159 119601349 849035201 456863895 302277738 198016418 560455121 392826688 722672739 786892734 784371166 296417374 28576479 745215401 765954927 618312173 672907310 580283317 422331486 110012494 13384724 893860727 854062217 211070558 223030820 159647580 335890204 77299524 572589546 318110611 414918047 574417829 284700142 700120477 18794770 561553313 368704535 156929061 891436447 811841566 335890204 966561320 333260763 784597145 415965469 307476694 527985132 127278512 155906400 296417374 169614935 893652215 761888635 852837035 119601349 274831438 486307671 215802236 344240078 721867658 845459462 333260763 603620710 363457997 819963767 984117471 22393976 413843857 638293140 295805912 966503495 675573324 363811064 861208333 966503495 667169560 724422672 543122079 490142300 859930182 336862767 245677831 571736161 346394348 634536293 681690682 664295306 352508141 574417829 879954113 302277738 295805912 831985335 95443860 408497768 232018015 71713295 638293140 251692591 914291169 818014838 447434673 32466209 462383923 494923774 92112290 110556435 111122929 199386661 484471406 832494905 582319429 175590565 381881872 284387166 491294665 761888635 216195055 425469326 785376602 86361620 771459106 602811046 433439854 842306692 560637528 109891495 281083465 284387166 244883660 580470806 721867658 127278512 631700842 639572212 950862675 319424815 591284702 950235340 420773560 244155041 433114786 627589268 588150191 704672739 228137178 977619929 679670176 717390689 560814638 974448855 408244002 330318834 203493552 53590481 203580162 624015614 894267291 -1 271516194 333260763 381881872 372510013 491543933 252012472 604148770 339350524 891573253 60081926 561553313 751964866 465892383 36050763 435984127 668281990 774937853 641164921 762227828 34685076 484471406 22576092 72263116 415965469 486307671 703311448 758575350 667300705 760593154 114396999 520011864 880446976 659501910 107808575 618312173 113811391 711501588 109891495 355756362 476084224 352607876 966503495 847840320 250810872 -1 268947673 973579758 406717194 958339854 815472010 466034328 174295016 868838278 194126353 912506727 730756715 47116225 595427792 873072247 268947673 451474906 989696303 512615132 610932880 982693874 763281688 427618367 466852129 470690645 858159813 -1 590138438 667169560 591700510 904818318 207023050 668281990 434526689 572589546 21873594 379213018 325845006 408244002 66483968 685097645 572311287 609637013 444874800 789495739 711503207 580918883 753145692 461649452 170824557 577758652 549323513 458547544 705622548 60081926 425469326 72643683 966503495 100130908 622737539 137132982 428747955 246216644 211070558 562309509 345072009 859962837 447434673 903297209 564190579 750769230 532861718 319379178 214924123 560556517 686865014 666590606 386935154 779829204 633637325 251692591 22393976 716182336 751316591 446355059 742174392 784597145 244155041 198628726 7545447 704672739 946112218 548806448 728357838 392826688 32796250 365679164 363811064 984182750 113811391 662235717 63210631 386381016 469384372 229515163 828722364 265395517 156929061 590603969 622737539 161017478 807820896 579991057 830994144 786969334 480210823 679275202 53590481 682038125 968396048 763281688 284859244 60081926 188196698 424146759 146197290 937633254 891436447 662235717 39885396 520086201 760593154 807820896 871898006 730824918 228137178 610613670 446355059 334677549 769545495 456401701 942045496 441949925 679275202 165622114 533367205 211070558 -1 668281990 206014003 381881872 770278321 191697350 303139271 365035648 142117376 26905429 286319692 57606083 75228974 686865014 454563819 590783394 893652215 861383306 538432928 966561320 446355059 489295045 268947673 734712823 327982936 827132364 329574367 254756796 28416726 113804160 965993467 252012472 989747990 92160628 367754743 284387166 923159887 415965469 280856350 500268473 337458711 288542157 -1 782619049 578238211 420773560 780117964 191697350 262575582 155906400 603620710 72621546 433114786 701070480 891436447 854062217 243341711 291386915 982554231 742174392 305936785 818974853 363457997 811841566 112302971 748186132 817331802 -1 991067365 814490763 850101344 154693260 827132364 891436447 904818318 319379178 871898006 446355059 358362276 619868736 782619049 452820542 453407680 769837665 34685076 254756796 97299507 333772685 372510013 12903603 620059513 262575582 593282222 197115342 243995015 345392984 386381016 297175900 750769230 818974853 391779414 903297209 745924515 939946968 910994573 626837013 264549124 113804160 914662962 966561320 722672739 177905368 418807544 890844482 238951985 26905429 155906400 608724072 814490763 651109313 604148770 398981201 60744503 660738659 731745766 628984381 268947673 208028672 608724072 729178187 610069705 681690682 60744503 274831438 461274569 177905368 638076633 595427792 742174392 660040051 763281688 614297261 469743398 560455121 206287347 243995015 935910737 628220249 879954113 281598862 358362276 974521569 138533159 689608865 378409769 47116225 2433982 162425880 626807589 243341711 568090820 28576479 -1 614297261 532803555 914206506 155906400 49208976 561553313 828722364 709403855 363811064 524542574 524972471 909186692 658388576 385144989 897789362 337502849 116545387 296417374 107808575 335743200 786969334 271516194 447434673 665446719 60744503 578238211 36050763 88469907 495712606 719457202 780117964 704672739 566034579 500268473 408244002 327982936 950235340 993786079 691504106 295504204 386935154 407009263 942627653 263636646 130431610 819963767 569422962 908463563 325287502 461274569 250810872 465892383 799467751 246216644 670408229 668281990 697184458 33812208 579991057 861115508 951926549 508037594 398981201 612885490 903297209 819963767 486307671 329542777 854062217 880938198 628984381 555548888 638011115 28416726 262575582 438872920 13841075 690863334 3090244 138533159 337458711 491543933 275463593 352508141 330785266 330318834 275610416 849035201 683489839 165622114 453407680 142117376 751316591 170824557 491978273 828722364 542986495 669655791 472516679 111985669 11796756 46945925 503810504 217928587 66483968 14405655 681690682 72794624 41524303 413494386 891436447 244195221 107596959 656206261 3090244 582319429 186539666 799467751 182659876 847840320 29592557 555548888 146197290 276260520 197115342 663667470 420425052 116545387 942627653 1713096 987705926 879954113 518109595 243341711 122896725 263636646 171504845 893897082 602811046 823933296 567416830 298868262 238442797 977467597 590783394 806195787 701070480 400907045 942627653 345072009 374972287 675573324 842306692 943374902 39885396 612885490 29734308 244883660 685423362 691740164 306767836 987705926 902419092 426480224 71713295 660040051 718577411 524972471 367754743 812140416 386935154 81866966 957643716 970265761 408244002 665446719 288542157 770278321 461649452 689608865 980936845 586392635 967987535 480210823 938914563 186539666 623090438 453407680 337458711 38372578 767047665 524972471 768744535 995194212 542986495 723933984 345072009 867723620 542986495 281083465 609637013 661932839 191697350 127278512 57801759 711501588 572311287 77564723 413843857 470690645 882812597 807648187 859962837 914291169 243341711 748186132 81866966 149052945 42277380 34584857 59706771 295805912 373771611 32466209 54164180 228137178 961821360 167036027 782927012 203580162 -1 854398124 982554231 167415720 828722364 897789362 784371166 688380735 56105859 170824557 689897360 260307180 79323336 461274569 387518405 22576092 910794274 432069691 53028773 574417829 850636024 849035201 594204193 524542574 901304975 391779414 761888635 352607876 295504204 276260520 29592557 763281688 818829472 700120477 197115342 273365488 378610966 457715535 779829204 745215401 730756715 594204193 214924123 260307180 980936845 327982936 110556435 140113105 937633254 468199498 845459462 484471406 710113373 154693260 610932880 73525554 721867658 610069705 250810872 319379178 622918995 60978603 334677549 321331882 819523467 38372578 199770581 823933296 812140416 635671105 427675535 92160628 183843307 424697572 628220249 950862675 799467751 845459462 999101537 655834254 274831438 881489135 563732029 485683712 871898006 562309509 208493418 950235340 231771136 577714620 686865014 868838278 403334160 46485154 711503207 731936598 800463769 248636995 36050763 223785502 907772025 514721585 329959527 214924123 861115508 438872920 512615132 850351456 77299524 819523467 433348815 669742991 897789362 346394348 107839247 753145692 991067365 950235340 337502849 880938198 26905429 182659876 782594982 769837665 823787812 891436447 248636995 192251969 846213413 368764047 491543933 150137560 70161655 95779603 87162480 663667470 709403855 722672739 96109344 859962837 614459776 831985335 484471406 416739210 741339101 132774876 182429059 711503207 418807544 298868262 416756465 142117376 441949925 729941138 982581137 986331373 566034579 372910848 767047665 127278512 572589546 780117964 250810872 610932880 63562141 740364356 319379178 118534662 138790019 784597145 163789960 239254051 977467597 468107571 67592009 681823792 -1 421927353 335743200 842306692 500268473 608724072 500268473 368764047 111985669 112624754 897789362 363811064 695553778 562288215 495336832 428142800 387518405 569422962 368704535 950629972 208493418 13841075 699856917 339350524 619868736 703311448 988919874 912506727 13384724 484471406 211550817 379109457 610932880 332773543 117347524 237773442 903297209 427618367 525617132 456401701 505655512 271516194 750763843 107596959 336688564 72621546 763856958 635671105 422331486 593282222 149830598 191697350 669125354 669125354 -1 833220245 666590606 174295016 859063396 908705907 689897360 97299507 154693260 275610416 95443860 209977170 161017478 881489135 32466209 596943234 199386661 464037621 -1 997432376 66483968 208028672 73525554 26905429 961821360 281083465 563732029 750763843 155997760 244195221 432069691 435984127 438872920 60081926 675573324 610069705 950629972 753145692 801402068 756425389 325845006 437863021 174295016 691504106 750763843 481127177 942384956 26537314 827132364 818829472 888304663 163091630 566096351 670979891 893652215 543122079 387384744 861115508 560556517 79097209 18299476 695553778 831985335 138533159 13841075 21873594 264549124 274831438 842871738 676709331 662235717 830544982 619868736 183843307 386381016 726776295 881489135 270206207 818829472 112624754 645695407 373771611 740224085 358191652 228137178 623090438 365407761 518109595 228137178 604148770 590138438 373771611 852782081 472407762 697184458 365407761 265395517 330318834 984117471 92112290 453407680 854398124 520086201 -1 554782737 408497768 211070558 819963767 879954113 641205608 891436447 165622114 647290016 354949635 424146759 723200871 950862675 811841566 140395123 908463563 998120269 519762398 849123482 582861386 745924515 96109344 786892734 532861718 489295045 349032071 28576479 183843307 399202754 626837013 942297502 46410909 470690645 914206506 381881872 692204091 645695407 765954927 122896725 333260763 92112290 245677831 274831438 443342808 635671105 471865558 750156197 3090244 113804160 472407762 387384744 922220234 976942240 927530478 333260763 156929061 495712606 307476694 295504204 407009263 801169129 295805912 627376276 679275202 63562141 275610416 910994573 428142800 647911422 701070480 885077908 171504845 760593154 -1 249558965 250810872 323513395 904818318 569422962 281083465 305936785 730909832 341012648 560556517 43897314 582861386 627589268 968396048 812752908 229405480 635671105 658212287 321331882 922220234 691504106 333772685 457715535 231771136 301334993 842871738 943374902 979285058 416739210 891436447 46410909 610895287 914291169 961821360 982693874 458547544 867933639 171221433 980936845 519762398 601762202 854398124 46945925 523542917 690664050 661932839 691214891 613084013 742174392 871898006 864561721 155376172 211362614 679521131 433348815 399202754 818974853 519762398 937638157 400907045 437863021 680666684 919585635 192251969 967987535 939563959 748186132 59501988 901304975 494751627 632336991 750156197 286319692 34030354 413843857 655834254 551345512 306854073 765137854 704672739 352508141 535432483 290604263 800463769 334677549 984895249 753145692 365407761 420425052 507142051 4610166 667169560 819523467 580918883 490142300 586392635 245677831 863278761 541463939 422331486 995194212 522063456 726124644 987705926 812140416 493264770 532803555 456487084 953838288 980134651 146171038 535432483 406430184 424146759 465892383 305936785 379213018 167415720 452820542 923159887 237773442 428747955 525617132 555828167 414918047 864350394 392826688 520086201 750156197 349032071 206014003 764751417 232531633 946112218 296417374 434526689 358362276 470690645 532803555 596943234 577758652 627376276 452820542 705622548 433348815 784371166 452820542 786892734 973579758 699856917 11796756 542986495 381881872 676709331 819523467 689897360 908705907 250810872 784371166 789495739 914291169 980134651 -1 211070558 984117471 586392635 832494905 118534662 329959527 87162480 647427996 791932302 378409769 863667577 336862767 819963767 335743200 301714930 63210631 763183908 452820542 966561320 704672739 431837446 296417374 473150723 622737539 53028773 163091630 857102413 480210823 318110611 209977170 420773560 831985335 175554418 689897360 155997760 113804160 942297502 977467597 985045640 495712606 214317232 622823007 580470806 33812208 782927012 664295306 785247749 580918883 375673341 763856958 740364356 560556517 828722364 95443860 893652215 122067182 433348815 214924123 339350524 984182750 216195055 927530478 -1 469743398 627589268 999674172 41260287 647427996 755527023 804352169 760593154 168494769 660738659 638076633 660040051 215802236 308705211 293155218 770847694 958339854 644187365 538432928 893897082 426480224 669125354 345072009 163983150 730909832 595427792 786969334 216195055 42277380 730909832 885164572 942297502 433114786 618312173 777440440 156929061 664490073 283107224 602811046 750769230 542986495 750763843 375673341 527897224 622737539 814490763 163091630 779829204 228137178 700120477 -1 421927353 -1 832364259 420342620 712694937 393835525 683531283 232018015 742174392 -1 417425319 943374902 708274346 938954818 950862675 595427792 428142800 608724072 834500260 740364356 420773560 966561320 472516679 112302971 391779414 416756465 155376172 -1 830544982 882812597 214924123 472516679 730909832 393835525 118534662 349032071 977619929 901803305 47116225 975269268 867933639 229515163 417425319 644336340 665446719 469384372 163789960 337502849 254528769 761888635 811841566 72643683 914291169 922171930 592274818 833246783 613084013 635671105 363579344 675786233 815472010 731745766 17012234 920219729 854062217 582861386 223030820 344240078 251692591 635671105 146197290 433348815 268947673 79323336 879954113 223785502 864350394 951926549 330318834 531136661 656206261 495336832 54153332 614459776 602915291 243341711 130431610 119601349 938914563 879954113 70161655 420425052 175554418 345102555 406717194 881489135 199770581 868211619 859930182 434526689 565554630 719457202 985045640 560455121 641164921 660738659 100130908 538432928 29592557 327982936 709403855 329542777 707186544 812140416 355126439 -1 638076633 734712823 363579344 767047665 111122929 399202754 748526814 894991717 627376276 150137560 132774876 32796250 595427792 389956215 26537314 916738849 577714620 903297209 532803555 543006155 275463593 953838288 70161655 -1 590783394 785376602 94630229 819523467 84208996 760593154 770680522 854062217 729352677 748186132 935910737 979285058 84062198 488751710 966561320 43897314 765954927 638011115 817693389 336688564 72263116 774149146 986331373 577758652 140395123 897789362 976942240 845459462 392826688 327982936 596943234 86256730 433756914 860724917 993786079 214317232 693375965 739554266 507969865 610895287 763183908 475822349 588150191 308232133 745215401 997299598 379213018 197307546 881489135 17012234 107596959 232531633 308705211 290604263 655834254 834500260 495712606 11796756 170824557 812140416 137132982 408497768 95443860 982554231 92102199 505655512 469035792 424146759 488751710 165753 175884183 -1 712694937 100130908 686385319 447434673 312308223 175554418 203580162 317871021 471865558 623188968 626807589 718229961 164542502 208493418 63210631 199386661 22576092 997432376 644187365 804352169 789404113 373683372 219896364 980936845 562309509 60978603 907456227 81866966 381881872 746419439 418807544 782619049 39885396 891573253 406430184 211333607 950629972 469035792 365679164 644187365 228137178 572589546 100130908 664295306 491294665 532861718 970265761 927530478 979580407 723200871 295504204 624015614 846213413 686865014 352508141 444874800 938446553 273365488 721867658 647911422 473150723 979580407 154693260 893860727 363579344 -1 579690895 86361620 703311448 658388576 609637013 711501588 254756796 950862675 893860727 26905429 852782081 842306692 601762202 769854437 181721636 524972471 682038125 703311448 165753 688597242 367754743 882812597 186539666 75228974 469743398 627589268 41260287 591700510 155906400 368779111 473150723 79323336 490142300 57551192 251692591 785247749 907772025 206644601 339350524 723200871 165753 306767836 66483968 32796250 329959527 695553778 469743398 641205608 673965031 593282222 992563691 47116225 368704535 112302971 746419439 988919874 823933296 858159813 189854783 731936598 729352677 897789362 757544011 13841075 950862675 745215401 614297261 531136661 937638157 670979891 490869221 325287502 634536293 480210823 115470851 170824557 26375227 596367148 667300705 238442797 560556517 594204193 473150723 641164921 207023050 395983136 580884227 251692591 638293140 232018015 115470851 73525554 730824918 699856917 117303447 408244002 -1 527897224 634536293 354949635 199770581 211550817 788878491 198016418 966561320 561553313 596367148 974448855 818829472 43392732 830162158 321467204 690863334 198016418 59501988 579991057 209977170 577714620 142117376 317871021 670408229 107596959 599555786 779829204 281083465 458547544 84208996 861208333 635671105 327982936 401672699 28576479 375673341 422331486 672907310 392826688 428747955 60081926 11796756 86361620 333772685 578238211 480210823 433348815 986331373 290604263 718229961 247165890 437517579 71713295 334677549 199386661 393835525 939946968 857269083 55517047 782619049 801169129 354949635 980134651 806195787 171221433 535432483 507969865 18794770 12903603 140113105 823933296 563732029 114396999 658388576 499941413 669742991 999101537 751316591 571736161 208877360 740224085 472516679 723200871 660040051 470690645 100130908 433348815 691214891 94630229 588150191 989747990 -1 538432928 163983150 718229961 63562141 295958449 357329820 490869221 942627653 94630229 358191652 790809628 914206506 750156197 726776295 107839247 935910737 786892734 175884183 416756465 689897360 770278321 613084013 206644601 43392732 730824918 219896364 970265761 420425052 130580 819523467 663667470 473150723 150137560 639572212 377651896 345102555 223030820 664490073 890844482 507142051 49208976 908463563 349032071 228902962 432504521 880665324 950235340 273365488 863667577 763183908 42277380 171504845 306854073 149830598 748526814 770680522 469035792 901803305 817331802 582319429 456863895 943374902 771459106 34584857 938954818 893897082 206014003 868838278 159647580 882812597 814490763 966503495 263798126 590138438 355126439 849123482 391779414 119601349 965993467 685423362 669125354 683531283 695553778 72794624 55517047 580283317 957144144 623188968 332773543 590603969 957643716 295504204 329542777 830994144 363811064 301334993 765137854 494923774 861208333 340301060 77299524 308232133 667169560 416739210 60744503 579991057 966561320 17012234 122896725 252012472 211333607 229405480 812752908 283107224 847840320 434526689 667300705 880844104 -1 329959527 335890204 601762202 373771611 66483968 785866095 110556435 779829204 507142051 914662962 216195055 145847415 284696682 531136661 638011115 155997760 691504106 197307546 469743398 610069705 967987535 13384724 77564723 87162480 745215401 337458711 676709331 937633254 685097645 186539666 424697572 494923774 491543933 232018015 780117964 542661640 349032071 432069691 535432483 28416726 697184458 476084224 94630229 433439854 67592009 789404113 452820542 553190572 165753 977467597 495336832 88469907 198703751 443342808 437863021 28576479 45426260 682038125 622737539 345102555 1713096 375673341 561553313 846213413 368704535 982693874 729178187 847840320 468199498 334677549 734712823 67075526 22393976 871898006 302277738 770680522 665446719 32796250 408497768 260946873 433756914 308232133 146197290 676709331 569422962 667841561 730756715 575541534 165622114 968396048 633637325 252012472 560814638 327982936 408244002 208028672 770278321 770847694 689897360 19140171 207023050 308705211 999101537 241693686 260946873 664295306 72794624 659501910 679670176 42277380 49208976 486307671 254167164 220059095 244155041 117347524 675786233 832364259 228902962 142117376 580918883 427675535 86361620 406430184 329959527 127278512 334677549 466852129 188196698 437517579 908463563 579690895 626837013 686385319 330583346 655834254 638076633 527897224 707186544 726124644 541460419 628220249 970265761 832494905 334677549 319424815 295805912 188196698 514721585 647427996 893860727 849035201 18299476 761888635 175554418 627561325 922220234 912506727 368779111 427618367 614297261 950862675 681823792 730824918 60978603 658388576 761888635 408497768 163983150 849123482 389956215 205644911 232018015 201066749 857102413 415965469 434526689 373771611 563823514 846213413 468199498 385144989 408244002 991188064 358191652 349772488 622918995 702444538 344240078 785866095 938954818 551345512 420342620 543122079 74820195 332773543 590603969 493264770 567600315 336688564 831985335 231771136 387518405 84062198 432069691 155376172 55517047 729178187 199386661 563823514 565554630 801402068 352508141 660738659 462383923 11796756 782594982 891436447 260307180 63562141 689897360 939946968 908705907 885164572 961821360 86256730 451474906 403334160 385144989 523542917 384604556 647911422 970265761 468199498 110556435 951926549 472516679 208877360 36050763 -1 70161655 73453883 867723620 524542574 710113373 428413005 63210631 43897314 503810504 96109344 685097645 223785502 468199498 786075537 264549124 43392732 703311448 275463593 801326287 368779111 189854783 206014003 683489839 72643683 273365488 939946968 358191652 817331802 425469326 112302971 634983639 751316591 344240078 469035792 571736161 958339854 958339854 880446976 1713096 452820542 60744503 115639466 904818318 771459106 447434673 28576479 682038125 745924515 774149146 681823792 231771136 782927012 140395123 162425880 520086201 670979891 29592557 935910737 330318834 448316745 647290016 72794624 950629972 559785274 790809628 771459106 140113105 634983639 330318834 520086201 175884183 471865558 904818318 159056677 252012472 620059513 762227828 111122929 991188064 -1 619868736 997299598 628220249 984895249 70161655 638293140 34685076 188196698 724422672 838379139 198628726 420773560 73453883 247165890 774937853 885077908 192251969 205644911 425469326 967987535 171221433 958339854 485683712 459789430 88469907 554782737 88469907 182429059 561494895 916738849 592274818 389956215 92112290 296417374 281083465 668250239 968396048 163091630 566096351 211362614 846213413 159647580 365035648 801169129 373771611 938954818 580884227 763856958 758575350 767047665 679275202 790809628 634983639 761021239 345072009 29592557 842306692 34030354 791183444 145847415 760624728 78898063 834500260 428747955 769837665 846213413 750156197 447434673 780117964 -1 32466209 729941138 86256730 977619929 427618367 761021239 281083465 894991717 238442797 524972471 819523467 822261941 415965469 705118513 14405655 377651896 284859244 491294665 411999902 827132364 217928587 507142051 916738849 265395517 78898063 686649778 769545495 494751627 695553778 563732029 914662962 96109344 765954927 490142300 97299507 750156197 330583346 681823792 165753 719457202 564190579 519762398 801326287 110012494 863667577 199770581 849123482 111122929 170824557 711501588 728357838 891436447 232018015 980134651 163983150 237773442 140113105 305936785 788878491 -1 29734308 638293140 942627653 46945925 725418770 560556517 79097209 943374902 919585635 690664050 45426260 838379139 57551192 850636024 638011115 494751627 205644911 551345512 670408229 950862675 786969334 815472010 32796250 940104206 79097209 651109313 495712606 26375227 721120553 823787812 284700142 609637013 252012472 140395123 761888635 97299507 541460419 532861718 610613670 332773543 206644601 305936785 181721636 818829472 56105859 49212342 59501988 572589546 205644911 211550817 163789960 454563819 275463593 232531633 275463593 533560917 700120477 433114786 271516194 13841075 858159813 505655512 532861718 591700510 301334993 919585635 336862767 41524303 624015614 79097209 746419439 712694937 86256730 765137854 823787812 421927353 728492414 22393976 348123399 767047665 140395123 167036027 823933296 890844482 762227828 92102199 997299598 140113105 635671105 346188490 428747955 243995015 590603969 859063396 453407680 170824557 160366715 494751627 800463769 327982936 358362276 411999902 368779111 464037621 524542574 111985669 861208333 708274346 175884183 11796756 182659876 323513395 264549124 975269268 18794770 695553778 295805912 494923774 748526814 155997760 697184458 850636024 167036027 470690645 116545387 138790019 86256730 271708247 807820896 456863895 790909002 634536293 401672699 880446976 167036027 937638157 295958449 433756914 119601349 785866095 927530478 613084013 937638157 719457202 469743398 346394348 336862767 975269268 22393976 189854783 950629972 297175900 490142300 569422962 88469907 717390689 495241145 845459462 365035648 493264770 697374453 345392984 569422962 561553313 993786079 174295016 801169129 560556517 385144989 680666684 416756465 243341711 336862767 852782081 726776295 149052945 807262913 194126353 647290016 818829472 848715178 -1 53028773 958339854 997432376 623090438 47116225 312308223 782927012 846213413 527985132 232531633 622737539 938446553 352508141 574417829 608724072 723200871 953838288 950862675 484471406 339350524 526755095 753145692 22576092 830544982 641164921 669742991 296417374 919585635 751316591 29272319 18794770 914662962 852782081 122896725 203018461 594204193 612885490 760593154 43897314 935910737 46485154 740364356 885164572 980936845 475822349 527985132 846213413 284387166 767047665 613084013 755527023 130580 211550817 42277380 213926602 997432376 53028773 800463769 669655791 916738849 18404492 968396048 665446719 974521569 406717194 333772685 818829472 70161655 182659876 867933639 679521131 553190572 393835525 867723620 132774876 265395517 755527023 563732029 995194212 140395123 392826688 879954113 691740164 914662962 770278321 495241145 801402068 415965469 649175882 375673341 357329820 916321789 358191652 373771611 223030820 849035201 577714620 602811046 766504018 115639466 466034328 991067365 992563691 861115508 703311448 673965031 110556435 247165890 683531283 661932839 746419439 288542157 -1 345102555 635671105 209977170 420342620 982554231 367754743 966561320 852837035 34584857 456401701 145847415 582861386 532861718 668250239 408244002 845211351 999101537 679670176 789404113 214317232 1713096 112302971 171221433 942045496 679275202 454563819 622918995 830544982 507969865 758575350 999674172 333260763 79213361 522063456 232531633 459789430 319379178 34030354 916321789 123550994 726776295 54153332 592274818 688597242 94630229 532803555 864561721 828722364 435984127 939946968 28576479 201066749 852837035 379213018 555548888 154693260 167415720 710113373 79213361 782927012 764751417 413843857 199770581 586392635 378610966 357329820 912506727 301334993 211333607 427675535 26537314 722874144 995194212 893860727 135519629 115639466 916321789 -1 117303447 580470806 111985669 979285058 160366715 897789362 991067365 986331373 989696303 566034579 957643716 663667470 499941413 59501988 864561721 42277380 522063456 228902962 46011383 55517047 175884183 819963767 683531283 966561320 432504521 142117376 237773442 428747955 165622114 468107571 823933296 165753 847840320 355756362 693375965 939946968 91064641 308232133 123550994 122896725 317871021 408244002 268947673 114396999 675786233 522063456 163789960 890844482 577714620 721120553 263798126 988919874 842871738 209977170 627589268 301334993 441949925 113811391 914291169 961821360 306767836 833246783 777440440 72263116 669125354 937633254 481127177 -1 4610166 96109344 43392732 974521569 693375965 586392635 53028773 663667470 41524303 723200871 533560917 395983136 317871021 254756796 237773442 355126439 118534662 891573253 995194212 29734308 659932705 411907778 995194212 318110611 985045640 229821643 -1 408497768 355126439 387384744 676709331 368779111 725418770 175590565 206287347 799467751 13384724 37724537 197115342 327982936 475822349 974521569 569422962 967987535 967987535 554782737 57606083 288628682 942384956 -1 323513395 838379139 865880334 770847694 45426260 673965031 219896364 967987535 117347524 260946873 433756914 661932839 135519629 622737539 260946873 836680980 721120553 705622548 308705211 989696303 198628726 113811391 239987054 718577411 660738659 339350524 208028672 378610966 596943234 669125354 979580407 904818318 779829204 658212287 718577411 966561320 321331882 618312173 162425880 562309509 -1 938914563 385144989 22393976 79323336 275610416 645276436 112302971 603620710 981763217 664490073 614459776 29734308 712694937 593282222 264549124 693375965 34584857 950629972 579991057 138533159 613084013 977619929 635671105 632336991 750763843 707186544 760624728 441949925 491294665 186539666 372910848 857102413 774937853 211333607 966561320 232531633 790909002 769545495 729941138 623188968 560814638 319379178 782594982 758575350 330583346 575541534 631700842 281083465 503810504 995194212 323513395 461649452 385144989 18404492 34685076 503810504 457715535 519762398 208493418 553190572 373771611 175554418 489295045 966503495 582861386 784597145 724422672 691214891 859930182 453407680 432069691 681823792 372510013 849123482 -1 303139271 634536293 325287502 623188968 167036027 812140416 686649778 823787812 930790502 520011864 730756715 823787812 274831438 165753 633637325 673965031 683531283 170824557 560455121 973579758 12903603 149052945 620059513 791932302 790809628 618312173 286319692 726124644 807820896 741463146 488751710 318110611 533560917 997432376 957643716 414918047 777440440 520086201 345392984 638011115 520011864 393835525 337502849 767047665 672907310 508037594 469384372 849123482 567416830 459789430 890844482 535432483 18404492 493264770 745924515 966561320 301714930 644336340 488751710 391779414 465892383 818829472 477076784 330583346 88469907 982693874 512615132 237773442 784371166 910994573 119601349 937633254 591284702 49212342 252012472 525617132 318110611 711503207 46410909 71713295 679275202 943374902 849123482 12903603 620059513 170824557 223030820 13841075 38372578 859962837 418807544 901803305 319379178 340301060 551345512 909186692 49208976 669655791 297175900 864561721 443342808 241693686 254528769 192251969 275463593 295805912 828722364 922171930 466852129 321467204 823787812 774149146 830994144 628984381 721867658 91064641 321331882 446355059 297175900 298868262 614459776 819523467 365679164 431837446 46945925 288542157 873072247 368935143 417425319 260307180 94630229 791932302 667300705 523542917 18299476 858159813 135519629 682038125 437863021 434526689 461649452 18794770 883564101 345072009 710730165 263636646 563675995 723200871 586392635 588150191 591700510 507969865 531136661 791183444 109891495 610932880 610895287 207023050 334677549 -1 799467751 164542502 21873594 628220249 833220245 818829472 850636024 750429264 880446976 804352169 97299507 175554418 194126353 567600315 32796250 637964511 208028672 63210631 472407762 56105859 60978603 59501988 563823514 567600315 413843857 114396999 86256730 215802236 622823007 828722364 685423362 363579344 149052945 175144765 859962837 645276436 551345512 462383923 763856958 711503207 182659876 624015614 214317232 942384956 670408229 365035648 830544982 644336340 939563959 519762398 740364356 782619049 912506727 532861718 378610966 927530478 175884183 238442797 399202754 655834254 658388576 908705907 66483968 975269268 358362276 363811064 283107224 451474906 764751417 102379477 600962339 647911422 373771611 123550994 162425880 243341711 750763843 122896725 398981201 718229961 71713295 491978273 815472010 306854073 655834254 807648187 766504018 373771611 832494905 368764047 799467751 349032071 691740164 599555786 416739210 807820896 705118513 7545447 704672739 244195221 188196698 428413005 980936845 246216644 807648187 163789960 614593757 538432928 664295306 699856917 638011115 651109313 508037594 789495739 960643177 976942240 859063396 845211351 288628682 398981201 175590565 189854783 984182750 494751627 295958449 639572212 660738659 113811391 333772685 503810504 710113373 633637325 961821360 565554630 216195055 214924123 518109595 384604556 655834254 264549124 408497768 894267291 466034328 966503495 683531283 335743200 903297209 244195221 922171930 976942240 217928587 590603969 890844482 411999902 977619929 79323336 864350394 1713096 91064641 850351456 692204091 863278761 470690645 453407680 711503207 897789362 443342808 507142051 461649452 627376276 863278761 386381016 555828167 725418770 107839247 700120477 368935143 34685076 260307180 283107224 628984381 527897224 163091630 867933639 458547544 46945925 580884227 264549124 17012234 822261941 358362276 639572212 457715535 986331373 551345512 19140171 579991057 580283317 916738849 368935143 634536293 670979891 130580 670408229 273365488 232018015 140395123 -1 649175882 590783394 592274818 102379477 807648187 433348815 416756465 525617132 194126353 411999902 748186132 859962837 897789362 416739210 691214891 569422962 488751710 982581137 427675535 102379477 41260287 901304975 907772025 608724072 755527023 122067182 260307180 663946492 707186544 163091630 150137560 271516194 346394348 661932839 488751710 686865014 352607876 565554630 142117376 986331373 464037621 175144765 321467204 401672699 138533159 789404113 762227828 620059513 49208976 395983136 603690869 785866095 109891495 59501988 859962837 910994573 987705926 686385319 989696303 468107571 469384372 610069705 413494386 107808575 574417829 909186692 901803305 297175900 668250239 683489839 57551192 475822349 786892734 908463563 431837446 667300705 358362276 533560917 330785266 560814638 321467204 87162480 748186132 966561320 849035201 920219729 428413005 555548888 60081926 169614935 422331486 662235717 484471406 475822349 861115508 910994573 164542502 741339101 833220245 385144989 79323336 748526814 746419439 374972287 580884227 206014003 431837446 914662962 791932302 681823792 951926549 447434673 834500260 864350394 749101296 67075526 712694937 321467204 549323513 13841075 297175900 420773560 880844104 505655512 622918995 765137854 807648187 413494386 466852129 254528769 979580407 389956215 811841566 28416726 150137560 493264770 999101537 428142800 726124644 848715178 415965469 721867658 49212342 891436447 623090438 549323513 705622548 368764047 985045640 469743398 49208976 297175900 317871021 580283317 817331802 34685076 67592009 756425389 407009263 578238211 123550994 782619049 997299598 880665324 37081879 485683712 861208333 29592557 46410909 982693874 818974853 365035648 163983150 46011383 863667577 79323336 456487084 822261941 489295045 709403855 681823792 608724072 943374902 523542917 689897360 818829472 850636024 201066749 644336340 466034328 1713096 784597145 79213361 712694937 365407761 729352677 881489135 92160628 768744535 987705926 789495739 634983639 637964511 288628682 447434673 228137178 203493552 109891495 893860727 785866095 984182750 679275202 205644911 577714620 807648187 355756362 977467597 55517047 95443860 237773442 28576479 770278321 329959527 475822349 393835525 247165890 757544011 690863334 561494895 385144989 392826688 770680522 182659876 790809628 336688564 413494386 349772488 807820896 414918047 47116225 162425880 290604263 979285058 14405655 243995015 336688564 441949925 541463939 785866095 49212342 491978273 580918883 660738659 251692591 723200871 820211254 586392635 53028773 46011383 363457997 609637013 448316745 659501910 682038125 182659876 637964511 939946968 916738849 662235717 75228974 372510013 807262913 488751710 164542502 79323336 763856958 73453883 260307180 688380735 975269268 503810504 437863021 586392635 666590606 961821360 162425880 845211351 72263116 676685933 417425319 156929061 130580 883564101 579783784 710113373 628220249 205644911 18794770 801402068 283107224 563675995 112624754 543122079 551345512 782619049 466034328 198016418 683489839 345392984 271516194 197307546 138533159 67075526 999674172 965067805 163789960 295958449 281598862 519762398 818014838 763281688 689897360 665446719 41524303 595427792 485683712 406568384 664490073 670979891 114396999 683531283 43897314 123550994 894267291 -1 413494386 527985132 323513395 710730165 670979891 232018015 757544011 535432483 91064641 413843857 708274346 801169129 307476694 138533159 414918047 514721585 363811064 864561721 758575350 175144765 512615132 580884227 47116225 919585635 107596959 140395123 845459462 916321789 770680522 664295306 672907310 34584857 693375965 645695407 631700842 43392732 228137178 330318834 494751627 567600315 415965469 161017478 627561325 852837035 34030354 943374902 764751417 505655512 729178187 140113105 140113105 47116225 318110611 428413005 113811391 471865558 549323513 49208976 345392984 74820195 894267291 525617132 297133830 95779603 469035792 689897360 214317232 633637325 175590565 830994144 849035201 864350394 206014003 365679164 977467597 753145692 659932705 535432483 859930182 619868736 473150723 614297261 697374453 336862767 950629972 71713295 481127177 327982936 75228974 610069705 254528769 541463939 942045496 391779414 416739210 614593757 692204091 411999902 246216644 645695407 63243152 495712606 59501988 614459776 901803305 335890204 885077908 786075537 113811391 12903603 13384724 209977170 740224085 820211254 495241145 675786233 211362614 880938198 968396048 600962339 308232133 49212342 408244002 191697350 577758652 850101344 942297502 586985028 265395517 891573253 995194212 751964866 842306692 254167164 579991057 569422962 524542574 284700142 562309509 244195221 119601349 691504106 977467597 542661640 245677831 228137178 711501588 452820542 275610416 288628682 532803555 79213361 857102413 386381016 14405655 63243152 329959527 112302971 205644911 689897360 59501988 679521131 582319429 867933639 541460419 645276436 325845006 57551192 801326287 79213361 333260763 711503207 620059513 29272319 634983639 541463939 786892734 389956215 673965031 146197290 845211351 86256730 428142800 812752908 914291169 750769230 295958449 705622548 470803824 156929061 697374453 406568384 2433982 247165890 663946492 580283317 603690869 770680522 601762202 428413005 340301060 891436447 705118513 500268473 701070480 551345512 63210631 823933296 428142800 28576479 301714930 355126439 250810872 910794274 446355059 871898006 29287119 208028672 91064641 572589546 275610416 244883660 580918883 849123482 763281688 937638157 760593154 432504521 452820542 254167164 942297502 75228974 115639466 784597145 81866966 198703751 910794274 471865558 168494769 849035201 779829204 378610966 237773442 472516679 499941413 910994573 424146759 420773560 243995015 686865014 867933639 710113373 982581137 845211351 420342620 420425052 245677831 428413005 708274346 110556435 596367148 953838288 675786233 46485154 280856350 113804160 627589268 586985028 381881872 119601349 891573253 36050763 907456227 451474906 590138438 658388576 942045496 472407762 614297261 444874800 422331486 861383306 84062198 688597242 950235340 580918883 336862767 368935143 751316591 72794624 830544982 609637013 112302971 -1 231771136 237773442 565554630 87162480 88469907 60978603 87162480 561553313 113804160 750763843 564190579 47116225 761021239 100130908 297133830 628220249 974521569 593282222 723200871 761888635 967987535 303139271 705118513 53028773 263798126 46485154 96109344 305936785 645276436 29272319 168494769 610613670 632336991 229821643 399202754 594204193 782594982 638011115 647290016 284696682 495241145 791932302 122896725 3090244 891573253 401672699 526755095 888304663 769854437 281598862 92160628 163091630 533367205 638076633 340301060 217928587 349772488 750156197 122067182 750429264 427618367 140113105 780117964 284696682 722874144 786969334 352607876 871898006 373683372 288542157 991067365 845211351 527897224 16475116 271708247 111985669 349032071 883564101 146197290 43392732 160366715 660040051 591700510 883564101 871898006 437863021 238951985 578238211 823933296 882812597 564190579 845211351 494751627 575541534 656206261 566096351 645695407 670979891 637964511 614297261 842306692 822261941 -1 100130908 243995015 596943234 527897224 676709331 690863334 656489207 406717194 354949635 349772488 72643683 561553313 389956215 709403855 254528769 582861386 302277738 461649452 999674172 595427792 60081926 274831438 254756796 365407761 907456227 935910737 154693260 175144765 563823514 268947673 537867109 751316591 446355059 569422962 186539666 578238211 757544011 827132364 765954927 468107571 596367148 37081879 171504845 596943234 54153332 381881872 428142800 97299507 985045640 908705907 806195787 592274818 946112218 245677831 163983150 762227828 29592557 476084224 976942240 566096351 345102555 28576479 477076784 567600315 374972287 721120553 748526814 79213361 491294665 845459462 676685933 163983150 626837013 746419439 41524303 345102555 216195055 175554418 296417374 73525554 199386661 785376602 668250239 729178187 481127177 368935143 590783394 205644911 791932302 398981201 697184458 332773543 686385319 984117471 244195221 897789362 731936598 113811391 989696303 610069705 882812597 72263116 473150723 413843857 55517047 418807544 647911422 384604556 789495739 880446976 113804160 42277380 60978603 871898006 444874800 363579344 571736161 336862767 188196698 239987054 739554266 288542157 672907310 378409769 57801759 43392732 447434673 655834254 217928587 710113373 729352677 789404113 17012234 403334160 427618367 801326287 555828167 115639466 639572212 618312173 693375965 767047665 268947673 849035201 789404113 638076633 807648187 72643683 986331373 408244002 111122929 686865014 833246783 689608865 753145692 337502849 830994144 859930182 910994573 660738659 219896364 349032071 749101296 155376172 691214891 729352677 830994144 1713096 774149146 968396048 263636646 711501588 614297261 254756796 854398124 991067365 814490763 159647580 582861386 560455121 763183908 77299524 760624728 330583346 163983150 645695407 2433982 914662962 555548888 117347524 138790019 107596959 244195221 577714620 716182336 951926549 647290016 953838288 845211351 365407761 490869221 198703751 49208976 352607876 566034579 154693260 247165890 407009263 220059095 667169560 229515163 385144989 976942240 46011383 203018461 901803305 385144989 87162480 992563691 297133830 4610166 765954927 470690645 596943234 348123399 29287119 203018461 416756465 622737539 916738849 165622114 92102199 433348815 239987054 782594982 560637528 626837013 807820896 731936598 863667577 252012472 987705926 183843307 957643716 424697572 214924123 980936845 567600315 55517047 66483968 750769230 367754743 704672739 690863334 599555786 891573253 368779111 769854437 171504845 982693874 352607876 355756362 112624754 493264770 519762398 433348815 349772488 967987535 13384724 543006155 348123399 332773543 750763843 574924220 305936785 308232133 601762202 800463769 484471406 600962339 729941138 271516194 767047665 18299476 333772685 60744503 424697572 885164572 780117964 788878491 37081879 338370105 57551192 137132982 475822349 766504018 203493552 28576479 695553778 867723620 96109344 807648187 365035648 560637528 817693389 680666684 627589268 548806448 555548888 647427996 146197290 574924220 260307180 232531633 456401701 373683372 443342808 541463939 705118513 562288215 761888635 17012234 702444538 761888635 703311448 590783394 591700510 355756362 494923774 271516194 664295306 438872920 241693686 321467204 284859244 549323513 117303447 358191652 -1 807262913 352508141 39885396 726776295 713199217 79323336 295805912 198703751 663946492 374972287 655834254 977467597 977619929 741339101 549323513 730756715 989747990 991067365 191697350 132774876 768744535 676709331 667841561 590603969 355126439 690664050 960643177 252012472 914291169 703311448 780117964 37724537 771459106 790909002 295958449 503810504 368764047 707186544 740364356 641205608 373771611 312308223 957643716 427618367 697374453 997432376 832364259 567600315 927530478 560556517 723933984 655834254 78898063 391779414 567416830 823933296 381881872 526755095 254167164 993786079 957144144 154693260 658212287 717390689 565554630 989696303 79323336 308705211 560637528 525617132 318110611 765137854 -1 140395123 391779414 700120477 638293140 984895249 417425319 379109457 770847694 784597145 594204193 782619049 494751627 997299598 112302971 79323336 358191652 976942240 600962339 566096351 903297209 403334160 335743200 610932880 3090244 329542777 901803305 365035648 725418770 577714620 297175900 823787812 420773560 681823792 832494905 203493552 758575350 254528769 102379477 72621546 527897224 982554231 961821360 469035792 697374453 782927012 686385319 413843857 982693874 888304663 244195221 163091630 391779414 237773442 682038125 764751417 401672699 801326287 411999902 602915291 329959527 -1 520086201 561553313 29734308 532803555 820211254 807820896 330318834 734712823 425469326 223785502 938954818 593587398 112624754 864350394 868211619 491294665 107596959 723933984 519762398 387384744 685097645 28416726 175590565 79213361 494923774 373771611 842306692 741339101 97299507 175590565 763183908 275463593 367754743 42277380 57551192 729352677 590783394 55517047 459789430 916321789 229515163 191697350 358191652 580283317 559785274 32796250 997432376 249558965 295504204 494950691 987705926 600962339 332773543 295805912 55517047 13841075 319424815 330583346 301334993 937638157 203018461 820211254 679670176 254528769 457715535 857102413 13841075 381881872 883564101 53028773 622823007 761888635 181721636 668250239 864561721 676685933 938446553 777440440 295958449 469743398 535432483 559785274 565554630 286319692 688597242 -1 901304975 705118513 623090438 408497768 894267291 175884183 -1 593282222 -1 939563959 454563819 117347524 26905429 91064641 500268473 177905368 730756715 461274569 252012472 283107224 386935154 916321789 514721585 317871021 602811046 461274569 982693874 281083465 241693686 26375227 524542574 885077908 664490073 45426260 880844104 690664050 705622548 847840320 691740164 327982936 132774876 817693389 688380735 603620710 28576479 593282222 681823792 542986495 244883660 262575582 433114786 904818318 730756715 433756914 980134651 782619049 335743200 542661640 628220249 150137560 571736161 910794274 693375965 365679164 211550817 403334160 852837035 33812208 425469326 979285058 55517047 115470851 685423362 67075526 217928587 880446976 425469326 490142300 533560917 34685076 593587398 391779414 638293140 451474906 724422672 591284702 92160628 750763843 532803555 667300705 469743398 527985132 880938198 750429264 987705926 110012494 768744535 541463939 645695407 228137178 248636995 623090438 619868736 335743200 263798126 565554630 451474906 319379178 244195221 33812208 907772025 335743200 43392732 42277380 437517579 19140171 246216644 291386915 578238211 586392635 909186692 622918995 888304663 345392984 758575350 352508141 782927012 220059095 431837446 102379477 645276436 39885396 249558965 276260520 345102555 977467597 280856350 505655512 243341711 982693874 408244002 618312173 378409769 730756715 239987054 789404113 72621546 155997760 882812597 572311287 711503207 950862675 140395123 940104206 755527023 163091630 33812208 676709331 791932302 668250239 817693389 914291169 670979891 490869221 372510013 593282222 34685076 730824918 372510013 860724917 541460419 21873594 864350394 499941413 807648187 710113373 420773560 901304975 849035201 149830598 321467204 163091630 110012494 532861718 685097645 750429264 13841075 377651896 950629972 177905368 691504106 769837665 579690895 553190572 435984127 790809628 980134651 490142300 444874800 578238211 823933296 400907045 708274346 873072247 417425319 723200871 789404113 711501588 246216644 413494386 248636995 13841075 893652215 818014838 613084013 579991057 938446553 741339101 664295306 641164921 416739210 -1 368935143 275463593 719457202 639572212 561494895 989696303 373771611 822261941 138790019 626807589 867723620 407009263 329574367 993786079 610932880 444874800 208028672 197307546 319379178 271516194 560455121 610895287 871898006 12903603 254756796 400907045 336862767 229515163 72621546 901304975 976942240 750763843 977619929 43392732 588150191 667841561 746419439 518109595 433439854 638076633 662235717 849035201 54153332 354949635 658388576 330785266 891573253 868838278 904818318 997432376 574417829 842306692 939946968 559785274 319379178 691740164 368704535 914206506 683531283 211550817 229821643 974521569 638076633 780117964 363811064 682038125 112302971 301714930 984117471 707186544 117303447 469384372 54164180 603690869 165622114 357329820 284387166 845211351 602915291 411907778 789404113 541463939 416756465 703311448 215802236 790909002 127278512 254528769 60978603 519762398 469035792 312308223 667300705 664295306 894267291 437517579 16475116 198628726 115470851 957144144 580918883 495712606 211550817 645695407 580470806 303139271 19140171 448316745 461649452 203018461 893652215 655834254 760624728 666590606 850636024 614297261 542986495 755527023 819523467 728492414 566034579 443342808 669655791 541460419 999674172 36050763 377651896 940104206 368764047 791932302 275610416 146197290 -1 882812597 7545447 54153332 433114786 495336832 977467597 982581137 989696303 78898063 614459776 610932880 175144765 782619049 137132982 428747955 635671105 791932302 663667470 422331486 159056677 973579758 18299476 219896364 766504018 57551192 491978273 29287119 -1 432069691 171221433 695553778 612885490 263636646 667300705 572311287 127278512 286319692 296417374 26905429 46410909 499941413 628984381 367754743 308705211 77564723 186539666 60081926 146171038 997299598 765954927 730756715 742174392 980134651 637964511 28576479 354949635 750429264 284859244 532861718 779829204 57801759 526755095 770847694 524542574 631700842 762227828 833246783 29592557 786075537 602811046 432504521 149830598 194126353 357329820 645695407 -1 208877360 215802236 198703751 749101296 244155041 710730165 953838288 554782737 284700142 699856917 867933639 669125354 634536293 711503207 717390689 41260287 -1 321467204 755527023 868838278 789495739 505655512 531136661 707186544 845459462 97299507 634983639 284696682 780117964 223030820 337502849 538432928 426480224 206014003 19140171 203493552 481127177 271516194 526755095 622823007 198016418 22576092 239254051 861115508 494923774 526755095 910994573 420773560 782619049 135519629 780117964 968396048 782594982 850636024 284387166 368935143 60978603 317871021 659932705 138533159 675573324 614593757 252012472 32796250 880665324 750769230 943374902 424697572 946112218 533367205 29592557 663946492 -1 943374902 976942240 91064641 54153332 229821643 560455121 363457997 19140171 203580162 823933296 13384724 987705926 171221433 472516679 424697572 613084013 676709331 488751710 250810872 117303447 444874800 437517579 111985669 349032071 817331802 26905429 707186544 42277380 45426260 74820195 903297209 92160628 658212287 461274569 164542502 894267291 675786233 863667577 864561721 988919874 46945925 110556435 368764047 767047665 508037594 432069691 676709331 170824557 47116225 163789960 456401701 273365488 453407680 271708247 45426260 260946873 801326287 909186692 159056677 296417374 750156197 594204193 989747990 406483013 893897082 634983639 428413005 610069705 169614935 130580 46410909 78898063 711503207 199770581 211070558 231771136 119601349 239987054 286319692 768744535 531136661 903297209 857269083 873072247 561494895 352607876 473150723 354949635 987705926 345392984 28416726 568090820 197307546 943374902 992563691 171504845 203580162 624015614 17012234 495336832 916321789 531136661 155997760 894991717 893860727 533367205 109891495 838379139 271516194 725418770 741463146 107839247 867933639 830162158 533560917 526755095 111122929 110556435 729352677 730909832 354949635 604148770 525617132 418807544 817331802 170824557 922171930 26905429 295504204 602811046 489295045 719457202 562288215 167036027 421927353 165622114 59501988 199770581 907456227 524542574 734712823 433756914 999674172 880446976 740224085 673965031 116545387 669742991 216195055 966503495 750769230 672907310 520011864 731745766 610069705 942384956 623090438 355756362 14405655 659501910 420425052 950235340 70161655 729178187 974521569 26905429 368764047 338370105 580918883 428413005 211550817 217928587 864561721 908705907 626807589 334677549 828722364 592274818 610613670 675786233 723933984 729941138 601762202 524542574 18299476 295504204 966503495 431837446 713199217 590783394 763183908 799467751 271708247 741339101 95443860 84208996 831985335 991188064 194126353 36050763 777440440 306767836 830544982 806195787 575485118 113804160 41524303 951926549 774149146 57551192 433114786 428142800 988919874 448316745 -1 251692591 705622548 623090438 239987054 92160628 864561721 46410909 903297209 535432483 165753 488751710 29734308 208028672 676709331 438872920 818014838 211070558 43897314 -1 922171930 667841561 338370105 675786233 368935143 113811391 784597145 306767836 308232133 523542917 912506727 595427792 740224085 832494905 238951985 763183908 79213361 416739210 508037594 788878491 308232133 769837665 149830598 807262913 13841075 942384956 669742991 665446719 758575350 456487084 785376602 34685076 411999902 393835525 149830598 750769230 130431610 296417374 612885490 239987054 365407761 726124644 206644601 4610166 263636646 627589268 71713295 96109344 673965031 481127177 819963767 700120477 766504018 162425880 413843857 979285058 77299524 680666684 823933296 863667577 165622114 838379139 604148770 319379178 424697572 833220245 97299507 566034579 564190579 17012234 171221433 688597242 882812597 908705907 992563691 346188490 741463146 639572212 854398124 670979891 4610166 695553778 991067365 228902962 43897314 979580407 562288215 86256730 812752908 239254051 53590481 378610966 260307180 94630229 192251969 828722364 71713295 37724537 229405480 214317232 3090244 102379477 676685933 452820542 378409769 182659876 635671105 703311448 757544011 228902962 830544982 275463593 39885396 679521131 365407761 213926602 189854783 140395123 695553778 527985132 377651896 575485118 206644601 408244002 348123399 904818318 724422672 33812208 789404113 155997760 527897224 782619049 491543933 729352677 38372578 22393976 186539666 904818318 682038125 984895249 688597242 984117471 623188968 330318834 377651896 57801759 701070480 346188490 341012648 689897360 916321789 780117964 817693389 249558965 551345512 432504521 986331373 308705211 63243152 274831438 203580162 448316745 127278512 73453883 36050763 868838278 599555786 593587398 150137560 524542574 555548888 500268473 800463769 508037594 849035201 416739210 142117376 159056677 699856917 842306692 239254051 988919874 363579344 560637528 748186132 907456227 406483013 385144989 461649452 159647580 188196698 275463593 702444538 675786233 864561721 156929061 705118513 562288215 626837013 602915291 859930182 938446553 518109595 860724917 495712606 503810504 689608865 238951985 644336340 138790019 206014003 610069705 867933639 115470851 680666684 395983136 566096351 596367148 386381016 73453883 199386661 713199217 984117471 628220249 885164572 427675535 613084013 721867658 901304975 561494895 719457202 95779603 281598862 579690895 871898006 470690645 165753 358191652 989696303 526755095 140113105 766504018 850636024 330583346 659932705 424697572 211070558 588150191 329542777 491294665 415965469 807262913 472407762 3090244 406483013 424697572 507142051 627561325 705622548 426480224 372510013 36050763 543122079 685097645 712694937 19140171 834500260 997432376 26905429 563823514 535432483 209977170 746419439 199386661 476084224 769837665 681823792 914291169 769854437 293155218 295958449 -1 628220249 628220249 159647580 600962339 211070558 219896364 171221433 201066749 977467597 614297261 368764047 67075526 858159813 149052945 211550817 860724917 484471406 838379139 373683372 708274346 301714930 609637013 280856350 214317232 753145692 976942240 298868262 563675995 211333607 532861718 28416726 982581137 975269268 232531633 275610416 421927353 711501588 451474906 966561320 349032071 358191652 263636646 484471406 453407680 907772025 92112290 229515163 499941413 114396999 590783394 229821643 355756362 591700510 693375965 730756715 565554630 989696303 427618367 537867109 644336340 332773543 559785274 203018461 375673341 207023050 163789960 115470851 72263116 355126439 378610966 117347524 63562141 336862767 812752908 562309509 395983136 644187365 909186692 110012494 206644601 -1 831985335 703311448 582319429 879954113 533560917 49212342 859962837 70161655 638076633 154693260 761888635 426480224 782594982 444874800 543006155 977619929 434526689 628220249 57551192 95443860 942384956 231771136 819523467 572589546 114396999 60081926 60081926 32466209 354949635 368704535 992563691 428142800 627589268 336688564 667300705 939946968 729352677 660738659 431837446 262575582 490142300 721120553 857102413 679670176 110556435 117303447 819523467 337458711 784597145 333260763 206287347 306854073 208877360 651109313 477076784 702444538 761888635 284859244 349032071 753145692 138533159 580884227 43392732 425469326 420342620 627589268 527897224 679521131 992563691 831985335 281083465 163983150 401672699 476084224 491294665 680666684 765954927 217928587 861208333 95443860 -1 560455121 318110611 416756465 288542157 448707988 580884227 602811046 333260763 295958449 916321789 580283317 859930182 789495739 303139271 514721585 327982936 283107224 260307180 602915291 690863334 817331802 223785502 368764047 631700842 938954818 857102413 34030354 680666684 801326287 72621546 628220249 -1 417425319 140113105 72621546 673965031 745215401 814490763 850101344 379109457 137132982 407009263 604148770 819523467 897789362 112624754 647427996 675573324 660738659 183843307 668250239 580283317 533367205 428413005 161017478 730909832 857102413 163983150 239254051 560556517 938446553 897789362 833220245 724422672 464037621 208493418 288628682 923159887 672907310 70161655 265395517 274831438 833220245 -1 975269268 206644601 32466209 838379139 770278321 264549124 525617132 830162158 977619929 532803555 163983150 957643716 169614935 295805912 358362276 223030820 543122079 669655791 903297209 170824557 117347524 306854073 591284702 763856958 411999902 154693260 182026506 689897360 411999902 146171038 346394348 904818318 563823514 942384956 903297209 982581137 241693686 335743200 199386661 561494895 399202754 375673341 789495739 774937853 645695407 368935143 610932880 854398124 60081926 130431610 472407762 902419092 92160628 363579344 145847415 854062217 822261941 115470851 308705211 117303447 431837446 563732029 904818318 828722364 262575582 461274569 551345512 367754743 632336991 533367205 937638157 301714930 123550994 580283317 784597145 446355059 831985335 718229961 72794624 363811064 901803305 635671105 74820195 596943234 426480224 567416830 666590606 113811391 769545495 426480224 56105859 767047665 198016418 13841075 456401701 833220245 175554418 346188490 335743200 165753 330318834 908705907 284387166 433114786 961821360 689897360 819963767 238442797 378610966 263636646 130431610 73453883 782927012 599555786 113811391 739554266 818014838 372510013 165753 217928587 860724917 344240078 800463769 325287502 857269083 590138438 238442797 660738659 428142800 86256730 660639438 578238211 750769230 865880334 400907045 247165890 834500260 132774876 991188064 849123482 709403855 822261941 543122079 110556435 208877360 891436447 665446719 938954818 456863895 335890204 408244002 561494895 537867109 907456227 758575350 836680980 680666684 435984127 115470851 88469907 689897360 377651896 965067805 387518405 352508141 728492414 318110611 688597242 132774876 34030354 555548888 275610416 109891495 336688564 820211254 784597145 859063396 389956215 518109595 338370105 722672739 63562141 317871021 494923774 690664050 461649452 880844104 244155041 860724917 243341711 801326287 823787812 531136661 942297502 659501910 -1 614459776 612885490 182026506 97299507 579783784 784597145 28416726 865880334 337458711 852782081 484471406 842306692 750763843 916321789 77564723 977619929 705118513 379109457 562309509 387384744 894991717 -1 614593757 191697350 379109457 688597242 880665324 156929061 211070558 336862767 330318834 560556517 982581137 524972471 725418770 614593757 95779603 344240078 967987535 861115508 770680522 997432376 847840320 891436447 389956215 979580407 850351456 36050763 845459462 293155218 459789430 137132982 532803555 464037621 112624754 739554266 22576092 563675995 112624754 60744503 553190572 54153332 46410909 634983639 401672699 198703751 863667577 631700842 197115342 273365488 532803555 907456227 368704535 431837446 812140416 381881872 97299507 669742991 325287502 768744535 818829472 403334160 46945925 86361620 679670176 130431610 722672739 43897314 613084013 59501988 -1 641205608 154693260 199770581 79323336 251692591 555828167 305936785 270206207 47116225 494923774 689897360 -1 765137854 291386915 857102413 325845006 137132982 658388576 782927012 651109313 697184458 980936845 888304663 600962339 974521569 574417829 408244002 647427996 782619049 986331373 381881872 421927353 485683712 317871021 854062217 842871738 220059095 645276436 524542574 155906400 57606083 393835525 757544011 319424815 751964866 992563691 288542157 73453883 833246783 560637528 495712606 935910737 977619929 252012472 123550994 626837013 807262913 407009263 113804160 613084013 577714620 979580407 54164180 26537314 156929061 171221433 453407680 381881872 938914563 198628726 54164180 88469907 26537314 432069691 -1 175590565 243995015 461649452 302277738 580918883 695553778 77299524 685423362 857269083 29734308 751316591 505655512 577714620 914206506 87162480 749101296 745924515 599555786 867933639 626807589 591700510 372910848 750156197 290604263 927530478 457715535 488751710 863278761 32466209 400907045 730756715 247165890 477076784 667300705 438872920 985045640 683531283 295504204 387518405 909186692 734712823 155997760 100130908 318110611 590138438 363811064 524972471 922220234 -1 789404113 232018015 761888635 784597145 836680980 894267291 22576092 609637013 656489207 788878491 675786233 997432376 107596959 55517047 908463563 901304975 112624754 302277738 203493552 571736161 427618367 494923774 789404113 711501588 761888635 118534662 817331802 203580162 669655791 296417374 756425389 563732029 704672739 579690895 730824918 943374902 417425319 237773442 274831438 676685933 533367205 46485154 697374453 742174392 688597242 28576479 997299598 861208333 873072247 72643683 942297502 842871738 644187365 980936845 416739210 411999902 186539666 937638157 532803555 484471406 893652215 73525554 332773543 197307546 965067805 389956215 137132982 3090244 214924123 846213413 537867109 392826688 638293140 77299524 169614935 47116225 389956215 -1 757544011 94630229 799467751 271516194 951926549 907456227 982581137 149830598 453407680 755527023 94630229 663946492 155997760 882812597 864350394 72794624 260307180 415965469 -1 670979891 416756465 337458711 514721585 667169560 830162158 197307546 181721636 942045496 612885490 452820542 578238211 485683712 651109313 421927353 681690682 830162158 942384956 763183908 348123399 909186692 681690682 223030820 244883660 799467751 110012494 247165890 155906400 903297209 46485154 593587398 84062198 192251969 961821360 -1 4610166 329959527 21873594 13384724 724422672 908705907 567600315 769854437 939946968 937633254 861383306 47116225 659932705 95443860 56105859 697184458 201066749 17012234 553190572 183843307 658388576 427618367 848715178 861115508 110556435 626837013 500268473 92112290 967987535 205644911 116545387 850351456 626837013 914291169 770278321 644187365 415965469 549323513 769854437 914206506 749101296 786892734 472407762 681690682 750156197 980134651 784597145 462383923 56105859 229405480 599555786 987705926 940104206 92112290 946112218 524972471 685423362 469384372 830544982 999101537 491543933 683489839 719457202 368764047 702444538 729941138 102379477 216195055 861383306 806195787 425469326 163983150 97299507 634536293 768744535 688380735 232531633 555828167 850636024 577758652 718229961 303139271 12903603 561494895 374972287 632336991 961821360 446355059 263798126 199386661 198703751 622823007 686865014 37081879 188196698 454563819 67592009 999101537 745924515 665446719 560637528 34584857 527985132 756425389 60978603 484471406 507969865 451474906 675786233 291386915 565554630 97299507 111122929 60978603 79323336 525617132 885164572 54164180 819963767 73453883 386381016 997432376 154693260 561553313 149052945 660040051 167415720 401672699 522063456 689608865 565554630 997432376 526755095 704672739 769837665 599555786 763856958 750429264 722672739 36050763 784597145 476084224 663946492 790909002 22576092 656489207 739554266 494751627 850101344 880665324 239254051 116545387 867933639 197115342 79323336 262575582 753145692 345072009 789404113 379109457 780117964 138533159 669655791 427618367 265395517 624015614 327982936 614593757 273365488 102379477 203580162 680666684 428142800 247165890 691504106 79323336 668281990 122067182 880665324 271516194 336688564 723200871 767047665 559785274 647290016 627561325 165753 374972287 264549124 563823514 308705211 208877360 644187365 586985028 274831438 848715178 791183444 32796250 891573253 428413005 229515163 32466209 660639438 325287502 730824918 427675535 318110611 63210631 850101344 764751417 701070480 246216644 413494386 659932705 214924123 850351456 346188490 579783784 938954818 56105859 750429264 564190579 41524303 524542574 614297261 591284702 262575582 760593154 750763843 354949635 345102555 514721585 970265761 865880334 -1 525617132 890844482 578238211 507969865 676709331 263636646 164542502 784371166 842871738 -1 16475116 745924515 92160628 673965031 683531283 721867658 804352169 622918995 318110611 836680980 880844104 761888635 721867658 248636995 774149146 667169560 774937853 542661640 17012234 662235717 937633254 590603969 298868262 711503207 325845006 386381016 880844104 982693874 891436447 523542917 53028773 13841075 91064641 801169129 723200871 644336340 683489839 428142800 786969334 237773442 631700842 127278512 564190579 286319692 997299598 433756914 863667577 332773543 984895249 628220249 481127177 790909002 542986495 704672739 659501910 92112290 70161655 644336340 446355059 686865014 156929061 194126353 726124644 731745766 448316745 -1 466852129 879954113 386935154 801402068 336862767 159056677 170824557 159647580 251692591 939946968 507969865 438872920 198016418 907456227 907772025 63243152 3090244 339350524 635671105 468107571 377651896 232531633 384604556 149830598 -1 651109313 243995015 117347524 542661640 67592009 976942240 207023050 199386661 961821360 965993467 484471406 344240078 77564723 508037594 784597145 691214891 262575582 379109457 175884183 666590606 942297502 -1 96109344 800463769 163983150 667841561 622823007 709403855 897789362 627376276 368779111 942627653 795730704 73453883 865880334 916321789 354949635 41524303 488751710 628220249 804352169 644187365 117303447 271516194 806195787 13841075 345072009 123550994 779829204 462383923 880844104 244195221 461274569 784597145 730756715 327789615 358191652 130431610 138790019 471865558 54164180 685423362 891436447 668250239 710730165 564190579 29287119 400907045 237773442 17012234 795730704 852782081 716182336 577714620 725418770 664295306 784371166 239987054 628984381 861383306 769545495 490869221 910794274 904818318 676685933 989696303 363811064 614459776 997432376 17012234 352508141 673965031 919585635 365679164 868838278 861115508 541463939 818974853 41524303 363457997 378409769 578238211 632336991 718577411 818974853 740364356 777440440 107596959 580283317 538432928 582319429 716182336 937638157 756425389 620059513 663946492 268947673 260307180 271516194 349032071 171221433 254528769 119601349 817693389 22393976 327982936 63210631 729178187 500268473 750769230 661932839 138533159 997432376 37081879 365679164 966561320 991188064 834500260 77299524 352508141 270206207 16475116 47116225 387518405 830994144 543122079 428142800 175590565 355126439 291386915 -1 308232133 982554231 658388576 861208333 415965469 883564101 668250239 354949635 407009263 850351456 842871738 780117964 270206207 827132364 710113373 112624754 957144144 327789615 16475116 753145692 238442797 78898063 631700842 53590481 -1 325287502 49208976 79097209 950235340 198628726 531136661 730756715 920219729 130431610 281598862 54164180 19140171 220059095 468199498 591700510 784597145 782619049 378409769 39885396 -1 725418770 286319692 979285058 537867109 512615132 901304975 286319692 46410909 602811046 434526689 595427792 697374453 219896364 786892734 807262913 400907045 171504845 209977170 239987054 13384724 880844104 660040051 770278321 441949925 276260520 288542157 323513395 330785266 263798126 692204091 248636995 295504204 622918995 817331802 198703751 618312173 834500260 593587398 169614935 365407761 647290016 499941413 386381016 433348815 11796756 563823514 524542574 420773560 363457997 130580 484471406 655834254 234968285 988919874 723200871 740364356 854062217 724422672 211550817 29734308 999101537 613084013 458547544 251692591 393835525 595427792 208028672 614297261 563823514 466852129 175884183 532861718 647911422 244155041 400907045 21873594 54164180 618312173 275463593 679670176 488751710 970265761 842306692 296417374 731745766 57606083 214924123 470803824 181721636 424146759 761021239 206644601 205644911 182026506 586985028 -1 319424815 296417374 208877360 991188064 475822349 675573324 165753 341012648 391779414 406430184 182429059 541460419 60081926 566096351 553190572 55517047 424697572 432504521 213926602 770847694 100130908 818974853 645276436 424697572 175144765 679521131 729178187 -1 319424815 16475116 433439854 992563691 982554231 163789960 893897082 682038125 306767836 560455121 609637013 586985028 150137560 721867658 967987535 238442797 788878491 494950691 475822349 644187365 847840320 761888635 902419092 138533159 688597242 495336832 631700842 262575582 830544982 699856917 984895249 801402068 807820896 699856917 988919874 209977170 159647580 832494905 562288215 635671105 13841075 566034579 446355059 365407761 275463593 532803555 466034328 641205608 379213018 734712823 679521131 998120269 702444538 456487084 213926602 977619929 660040051 434526689 321331882 485683712 801402068 177905368 424146759 232018015 386381016 757544011 686865014 301334993 466034328 894267291 596943234 577714620 211070558 909186692 701070480 86361620 379213018 91064641 834500260 355756362 729178187 675786233 244155041 819963767 378409769 712694937 340301060 14405655 660040051 18299476 149830598 548806448 590783394 782594982 137132982 490869221 562309509 459789430 669655791 571736161 909186692 424146759 679521131 770680522 163789960 579991057 774149146 686649778 565554630 764751417 377651896 339350524 298868262 420425052 993786079 155906400 327982936 207023050 247165890 457715535 663946492 243341711 209977170 942384956 818974853 327982936 373771611 632336991 461274569 741339101 763856958 186539666 849035201 601762202 830544982 663946492 894267291 417425319 348123399 198628726 109891495 471865558 786892734 535432483 46011383 291386915 54164180 337502849 763183908 250810872 505655512 312308223 247165890 591284702 997432376 845211351 329542777 229515163 951926549 623188968 372510013 865880334 156929061 880938198 75228974 761888635 155376172 171504845 577714620 730909832 647911422 66483968 117347524 731745766 645276436 475822349 271516194 740224085 531136661 991188064 284387166 437863021 490142300 560556517 28576479 107808575 223030820 695553778 206644601 406568384 950235340 422331486 718577411 912506727 53590481 46485154 818974853 411999902 975269268 632336991 859930182 590783394 413843857 491978273 270206207 721867658 847840320 768744535 33812208 96109344 832494905 710730165 275610416 437863021 335743200 750429264 465892383 507969865 514721585 634536293 426480224 34685076 644187365 518109595 335890204 610932880 26537314 541460419 592274818 890844482 639572212 527897224 590603969 863278761 349772488 18299476 466852129 637964511 -1 697374453 301714930 459789430 939946968 770847694 -1 355126439 639572212 751316591 848715178 238951985 102379477 34030354 922171930 883564101 667300705 288628682 857269083 244195221 749101296 358362276 95779603 770847694 761888635 623188968 325845006 244883660 345072009 456863895 336688564 676709331 425469326 505655512 349772488 704672739 563823514 329574367 241693686 162425880 425469326 290604263 881489135 81866966 336862767 833246783 984117471 171504845 444874800 565554630 750429264 86256730 54164180 223030820 454563819 149052945 491294665 254528769 541460419 555548888 472516679 728357838 421927353 201066749 16475116 198628726 883564101 84208996 999101537 594204193 750429264 688597242 434526689 672907310 254756796 935910737 590603969 470690645 857102413 660738659 254528769 47116225 709403855 379213018 769837665 408244002 524542574 628220249 575541534 2433982 155997760 59501988 306854073 327789615 365035648 198016418 600962339 705118513 109891495 194126353 84062198 858159813 288542157 75228974 830994144 569422962 254528769 26537314 679521131 481127177 251692591 318110611 416739210 413494386 239987054 989747990 12903603 801402068 543006155 507142051 490142300 590138438 177905368 610613670 59501988 489295045 961821360 627561325 462383923 858159813 437863021 679670176 619868736 3090244 668281990 582861386 859063396 641164921 594204193 81866966 645276436 705118513 444874800 814490763 175554418 784371166 857269083 543122079 500268473 791183444 730824918 785866095 639572212 244883660 592274818 389956215 182429059 281598862 431837446 92112290 670979891 638293140 -1 553190572 214317232 260946873 873072247 690863334 92160628 718577411 -1 610613670 688597242 74820195 560637528 248636995 612885490 375673341 355756362 137132982 43392732 670408229 365035648 859962837 417425319 819963767 726124644 786892734 567600315 635671105 7545447 631700842 938954818 424697572 372910848 321467204 852782081 393835525 718229961 16475116 807262913 751316591 695553778 850636024 863278761 679521131 211070558 333772685 942297502 854062217 770680522 207023050 243995015 41524303 81866966 542986495 722672739 468199498 -1 578238211 159647580 748186132 49208976 427675535 596367148 111122929 679275202 -1 999674172 150137560 602915291 626807589 234968285 705118513 571736161 909186692 215802236 318110611 568090820 726776295 989696303 665446719 985045640 523542917 280856350 415965469 238442797 620059513 965993467 505655512 659501910 868211619 627561325 823933296 852782081 110012494 702444538 432504521 107839247 -1 171221433 79323336 937638157 414918047 338370105 861383306 725418770 363457997 590783394 836680980 421927353 660738659 181721636 567416830 296417374 977619929 533367205 705622548 762227828 508037594 132774876 968396048 461274569 107596959 660738659 491294665 197115342 618312173 192251969 638293140 368935143 659932705 623090438 998120269 163789960 63243152 273365488 254756796 79097209 542986495 32796250 165753 849035201 580470806 740224085 174295016 138790019 400907045 319379178 18299476 661932839 914206506 628984381 957643716 336688564 283107224 628220249 634536293 213926602 563732029 721867658 92160628 749101296 495241145 92160628 659501910 542661640 984117471 208877360 791183444 307476694 850101344 199386661 997432376 880446976 740224085 49212342 165753 982581137 406717194 271708247 332773543 165753 346394348 252012472 425469326 690664050 197307546 938914563 333772685 505655512 339350524 286319692 245677831 608724072 188196698 262575582 695553778 458547544 848715178 49212342 639572212 848715178 818014838 489295045 596367148 688597242 669742991 115470851 306767836 601762202 296417374 832494905 627561325 484471406 777440440 965067805 675786233 465892383 206644601 679670176 626837013 520011864 914206506 349032071 66483968 923159887 168494769 524972471 345102555 206287347 13841075 398981201 914291169 18404492 231771136 938954818 349032071 995194212 669125354 77299524 234968285 957643716 491543933 86361620 645695407 475822349 88469907 217928587 631700842 489295045 645695407 930790502 437863021 580918883 206287347 281083465 46410909 849035201 164542502 77564723 800463769 888304663 263798126 951926549 113811391 638076633 57606083 857102413 264549124 850351456 451474906 519762398 -1 391779414 681823792 317871021 709403855 935910737 604148770 469743398 29272319 753145692 700120477 156929061 432504521 199386661 627376276 817693389 203493552 357329820 -1 861383306 422331486 477076784 722672739 541460419 428413005 980936845 535432483 182429059 609637013 914206506 363457997 92112290 220059095 812752908 43897314 298868262 43897314 -1 782927012 883564101 986331373 859962837 966561320 275610416 980936845 751964866 695553778 680666684 142117376 198016418 880938198 437517579 746419439 507969865 991067365 592274818 22576092 238442797 645276436 276260520 368764047 461274569 531136661 801169129 372910848 873072247 392826688 912506727 572589546 372910848 673965031 387518405 871898006 275463593 970265761 729941138 833246783 789495739 422331486 368779111 215802236 683489839 785376602 766504018 209977170 603620710 852782081 722874144 408244002 508037594 95443860 786892734 571736161 477076784 115470851 868211619 63243152 296417374 882812597 548806448 107596959 904818318 660040051 288628682 965993467 444874800 469743398 600962339 -1 39885396 363579344 903297209 365407761 494751627 386381016 337458711 295504204 672907310 203493552 723200871 413494386 182659876 574924220 491978273 63210631 46410909 953838288 950235340 47116225 411907778 60744503 746419439 284387166 114396999 43897314 639572212 774149146 997432376 461649452 523542917 850101344 11796756 712694937 522063456 541463939 63243152 216195055 495241145 651109313 434526689 130580 43897314 868211619 377651896 165753 175554418 488751710 214924123 637964511 115470851 499941413 770847694 84062198 984895249 306854073 417425319 527897224 159056677 970265761 722874144 381881872 730756715 329959527 399202754 750156197 421927353 22576092 100130908 337502849 407009263 386381016 199770581 883564101 57801759 42277380 572311287 822261941 308705211 86256730 46485154 189854783 912506727 660040051 214317232 564190579 685097645 46410909 863278761 113811391 979580407 411907778 676709331 270206207 634536293 472407762 726776295 859930182 718577411 135519629 398981201 408244002 208028672 28416726 480210823 32796250 11796756 472516679 965993467 885164572 349772488 610613670 766504018 357329820 161017478 145847415 682038125 691504106 444874800 836680980 579783784 241693686 979580407 920219729 860724917 638076633 622823007 365407761 456401701 672907310 891573253 417425319 562309509 446355059 363457997 861208333 73525554 223030820 435984127 881489135 914291169 723200871 691740164 198628726 957144144 729178187 627589268 174295016 663667470 112302971 393835525 976942240 96109344 748526814 254756796 206644601 424697572 880938198 130580 323513395 291386915 632336991 270206207 739554266 815472010 155997760 705622548 26537314 946112218 957144144 115470851 619868736 33812208 961821360 817331802 494923774 110556435 123550994 433348815 946112218 281083465 408497768 722672739 345102555 262575582 960643177 859063396 519762398 -1 298868262 237773442 271516194 485683712 355756362 834500260 140113105 84062198 741463146 891436447 18404492 726776295 880665324 215802236 520011864 682038125 433439854 710113373 688597242 140395123 462383923 578238211 660738659 426480224 686865014 922171930 284700142 729941138 112302971 348123399 198703751 942045496 -1 488751710 868838278 555828167 433756914 203018461 79213361 686649778 537867109 979580407 333772685 271516194 979580407 229405480 254167164 111122929 977467597 88469907 857102413 610613670 731745766 72794624 346394348 491978273 248636995 566096351 3090244 771459106 92160628 209977170 417425319 685423362 149052945 268947673 198628726 433348815 115639466 527985132 265395517 981763217 174295016 297133830 579991057 86256730 601762202 782594982 833220245 22576092 214317232 688597242 842306692 100130908 291386915 938446553 942384956 495336832 937633254 79097209 209977170 566034579 206287347 29272319 980134651 3090244 688597242 165622114 495336832 59706771 710113373 486307671 729941138 495336832 494950691 491978273 280856350 722874144 881489135 307476694 146171038 344240078 859962837 967987535 703311448 705118513 976942240 387384744 571736161 211550817 997299598 620059513 745215401 871898006 613084013 669125354 763281688 444874800 203018461 746419439 709403855 365407761 216195055 683531283 197115342 113804160 852782081 175554418 428413005 28576479 591284702 434526689 21873594 580918883 822261941 171504845 162425880 656206261 319379178 63562141 532861718 549323513 489295045 198016418 490869221 499941413 902419092 580918883 33812208 288542157 329959527 864350394 551345512 308705211 854062217 919585635 970265761 378409769 427618367 303139271 731936598 951926549 609637013 722672739 958339854 112302971 500268473 262575582 999101537 782619049 298868262 670408229 208028672 387384744 340301060 601762202 92160628 254167164 113811391 477076784 208028672 683489839 560556517 774937853 919585635 223785502 39885396 426480224 395983136 767047665 22576092 599555786 535432483 73525554 683489839 602915291 79097209 466852129 548806448 77564723 18794770 476084224 669655791 666590606 33812208 730756715 209977170 372510013 368704535 770278321 446355059 352607876 767047665 582861386 250810872 766504018 762227828 730824918 34030354 679275202 503810504 860724917 468107571 471865558 87162480 53590481 88469907 656206261 12903603 610932880 3090244 997299598 114396999 96109344 619868736 807262913 795730704 290604263 333772685 610613670 663667470 433756914 499941413 834500260 249558965 183843307 854062217 838379139 968396048 500268473 820211254 604148770 864350394 563675995 165753 923159887 593587398 848715178 777440440 357329820 699856917 72621546 86361620 307476694 784597145 72263116 769545495 100130908 812752908 575541534 475822349 197307546 864350394 123550994 859063396 555828167 301714930 995194212 335743200 758575350 203018461 718229961 295805912 417425319 159647580 29592557 660738659 610932880 569422962 42277380 175884183 560556517 718577411 198703751 391779414 67592009 985045640 384604556 950235340 73525554 789404113 937638157 203580162 800463769 626807589 33812208 168494769 387384744 34584857 880446976 213926602 228902962 789495739 461649452 845211351 298868262 473150723 861208333 665446719 13384724 833246783 769837665 86361620 864350394 246216644 232018015 34584857 880665324 239987054 428413005 207023050 18299476 284859244 527985132 901803305 950629972 574924220 830994144 79097209 634983639 203493552 692204091 458547544 527985132 751316591 29734308 254528769 29592557 302277738 569422962 904818318 857102413 22576092 471865558 566034579 668250239 930790502 563675995 522063456 939946968 -1 950629972 533367205 676685933 518109595 524972471 724422672 203493552 679275202 433439854 750429264 717390689 992563691 946112218 633637325 14405655 785376602 84062198 832494905 638293140 211550817 580470806 110556435 94630229 634983639 209977170 712694937 239254051 566096351 789495739 203493552 966503495 494923774 786969334 723200871 448707988 418807544 86361620 888304663 375673341 758575350 560556517 731745766 295504204 807262913 122067182 771459106 232531633 464037621 690863334 830994144 199386661 323513395 428142800 623090438 36050763 987705926 411999902 503810504 553190572 13841075 549323513 610895287 500268473 604148770 620059513 668250239 262575582 229821643 868838278 117303447 500268473 627561325 614459776 386935154 495336832 468199498 845459462 470690645 812752908 368779111 881489135 288628682 458547544 718577411 494950691 726776295 542661640 263798126 722874144 610895287 39885396 208028672 769837665 705118513 355126439 73525554 760624728 386935154 508037594 223030820 659501910 392826688 421927353 974448855 346188490 219896364 56105859 721867658 764751417 427618367 335743200 660639438 491294665 943374902 704672739 197115342 470803824 468107571 67075526 790909002 882812597 420773560 600962339 327789615 566034579 46011383 676685933 329959527 110012494 661932839 942297502 997432376 763281688 47116225 667169560 432504521 415965469 638293140 730824918 78898063 788878491 223030820 122896725 859962837 18794770 95779603 690863334 415965469 79323336 211333607 532861718 782927012 208493418 765137854 53590481 820211254 29272319 624015614 435984127 939563959 81866966 420425052 937633254 433439854 950862675 389956215 638011115 354949635 237773442 524542574 912506727 535432483 815472010 284387166 92112290 586985028 476084224 638011115 881489135 942297502 321467204 842871738 387518405 241693686 574417829 473150723 721867658 623090438 490869221 239987054 590603969 904818318 614459776 17012234 791183444 985045640 336862767 916738849 864350394 276260520 722672739 609637013 664295306 249558965 680666684 420425052 276260520 160366715 574417829 818014838 308232133 667300705 662235717 755527023 749101296 427618367 295805912 413494386 495241145 74820195 748526814 286319692 26375227 939563959 437863021 757544011 57606083 372510013 391779414 140113105 96109344 852782081 155376172 330785266 422331486 807262913 406568384 406430184 833246783 16475116 660738659 363579344 306854073 319424815 476084224 560556517 649175882 208028672 254167164 819963767 897789362 763281688 622823007 742174392 67592009 96109344 524972471 680666684 12903603 831985335 880446976 894991717 880446976 29734308 339350524 46485154 553190572 831985335 447434673 577714620 883564101 890844482 163789960 596367148 29592557 112302971 12903603 335743200 818014838 593282222 -1 416739210 729352677 976942240 543122079 753145692 656489207 888304663 838379139 250810872 527985132 593587398 79213361 993786079 217928587 446355059 675573324 43392732 807820896 238951985 854062217 411907778 939563959 392826688 965993467 268947673 999101537 301334993 842871738 718229961 142117376 604148770 437517579 29592557 84208996 54153332 670979891 491543933 86256730 453407680 312308223 334677549 95779603 109891495 507142051 535432483 748526814 893897082 741339101 327982936 60744503 780117964 680666684 799467751 77299524 248636995 582861386 301714930 651109313 29272319 28416726 769545495 560637528 433114786 985045640 782619049 305936785 293155218 987705926 260946873 63210631 307476694 942297502 349032071 473150723 406568384 203580162 198703751 908463563 634983639 92112290 667169560 608724072 54153332 957144144 428747955 542986495 572311287 386381016 437863021 690863334 119601349 378610966 987705926 973579758 688380735 100130908 763856958 700120477 154693260 518109595 365035648 175144765 524542574 659932705 471865558 560556517 693375965 424146759 958339854 219896364 624015614 559785274 146171038 847840320 341012648 864561721 784597145 763856958 211333607 238951985 160366715 348123399 664295306 385144989 246216644 614297261 600962339 426480224 680666684 416756465 387384744 847840320 818974853 574924220 815472010 789404113 938446553 -1 284696682 352607876 627589268 689608865 957643716 392826688 400907045 507142051 670408229 806195787 709403855 705622548 603690869 45426260 428747955 -1 238442797 741339101 689897360 599555786 470690645 659932705 288542157 575485118 485683712 321467204 456487084 79213361 718577411 330785266 213926602 763281688 352607876 -1 284696682 39885396 767047665 54153332 543122079 910994573 -1 999101537 271708247 637964511 78898063 503810504 112302971 656489207 957144144 527897224 795730704 641164921 237773442 211550817 533367205 229405480 17012234 842871738 251692591 239987054 163091630 92160628 729178187 693375965 372910848 130580 609637013 165753 345102555 670408229 551345512 518109595 426480224 428142800 768744535 203493552 284696682 664295306 610069705 910794274 333772685 92102199 861383306 318110611 84208996 203493552 624015614 800463769 685097645 980134651 871898006 169614935 669742991 730909832 280856350 725418770 37081879 244883660 638293140 818974853 572589546 447434673 92160628 973579758 683531283 593282222 490142300 465892383 340301060 107839247 626837013 730756715 71713295 769837665 252012472 346188490 433348815 197115342 325845006 997299598 295958449 644187365 113804160 208877360 92160628 26375227 555828167 426480224 834500260 974521569 782927012 916738849 19140171 365679164 753145692 -1 280856350 198016418 812752908 572311287 563823514 533560917 975269268 673965031 238442797 29592557 302277738 137132982 842871738 641164921 709403855 750429264 183843307 138533159 711503207 612885490 859063396 563675995 984182750 716182336 828722364 170824557 468199498 334677549 381881872 171504845 295805912 60081926 21873594 109891495 458547544 702444538 387384744 822261941 182026506 688597242 916321789 914206506 427618367 880844104 755527023 742174392 668281990 624015614 864350394 475822349 721120553 273365488 373771611 861383306 338370105 494950691 434526689 986331373 263636646 194126353 548806448 156929061 18794770 345072009 32466209 490142300 628220249 961821360 667169560 600962339 432504521 942297502 79213361 132774876 110556435 719457202 182026506 644336340 330583346 67075526 247165890 223785502 850101344 980134651 387518405 993786079 306854073 407009263 774149146 346188490 340301060 957643716 199770581 890844482 861208333 725418770 527985132 830544982 799467751 902419092 345392984 845459462 634983639 741463146 428413005 863667577 464037621 110012494 203018461 428747955 418807544 774937853 660040051 507969865 34584857 560455121 34685076 122067182 417425319 710113373 333772685 123550994 938914563 893860727 667300705 319379178 319424815 628220249 920219729 907772025 553190572 627376276 211333607 -1 223030820 639572212 563823514 919585635 237773442 175554418 647290016 368764047 863278761 199770581 254167164 999101537 170824557 357329820 768744535 84062198 119601349 249558965 3090244 658388576 828722364 580884227 786075537 401672699 155997760 32796250 63243152 663307073 938954818 208028672 63562141 748526814 819523467 942627653 831985335 658212287 333772685 237773442 260307180 325845006 337458711 880938198 850636024 533560917 22576092 842306692 456487084 208877360 293155218 543006155 660639438 408497768 559785274 159056677 296417374 854398124 551345512 705622548 490869221 305936785 228137178 577758652 428413005 623188968 452820542 618312173 692204091 542986495 774149146 194126353 174295016 566096351 378610966 165622114 60744503 638011115 433348815 901803305 163983150 664295306 337458711 819963767 620059513 555828167 461649452 46945925 937633254 308232133 219896364 770680522 140395123 462383923 231771136 91064641 823787812 893860727 486307671 78898063 260946873 788878491 691214891 901304975 634983639 170824557 79323336 297175900 612885490 268947673 750763843 198703751 336688564 730909832 41260287 168494769 888304663 4610166 500268473 367754743 208877360 346188490 109891495 828722364 348123399 490142300 168494769 135519629 950235340 206644601 79213361 596943234 63562141 883564101 514721585 308705211 140113105 348123399 81866966 333772685 666590606 345072009 693375965 451474906 336862767 286319692 217928587 888304663 408244002 627376276 435984127 717390689 403334160 431837446 -1 819963767 164542502 842871738 614297261 171221433 493264770 786892734 861115508 433439854 132774876 761021239 861383306 670979891 415965469 484471406 623090438 675786233 938914563 268947673 723200871 468199498 175590565 628984381 560814638 867933639 623188968 859962837 263798126 676709331 688597242 977619929 420342620 330785266 791932302 893652215 420773560 680666684 942045496 728492414 67075526 818014838 413843857 507142051 95443860 565554630 891436447 206287347 88469907 782927012 868211619 930790502 53590481 406717194 434526689 270206207 524972471 174295016 916738849 252012472 301714930 165622114 755527023 437863021 987705926 270206207 703311448 688597242 801402068 208028672 609637013 526755095 67075526 175884183 988919874 170824557 774937853 903297209 457715535 468199498 408244002 162425880 66483968 748526814 251692591 689897360 635671105 420773560 211333607 416756465 201066749 420342620 634536293 711503207 86256730 208493418 582319429 901803305 247165890 701070480 451474906 494923774 319424815 553190572 335890204 566096351 303139271 861115508 688380735 691504106 804352169 942045496 634983639 784371166 586985028 63210631 761888635 56105859 950235340 659501910 327982936 112302971 150137560 116545387 632336991 717390689 799467751 666590606 749101296 111122929 490142300 830162158 647290016 211070558 495241145 130431610 700120477 469743398 579690895 86256730 786969334 437517579 228902962 160366715 563823514 746419439 950235340 785247749 675786233 305936785 111985669 707186544 580470806 168494769 335890204 81866966 182429059 75228974 750429264 454563819 127278512 183843307 920219729 59706771 22576092 858159813 614593757 977619929 312308223 854398124 765954927 942384956 922220234 203580162 433439854 551345512 531136661 301714930 543006155 801169129 220059095 217928587 823787812 965993467 995194212 757544011 613084013 365035648 645276436 577714620 81866966 666590606 910794274 -1 319379178 579991057 859962837 88469907 770847694 586985028 215802236 523542917 562309509 980134651 165753 199770581 880446976 29734308 363579344 580283317 551345512 894991717 910794274 4610166 17012234 243341711 683531283 77299524 632336991 849123482 890844482 470803824 203580162 472516679 171221433 -1 725418770 763183908 54164180 560814638 766504018 946112218 850351456 399202754 836680980 484471406 273365488 807648187 115639466 686865014 403334160 327982936 437517579 330318834 246216644 335890204 710730165 591284702 604148770 610932880 352508141 155906400 763183908 682038125 577714620 398981201 535432483 288628682 977467597 34584857 422331486 109891495 981763217 711503207 762227828 691504106 406430184 408244002 444874800 18299476 332773543 580283317 135519629 830994144 39885396 462383923 512615132 127278512 938446553 115470851 107596959 150137560 56105859 660639438 910994573 845459462 908705907 710113373 118534662 614297261 281083465 880844104 953838288 39885396 213926602 891436447 171221433 907772025 593282222 149830598 424697572 818014838 335743200 526755095 830994144 155997760 466852129 807820896 660040051 942297502 318110611 32796250 908705907 243995015 786892734 92102199 146197290 603620710 208028672 591700510 999674172 451474906 203493552 641164921 167036027 92102199 681823792 522063456 79097209 232018015 150137560 116545387 633637325 110012494 29287119 22576092 602915291 32796250 565554630 86361620 766504018 645695407 39885396 560556517 146171038 647427996 858159813 658388576 880446976 290604263 336688564 938914563 -1 12903603 974521569 138533159 577758652 939563959 827132364 349772488 67075526 960643177 578238211 79213361 214317232 265395517 910994573 729941138 600962339 590603969 205644911 54164180 789404113 812752908 175590565 580283317 111122929 551345512 957643716 751964866 330583346 214317232 710730165 4610166 254756796 251692591 264549124 298868262 614593757 302277738 338370105 894991717 901304975 469035792 333260763 41524303 18299476 72643683 452820542 523542917 984895249 623188968 422331486 669655791 610613670 231771136 823933296 262575582 578238211 170824557 828722364 349772488 408497768 192251969 901304975 156929061 842871738 888304663 582861386 857102413 443342808 880844104 399202754 461274569 562309509 92160628 418807544 628984381 750156197 327982936 679670176 263636646 610613670 57801759 231771136 681823792 939946968 389956215 701070480 791183444 729352677 228902962 122896725 472407762 422331486 922171930 113804160 685423362 818974853 318110611 768744535 580470806 686385319 137132982 560637528 499941413 804352169 726776295 110556435 358362276 981763217 867723620 610895287 46011383 357329820 372510013 668281990 586392635 982581137 563732029 291386915 845459462 859930182 472516679 569422962 469384372 165753 194126353 880844104 155376172 472407762 710113373 170824557 760593154 543006155 400907045 527985132 800463769 914662962 462383923 726124644 495241145 67075526 214924123 894991717 748526814 836680980 107596959 729178187 593282222 998120269 750769230 812752908 750769230 770847694 717390689 162425880 907456227 345102555 344240078 72794624 21873594 232531633 72643683 432069691 301334993 863278761 321331882 938914563 675786233 858159813 859962837 432504521 788878491 722672739 533560917 67075526 894991717 433348815 189854783 411907778 406568384 724422672 722874144 11796756 670408229 588150191 -1 831985335 689608865 239987054 974521569 750763843 308232133 690664050 77299524 494923774 982581137 408497768 790809628 850636024 753145692 319424815 785376602 741339101 490142300 731936598 801326287 215802236 818829472 728492414 444874800 745924515 306854073 563675995 818829472 29734308 664295306 566034579 337458711 55517047 670979891 17012234 908463563 19140171 477076784 194126353 321467204 321331882 977467597 935910737 680666684 469035792 414918047 400907045 656206261 110012494 658388576 165753 329959527 634983639 577714620 87162480 688380735 198628726 248636995 568090820 575485118 349032071 988919874 817331802 74820195 432504521 214924123 807648187 494751627 63210631 19140171 613084013 11796756 908705907 859063396 271516194 79097209 551345512 667169560 664490073 2433982 163091630 182659876 731936598 721867658 373771611 162425880 37724537 459789430 349772488 491978273 538432928 18794770 942627653 520086201 434526689 711501588 789404113 659932705 84208996 407009263 831985335 465892383 622918995 923159887 980134651 1713096 70161655 355756362 72263116 92112290 991067365 77299524 910994573 339350524 122067182 578238211 859063396 935910737 254528769 523542917 817693389 70161655 181721636 916321789 632336991 73525554 569422962 244195221 38372578 865880334 907772025 130580 817693389 632336991 491294665 406483013 668250239 420425052 554782737 386381016 901803305 115470851 910994573 822261941 601762202 524972471 520086201 162425880 398981201 514721585 398981201 728492414 916321789 879954113 281598862 532861718 489295045 991188064 565554630 854062217 927530478 107596959 372910848 632336991 298868262 263636646 603620710 406483013 165753 604148770 531136661 575485118 214317232 325845006 741339101 336688564 560814638 375673341 577714620 950629972 668281990 627376276 586392635 861383306 452820542 524542574 984895249 13841075 330583346 750429264 37724537 731936598 216195055 922171930 520086201 667300705 284387166 658212287 188196698 244883660 441949925 849123482 263636646 46410909 644336340 566034579 73453883 295805912 150137560 219896364 867933639 718577411 490869221 238951985 633637325 46410909 670408229 375673341 815472010 181721636 116545387 349772488 659932705 368764047 490142300 243341711 39885396 470690645 987705926 263636646 54164180 7545447 919585635 745924515 603690869 11796756 321331882 561553313 17012234 864561721 868211619 667300705 437517579 387384744 182659876 465892383 407009263 786969334 871898006 867723620 786892734 386935154 334677549 365035648 741463146 702444538 150137560 777440440 273365488 524542574 205644911 717390689 198703751 784371166 658388576 833246783 730824918 57606083 32466209 533367205 857102413 660040051 566096351 234968285 608724072 760593154 847840320 986331373 894991717 543122079 784371166 420342620 86256730 942045496 850636024 916738849 560637528 710113373 699856917 332773543 842306692 968396048 107808575 669655791 902419092 563823514 459789430 117347524 588150191 979285058 352607876 -1 638293140 890844482 864561721 575541534 55517047 722874144 631700842 559785274 489295045 940104206 718229961 859930182 718229961 385144989 943374902 260307180 731745766 333260763 614593757 722874144 790909002 590138438 428142800 734712823 163789960 745924515 579690895 386381016 542986495 532861718 988919874 88469907 456487084 391779414 13384724 32796250 852782081 67075526 149052945 567416830 834500260 681690682 708274346 708274346 791183444 748186132 201066749 769837665 600962339 461274569 111985669 485683712 923159887 346394348 656206261 831985335 591284702 937638157 284700142 302277738 26537314 368935143 363811064 951926549 751316591 719457202 922220234 427675535 635671105 610895287 107808575 623188968 3090244 740364356 417425319 916738849 681823792 807820896 681690682 667841561 229515163 355126439 293155218 403334160 241693686 284387166 957144144 836680980 494751627 140395123 997432376 37724537 700120477 352607876 60978603 81866966 982693874 111985669 660738659 406717194 639572212 760624728 697184458 523542917 208493418 560637528 999674172 434526689 29592557 109891495 857102413 979580407 562288215 780117964 84208996 112624754 685097645 469384372 286319692 415965469 751964866 649175882 363811064 198703751 770278321 644336340 669125354 186539666 582861386 785247749 624015614 228137178 734712823 669742991 444874800 229405480 490869221 46945925 670979891 209977170 822261941 36050763 801402068 358362276 554782737 232018015 704672739 305936785 989696303 495336832 208493418 428413005 757544011 507142051 740224085 786969334 890844482 208028672 867933639 730824918 987705926 914662962 490142300 213926602 -1 579690895 619868736 879954113 634536293 532861718 670408229 174295016 845211351 647911422 341012648 725418770 283107224 705118513 92102199 574417829 466034328 729352677 644336340 155376172 908705907 329574367 111122929 481127177 63210631 719457202 549323513 914291169 610069705 209977170 603620710 216195055 641205608 389956215 418807544 220059095 448707988 823933296 507969865 663307073 541460419 664295306 575485118 355756362 -1 626837013 966503495 722672739 533367205 406717194 801169129 263798126 774149146 167415720 223030820 638293140 660639438 297175900 634983639 551345512 363811064 660040051 156929061 355126439 135519629 873072247 263798126 966561320 244155041 763856958 543122079 880446976 138790019 594204193 57801759 685097645 728357838 238951985 817693389 307476694 12903603 861383306 854062217 916321789 464037621 699856917 734712823 296417374 688380735 627561325 847840320 211333607 845459462 140113105 769545495 644187365 381881872 408244002 57606083 807820896 472407762 726124644 938954818 842306692 338370105 942384956 718577411 893897082 145847415 346188490 795730704 575541534 476084224 368764047 73453883 818974853 231771136 198703751 63210631 220059095 560637528 748526814 182429059 271516194 54153332 741463146 167036027 865880334 264549124 989696303 658212287 413843857 165622114 96109344 765954927 833246783 590603969 961821360 335890204 354949635 566034579 454563819 155906400 526755095 975269268 232531633 325845006 249558965 693375965 974521569 927530478 857102413 910994573 63562141 232018015 850636024 804352169 857102413 149052945 13384724 146197290 549323513 914206506 398981201 731745766 182026506 984182750 283107224 387518405 864350394 281083465 219896364 208028672 697374453 428413005 666590606 211550817 293155218 634536293 700120477 406483013 59706771 970265761 211070558 469035792 514721585 601762202 416756465 344240078 697184458 711503207 514721585 633637325 203018461 854062217 718229961 92112290 882812597 211550817 207023050 66483968 408244002 354949635 53590481 984895249 243341711 177905368 437863021 673965031 575541534 880844104 561494895 880844104 790809628 26375227 274831438 336688564 760593154 960643177 950862675 532861718 332773543 750769230 57801759 627589268 13384724 782594982 433439854 317871021 456401701 142117376 132774876 765954927 770278321 526755095 87162480 614593757 56105859 461649452 758575350 41524303 590783394 638293140 288542157 692204091 897789362 901803305 561553313 459789430 355126439 593587398 112624754 667169560 214924123 660639438 191697350 119601349 306767836 910994573 977467597 163091630 722672739 79097209 563823514 182659876 867933639 679670176 12903603 444874800 365035648 341012648 942297502 848715178 651109313 79097209 484471406 968396048 34685076 116545387 415965469 791183444 769545495 807820896 254528769 566034579 469035792 -1 228902962 420425052 725418770 991067365 386935154 927530478 782619049 281598862 610932880 386935154 750763843 749101296 470690645 859930182 448316745 811841566 127278512 163789960 191697350 274831438 283107224 593282222 -1 91064641 761021239 456401701 519762398 774149146 881489135 564190579 365407761 355756362 819523467 348123399 868838278 830544982 845459462 223030820 680666684 984182750 594204193 327982936 264549124 377651896 490142300 628220249 580470806 54164180 26375227 815472010 634536293 830162158 238951985 174295016 138790019 243995015 679521131 830544982 832494905 982554231 859962837 -1 433114786 791183444 319424815 39885396 43392732 469384372 385144989 753145692 507969865 469384372 717390689 788878491 610932880 107596959 92160628 475822349 681823792 739554266 249558965 731936598 718577411 123550994 130580 54164180 408244002 424697572 693375965 13841075 406430184 659501910 118534662 939946968 567600315 815472010 432504521 984182750 613084013 254167164 428413005 45426260 718229961 565554630 171221433 679521131 595427792 541463939 454563819 868211619 673965031 358191652 718229961 525617132 118534662 411999902 78898063 656206261 349032071 655834254 554782737 338370105 46410909 288628682 246216644 146197290 712694937 662235717 582319429 524972471 601762202 891573253 329959527 244155041 858159813 950862675 749101296 213926602 799467751 142117376 307476694 564190579 118534662 203018461 368764047 113811391 42277380 485683712 137132982 691740164 861115508 633637325 639572212 553190572 438872920 408497768 367754743 541460419 379109457 381881872 43392732 976942240 673965031 41524303 790909002 434526689 107839247 55517047 957144144 28416726 378610966 830544982 127278512 137132982 264549124 682038125 601762202 66483968 683489839 183843307 406717194 950629972 938446553 365407761 551345512 594204193 644187365 767047665 730909832 801326287 490869221 469035792 306767836 673965031 333772685 470803824 705622548 163091630 580884227 709403855 447434673 760593154 563823514 26537314 791183444 175884183 348123399 234968285 288542157 113811391 363579344 29287119 693375965 842871738 980936845 590603969 456487084 53028773 29592557 95779603 354949635 989696303 645695407 974448855 901803305 286319692 72643683 345102555 66483968 248636995 890844482 422331486 293155218 338370105 432069691 537867109 494751627 784371166 645695407 704672739 586985028 254528769 283107224 365035648 42277380 505655512 769545495 59501988 241693686 17012234 532803555 495241145 993786079 662235717 999101537 490142300 263798126 807262913 579783784 448316745 830544982 702444538 766504018 368704535 897789362 164542502 -1 691740164 979580407 768744535 942045496 171504845 92102199 763183908 645695407 352607876 593587398 329542777 922220234 942384956 543006155 980936845 223030820 138533159 667169560 765137854 847840320 456863895 252012472 468107571 466034328 807648187 580918883 542661640 96109344 823787812 21873594 774937853 437863021 421927353 317871021 514721585 801169129 600962339 838379139 970265761 67075526 610895287 162425880 852837035 563732029 400907045 951926549 330785266 192251969 18299476 560814638 575541534 645695407 281083465 368764047 711503207 458547544 664295306 543006155 541460419 858159813 723933984 667169560 610069705 590138438 378409769 335743200 431837446 274831438 229405480 982693874 330785266 301334993 912506727 542986495 115639466 296417374 791183444 806195787 170824557 832494905 107596959 713199217 408497768 784597145 566034579 175554418 92102199 564190579 667300705 993786079 199770581 914206506 524542574 885164572 428747955 220059095 741339101 704672739 63210631 437863021 189854783 718577411 708274346 788878491 426480224 122067182 34030354 433756914 241693686 622737539 950235340 988919874 72643683 107596959 770680522 763183908 372910848 307476694 247165890 999674172 789404113 28576479 12903603 373771611 850636024 627589268 232531633 999101537 966503495 668281990 637964511 472516679 451474906 494923774 659932705 830162158 817331802 319379178 508037594 368935143 748526814 716182336 484471406 446355059 660040051 864561721 721120553 664295306 533560917 77564723 548806448 318110611 922220234 288628682 873072247 999101537 599555786 914662962 769837665 641205608 852782081 182026506 170824557 46011383 729941138 254528769 181721636 974521569 413843857 610932880 610069705 377651896 519762398 730824918 599555786 330583346 542986495 890844482 231771136 602915291 57551192 508037594 321467204 541460419 850351456 489295045 997432376 373683372 997299598 660738659 211333607 864350394 169614935 456487084 406568384 13841075 168494769 672907310 950862675 627376276 345102555 448707988 958339854 993786079 785247749 669655791 302277738 358362276 730909832 206014003 189854783 745924515 378610966 780117964 942384956 774149146 730909832 333260763 685423362 965993467 389956215 723200871 779829204 867723620 34584857 260307180 334677549 41260287 595427792 243341711 882812597 864350394 967987535 281598862 675573324 46011383 560556517 603620710 42277380 208028672 -1 219896364 26375227 73525554 194126353 757544011 791183444 668250239 470803824 786969334 750429264 206644601 36050763 18299476 36050763 406717194 293155218 17012234 400907045 72263116 578238211 486307671 16475116 942627653 958339854 670408229 631700842 378409769 203580162 280856350 308232133 638076633 579783784 645695407 115639466 999674172 790909002 149052945 686649778 669742991 679275202 1713096 568090820 171504845 254167164 572311287 974448855 110012494 427618367 491978273 958339854 215802236 637964511 970265761 308232133 284859244 531136661 602915291 756425389 335743200 705622548 365035648 531136661 836680980 818829472 868838278 431837446 244195221 882812597 769854437 854062217 21873594 164542502 428747955 910994573 541463939 459789430 602915291 670408229 850101344 914206506 466034328 938914563 663667470 586392635 398981201 425469326 760593154 644187365 415965469 201066749 11796756 574417829 758575350 965993467 688380735 593282222 699856917 298868262 211362614 881489135 786892734 86256730 378610966 16475116 37081879 46410909 47116225 79213361 340301060 398981201 377651896 680666684 638293140 447434673 710113373 301334993 441949925 762227828 532861718 998120269 234968285 -1 203018461 927530478 327789615 806195787 122896725 680666684 849123482 408244002 811841566 659501910 254167164 785866095 623090438 679521131 559785274 408497768 791183444 301334993 395983136 365679164 819523467 70161655 170824557 473150723 561494895 67075526 897789362 437517579 859063396 465892383 817693389 422331486 890844482 239254051 533560917 271708247 246216644 355126439 801326287 622737539 60744503 262575582 859063396 345072009 84062198 330318834 542986495 849123482 641164921 523542917 991067365 554782737 729352677 524972471 769854437 919585635 520011864 146197290 922171930 543006155 138533159 901803305 997432376 679670176 690863334 107839247 339350524 155376172 403334160 580884227 378610966 244195221 512615132 247165890 672907310 811841566 613084013 13841075 822261941 991188064 980936845 986331373 408497768 84208996 836680980 415965469 435984127 72621546 273365488 751964866 622823007 372910848 562309509 624015614 634536293 377651896 702444538 602811046 211333607 446355059 111122929 723200871 325287502 149830598 979580407 480210823 938954818 118534662 -1 819523467 974521569 426480224 675573324 243995015 842306692 34030354 799467751 938446553 107808575 649175882 102379477 645276436 999674172 53028773 942045496 21873594 833220245 997432376 763281688 665446719 538432928 705622548 384604556 211362614 560637528 220059095 79097209 685423362 476084224 72621546 953838288 252012472 533560917 582319429 26905429 59501988 763281688 518109595 295805912 914662962 260307180 519762398 63562141 433114786 730756715 223785502 514721585 244883660 329574367 182659876 203018461 417425319 977619929 722672739 549323513 29592557 354949635 214317232 690863334 762227828 666590606 86256730 345392984 349032071 28416726 868838278 165753 466852129 590603969 867933639 199770581 707186544 685097645 203580162 422331486 170824557 395983136 767047665 75228974 830544982 472516679 785247749 333260763 57606083 182429059 215802236 228902962 49208976 705622548 238951985 49212342 188196698 603620710 163983150 288542157 537867109 217928587 535432483 250810872 271516194 494751627 638076633 239987054 919585635 806195787 791183444 462383923 417425319 73525554 472516679 700120477 804352169 859962837 850636024 346188490 286319692 591700510 448707988 861208333 563675995 72621546 922220234 476084224 164542502 75228974 707186544 -1 194126353 750763843 465892383 864350394 203018461 275610416 149830598 780117964 746419439 229821643 753145692 357329820 891436447 916738849 244195221 175884183 590603969 691214891 910994573 984182750 452820542 891573253 458547544 223030820 603690869 301714930 761888635 817331802 220059095 215802236 815472010 140113105 298868262 372510013 957643716 100130908 620059513 296417374 535432483 750763843 34685076 432504521 709403855 426480224 845459462 622823007 303139271 721867658 26537314 812752908 976942240 16475116 604148770 452820542 907772025 761888635 702444538 766504018 45426260 823787812 296417374 883564101 384604556 614593757 206287347 580918883 495712606 301334993 244155041 329959527 472516679 385144989 461274569 854398124 804352169 495712606 358191652 262575582 117303447 997299598 102379477 72621546 612885490 459789430 533367205 631700842 894991717 664295306 976942240 16475116 820211254 675786233 644336340 308705211 281598862 489295045 387384744 937638157 205644911 197307546 763856958 953838288 284387166 691504106 850351456 156929061 765137854 665446719 67592009 807820896 28576479 710730165 966503495 953838288 156929061 175144765 17012234 325845006 691214891 110556435 974521569 346394348 740224085 524542574 59501988 904818318 681823792 32466209 997432376 296417374 800463769 828722364 770278321 11796756 494923774 469384372 977467597 335890204 686865014 632336991 494950691 723200871 246216644 730824918 979580407 281598862 820211254 3090244 638293140 645276436 86361620 669655791 81866966 871898006 170824557 879954113 472516679 718229961 29287119 719457202 17012234 660639438 189854783 647911422 786075537 938954818 979580407 408497768 951926549 480210823 526755095 63210631 960643177 41524303 785247749 169614935 67592009 92102199 774149146 688380735 -1 49212342 88469907 77299524 984895249 950629972 92160628 627376276 815472010 505655512 580884227 220059095 730909832 709403855 608724072 110556435 457715535 245677831 543122079 491294665 71713295 527897224 833220245 555548888 12903603 435984127 264549124 175144765 208028672 379109457 84208996 939563959 250810872 283107224 728492414 957643716 336688564 888304663 372910848 43897314 541463939 848715178 291386915 302277738 72794624 471865558 333772685 966503495 481127177 667169560 675573324 699856917 329542777 519762398 676685933 916321789 599555786 297133830 -1 873072247 22393976 977619929 146197290 784597145 155997760 568090820 283107224 374972287 181721636 244195221 290604263 718577411 909186692 43897314 424697572 345072009 893860727 524972471 485683712 981763217 938954818 332773543 885164572 604148770 753145692 161017478 943374902 28576479 174295016 888304663 565554630 505655512 462383923 750156197 437517579 325845006 920219729 271708247 685097645 568090820 689608865 247165890 28416726 415965469 175554418 345102555 306767836 873072247 325287502 54153332 333260763 980936845 243995015 938446553 676709331 860724917 116545387 966561320 427675535 244883660 734712823 392826688 466034328 464037621 384604556 710730165 914291169 481127177 43897314 334677549 828722364 254167164 489295045 29592557 189854783 433756914 72263116 989696303 109891495 940104206 661932839 685423362 155906400 734712823 489295045 22393976 408497768 323513395 339350524 365035648 330583346 110556435 66483968 914206506 860724917 486307671 228137178 60081926 295504204 847840320 3090244 993786079 665446719 599555786 424697572 568090820 223785502 691504106 593282222 627589268 60978603 448316745 297133830 262575582 468199498 7545447 937633254 355756362 117303447 780117964 372510013 408244002 663946492 275463593 41260287 495712606 18794770 647290016 464037621 201066749 77299524 368704535 373771611 620059513 91064641 982554231 459789430 325287502 750429264 527897224 1713096 434526689 850101344 87162480 893897082 403334160 951926549 984895249 975269268 691504106 77564723 127278512 591284702 563675995 268947673 682038125 891436447 413843857 819523467 56105859 238442797 284696682 66483968 723200871 974448855 420773560 668281990 968396048 571736161 563732029 867933639 880665324 424697572 531136661 17012234 433756914 264549124 86361620 49212342 140113105 518109595 276260520 493264770 907772025 22393976 939563959 533560917 86256730 679670176 645695407 67592009 519762398 72621546 375673341 155376172 644336340 468107571 438872920 244883660 676709331 639572212 561494895 656489207 413494386 533367205 644187365 586985028 763281688 88469907 461274569 293155218 567416830 433439854 197307546 379109457 980936845 939946968 656489207 711501588 904818318 690664050 254528769 -1 560556517 707186544 622737539 181721636 53028773 908463563 163983150 109891495 262575582 729352677 239254051 659501910 916738849 527897224 401672699 804352169 833220245 407009263 647290016 982554231 301714930 281598862 574417829 817693389 110012494 432069691 63562141 790909002 938954818 398981201 165753 354949635 53028773 215802236 564190579 721120553 249558965 786892734 543006155 663946492 580884227 154693260 182429059 859930182 718577411 594204193 868211619 297133830 635671105 181721636 17012234 345102555 849123482 378610966 181721636 379213018 888304663 577714620 537867109 208493418 63243152 868211619 670408229 791932302 507142051 260946873 901304975 329574367 420425052 638293140 32796250 750429264 580884227 985045640 494923774 329574367 421927353 59501988 117347524 290604263 553190572 389956215 686865014 232018015 571736161 -1 645695407 488751710 344240078 454563819 434526689 705118513 632336991 247165890 26537314 563675995 400907045 920219729 39885396 73453883 985045640 137132982 689897360 428142800 770680522 790909002 628984381 -1 989696303 182659876 63243152 580918883 54153332 223030820 334677549 72794624 700120477 307476694 174295016 428142800 379109457 750769230 122067182 381881872 729178187 336688564 593282222 788878491 610613670 850636024 243995015 602915291 186539666 761888635 63562141 854062217 368935143 18794770 574924220 60744503 53590481 604148770 965993467 280856350 79097209 358191652 386381016 432069691 751316591 -1 367754743 3090244 632336991 524972471 284700142 159647580 667300705 462383923 786892734 553190572 63243152 850351456 919585635 408497768 799467751 433114786 555548888 818829472 214317232 562309509 211070558 908463563 999101537 47116225 786892734 363811064 635671105 818014838 763183908 644336340 638076633 569422962 659501910 211070558 241693686 739554266 799467751 916738849 206014003 637964511 281598862 34685076 425469326 560814638 372910848 138533159 215802236 935910737 334677549 890844482 658388576 301714930 321331882 890844482 374972287 175590565 689897360 976942240 592274818 368704535 685097645 579690895 135519629 907456227 660738659 833246783 321467204 982693874 832494905 234968285 667841561 723200871 427675535 867933639 155376172 377651896 567600315 667300705 107596959 864561721 960643177 979580407 644336340 741339101 453407680 111985669 -1 645276436 406717194 976942240 461274569 485683712 638076633 635671105 84062198 432069691 238951985 358362276 -1 368779111 614459776 29592557 505655512 864350394 284859244 751316591 18404492 491978273 908705907 786075537 591700510 401672699 175590565 638293140 495241145 130580 155906400 807262913 268947673 655834254 742174392 834500260 368764047 122067182 231771136 336862767 613084013 590783394 801169129 306854073 86361620 950629972 980936845 352508141 408497768 908463563 800463769 532803555 421927353 63562141 211070558 107808575 697184458 72621546 526755095 491543933 333260763 908705907 140113105 244883660 378610966 330785266 661932839 337502849 -1 685423362 755527023 473150723 372510013 766504018 577758652 325287502 345102555 265395517 600962339 873072247 165622114 494950691 593587398 942045496 284696682 70161655 533367205 930790502 54153332 18794770 214924123 211550817 338370105 291386915 977619929 205644911 609637013 927530478 842306692 578238211 461274569 745215401 729178187 73525554 686865014 365407761 18299476 730756715 420425052 507969865 228902962 214317232 768744535 219896364 691214891 864350394 750156197 908705907 861115508 907772025 580283317 156929061 420773560 614593757 357329820 -1 830544982 181721636 43897314 456401701 420425052 438872920 28576479 175554418 538432928 37081879 679521131 614593757 111122929 71713295 731936598 525617132 784371166 145847415 908705907 113804160 437863021 595427792 663946492 407009263 705118513 577714620 407009263 767047665 29734308 914662962 386935154 46945925 838379139 519762398 763856958 301334993 -1 857269083 695553778 524542574 819963767 427618367 834500260 174295016 669742991 686865014 174295016 520011864 669125354 857269083 669742991 495241145 18299476 21873594 373771611 406717194 989747990 468107571 632336991 345102555 692204091 503810504 194126353 149052945 801169129 -1 662235717 644336340 53590481 401672699 46945925 198703751 571736161 441949925 782927012 596943234 424697572 907456227 403334160 968396048 673965031 145847415 833246783 175554418 301714930 372510013 880938198 749101296 112624754 358362276 591284702 86361620 716182336 63210631 832494905 381881872 679521131 91064641 214924123 368704535 524542574 -1 73453883 645695407 43392732 765954927 820211254 823787812 982554231 416739210 183843307 239254051 -1 823787812 863667577 263798126 470690645 854398124 495336832 989747990 490869221 612885490 -1 818829472 807820896 72643683 72263116 663667470 72621546 162425880 41524303 979285058 690664050 833246783 833246783 670408229 966503495 494950691 957144144 838379139 156929061 624015614 619868736 937638157 29734308 473150723 229821643 182026506 111122929 213926602 658212287 232531633 901304975 214317232 555548888 161017478 75228974 705118513 163091630 88469907 306767836 250810872 999674172 32796250 -1 950862675 365035648 782594982 922171930 751316591 494751627 976942240 940104206 910994573 457715535 675573324 252012472 116545387 444874800 29272319 -1 494923774 562309509 92160628 403334160 284696682 163983150 681690682 239254051 365679164 198016418 132774876 920219729 728492414 786892734 113811391 649175882 807262913 462383923 59706771 114396999 817693389 700120477 967987535 586985028 284696682 566096351 938954818 84062198 206287347 182429059 697374453 182026506 249558965 637964511 580283317 -1 939563959 462383923 560556517 859962837 683489839 424697572 768744535 784597145 301334993 627561325 110012494 927530478 2433982 155376172 457715535 420425052 72263116 859063396 -1 718577411 260946873 664490073 401672699 649175882 995194212 209977170 709403855 403334160 223785502 662235717 344240078 663307073 883564101 415965469 251692591 610932880 43897314 418807544 211362614 459789430 241693686 488751710 199386661 999101537 28576479 174295016 818829472 812140416 861208333 319379178 416739210 626837013 464037621 459789430 526755095 717390689 208493418 377651896 213926602 582861386 984117471 -1 503810504 919585635 220059095 599555786 491294665 16475116 208028672 507969865 284700142 239987054 686649778 465892383 524542574 165753 123550994 662235717 308232133 867933639 415965469 34584857 746419439 908463563 284859244 620059513 893860727 854398124 676709331 957643716 355126439 601762202 812752908 756425389 413494386 795730704 586985028 330583346 992563691 334677549 495712606 553190572 330583346 189854783 663946492 319424815 908463563 346394348 562288215 961821360 991067365 219896364 18299476 823787812 628984381 332773543 107839247 321467204 709403855 628220249 717390689 84062198 748186132 248636995 88469907 206644601 142117376 656206261 739554266 466852129 244155041 205644911 406430184 755527023 973579758 155906400 280856350 466852129 731936598 243341711 -1 192251969 414918047 734712823 160366715 560455121 524972471 541460419 753145692 -1 641164921 239254051 711501588 799467751 213926602 110556435 847840320 689897360 349772488 859962837 384604556 319424815 645276436 757544011 885164572 308705211 543122079 976942240 189854783 880938198 761888635 472407762 943374902 705622548 543006155 406568384 580884227 659501910 524542574 604148770 283107224 950862675 66483968 339350524 392826688 411999902 264549124 290604263 72263116 295958449 801326287 18794770 183843307 18794770 358191652 466034328 927530478 741463146 237773442 676685933 818974853 823787812 619868736 669125354 542661640 417425319 435984127 940104206 19140171 443342808 728492414 591700510 893652215 254167164 965993467 638293140 84062198 760593154 901803305 791183444 95779603 689608865 579783784 448316745 725418770 375673341 689608865 682038125 819523467 447434673 710113373 745215401 386381016 54153332 859063396 992563691 245677831 29592557 507142051 13841075 107808575 711503207 283107224 842306692 695553778 94630229 965993467 834500260 697374453 745924515 229405480 47116225 288542157 668281990 984895249 43897314 197307546 74820195 854398124 293155218 175554418 538432928 312308223 683489839 667841561 448707988 216195055 690664050 774937853 623188968 229821643 216195055 284859244 -1 332773543 660738659 848715178 447434673 707186544 252012472 823787812 836680980 199386661 686649778 541463939 712694937 485683712 807820896 213926602 422331486 465892383 3090244 690863334 245677831 857102413 880665324 301714930 691740164 667300705 531136661 271516194 623188968 542986495 823933296 239987054 446355059 669125354 207023050 127278512 991188064 681690682 660040051 211070558 868211619 786892734 730909832 57606083 588150191 831985335 160366715 385144989 686865014 894267291 861383306 456487084 123550994 777440440 663946492 957643716 156929061 560637528 26375227 785376602 406717194 721867658 86256730 710113373 415965469 281083465 818974853 444874800 471865558 533560917 186539666 644336340 679275202 63210631 691504106 893860727 475822349 263636646 13841075 695553778 14405655 564190579 852837035 998120269 476084224 845211351 655834254 608724072 966503495 19140171 861383306 751316591 252012472 626807589 784371166 21873594 244155041 682038125 562309509 901803305 427675535 155376172 726776295 413843857 469035792 495241145 447434673 591700510 560455121 433114786 634536293 590783394 575485118 92160628 916738849 296417374 985045640 782619049 177905368 663307073 130431610 254528769 53590481 811841566 476084224 849123482 208028672 418807544 444874800 849035201 238442797 965067805 966561320 999674172 746419439 807820896 719457202 171221433 288628682 549323513 970265761 663946492 339350524 579783784 466852129 647290016 34030354 817693389 273365488 548806448 41260287 1713096 88469907 130580 628220249 345102555 655834254 567416830 620059513 490142300 260946873 476084224 -1 686649778 861383306 115639466 520086201 822261941 349772488 836680980 174295016 591284702 403334160 982581137 812752908 77299524 -1 745924515 425469326 571736161 355126439 378610966 461649452 72794624 60744503 135519629 211070558 75228974 477076784 306854073 833220245 22393976 471865558 107596959 987705926 297133830 790909002 273365488 373771611 669655791 223785502 84062198 77564723 293155218 850351456 505655512 765137854 183843307 973579758 368764047 398981201 659932705 507969865 321331882 712694937 188196698 668281990 790909002 323513395 458547544 171221433 937638157 191697350 600962339 486307671 146197290 29272319 446355059 333772685 722672739 537867109 742174392 473150723 569422962 262575582 159647580 871898006 378610966 807262913 609637013 894991717 689897360 456487084 491294665 171504845 490142300 859063396 683489839 907456227 163091630 765954927 799467751 138790019 626837013 563823514 88469907 97299507 910994573 163091630 473150723 72794624 355126439 538432928 989747990 562288215 742174392 146171038 765137854 406483013 559785274 140113105 163789960 958339854 146197290 957643716 711503207 448707988 902419092 434526689 938446553 711503207 811841566 33812208 54153332 79097209 830544982 220059095 543122079 622918995 724422672 286319692 769854437 461649452 18299476 46485154 156929061 198703751 115639466 293155218 897789362 142117376 140113105 982581137 276260520 424697572 241693686 771459106 57551192 111985669 112302971 749101296 55517047 977619929 159056677 301714930 63562141 686649778 252012472 378610966 718577411 523542917 938954818 293155218 297133830 211362614 493264770 721867658 580470806 731745766 628220249 319424815 206014003 335743200 490142300 188196698 660040051 26905429 164542502 386935154 691740164 791183444 428747955 766504018 740224085 288542157 942045496 689608865 831985335 916321789 -1 181721636 676685933 660040051 992563691 379213018 836680980 704672739 116545387 329959527 676709331 243341711 771459106 197307546 830162158 873072247 188196698 832494905 880938198 34685076 603620710 67592009 198703751 284696682 211070558 582319429 365407761 206014003 575485118 490142300 291386915 885077908 555548888 907456227 118534662 828722364 428747955 34685076 974521569 577758652 910794274 708274346 274831438 216195055 33812208 102379477 33812208 748526814 593282222 688380735 368935143 763856958 711503207 406568384 484471406 18404492 301714930 682038125 520011864 596367148 849035201 753145692 543006155 873072247 211070558 329574367 588150191 721120553 334677549 603690869 53028773 627376276 770847694 468107571 34584857 610895287 86256730 335743200 427618367 815472010 392826688 580283317 363579344 421927353 192251969 739554266 206644601 849035201 897789362 525617132 751964866 591700510 663307073 997432376 378409769 909186692 473150723 244195221 575541534 667169560 908463563 614593757 74820195 437517579 275610416 881489135 626837013 728492414 465892383 33812208 490142300 391779414 620059513 95779603 406717194 768744535 110012494 713199217 306767836 527985132 785866095 849123482 507969865 112302971 555828167 623090438 942045496 373683372 676685933 60744503 273365488 325845006 561553313 448316745 427618367 593282222 722672739 335890204 327982936 341012648 647290016 977619929 66483968 171504845 495241145 574417829 37081879 719457202 372910848 290604263 512615132 392826688 372510013 110012494 416739210 553190572 852782081 424146759 614593757 57801759 981763217 784597145 268947673 431837446 984895249 444874800 974448855 880844104 832494905 414918047 549323513 495336832 785866095 88469907 763183908 45426260 604148770 74820195 137132982 74820195 -1 66483968 750429264 973579758 622823007 461274569 198703751 327982936 146197290 138790019 238951985 337458711 491294665 914291169 719457202 820211254 414918047 999674172 420773560 431837446 54164180 470803824 888304663 29592557 113811391 764751417 728492414 113811391 298868262 725418770 335890204 842306692 901803305 822261941 84062198 791183444 319424815 464037621 220059095 663667470 658212287 308232133 63243152 734712823 182659876 271708247 95443860 418807544 452820542 508037594 548806448 673965031 618312173 785247749 422331486 807262913 801402068 26905429 499941413 154693260 647427996 842306692 591284702 368935143 494923774 555828167 243995015 494923774 472407762 850101344 438872920 864561721 782927012 424697572 229821643 644187365 168494769 284387166 355756362 718229961 433114786 927530478 525617132 942297502 175884183 845211351 667169560 169614935 750429264 680666684 424697572 764751417 389956215 668281990 403334160 768744535 867933639 100130908 424697572 700120477 140395123 801402068 758575350 433439854 319424815 36050763 603620710 582319429 880844104 421927353 358362276 686649778 119601349 149830598 885164572 514721585 680666684 522063456 391779414 746419439 580918883 211333607 764751417 274831438 709403855 842871738 692204091 420773560 622918995 155906400 608724072 67075526 375673341 689897360 982693874 170824557 770278321 333260763 663307073 818974853 72794624 424146759 697374453 92160628 208877360 49212342 175144765 358362276 368704535 656489207 263798126 43897314 493264770 957144144 206644601 697184458 854398124 251692591 111985669 770278321 975269268 13841075 346188490 676685933 981763217 183843307 814490763 -1 580918883 177905368 335743200 989696303 610613670 721120553 691740164 705118513 352508141 819963767 846213413 507969865 243341711 378610966 59706771 705118513 55517047 721120553 507142051 53590481 951926549 579991057 229405480 848715178 663307073 500268473 623188968 203018461 403334160 859930182 203493552 602915291 34685076 880665324 769854437 453407680 74820195 182026506 721867658 726776295 902419092 818829472 234968285 77299524 284387166 -1 284859244 73453883 649175882 690863334 192251969 512615132 634536293 16475116 867933639 691214891 541463939 189854783 850351456 527897224 -1 755527023 424146759 984182750 213926602 427618367 244195221 494923774 890844482 560556517 572311287 229515163 472516679 728492414 838379139 416756465 537867109 572589546 276260520 795730704 649175882 303139271 211362614 199386661 228902962 28416726 329542777 586392635 779829204 728492414 710113373 288628682 358191652 379109457 623090438 296417374 980134651 518109595 72621546 43897314 569422962 560637528 293155218 165622114 661932839 920219729 658388576 762227828 555828167 590783394 192251969 668250239 420342620 49208976 197115342 507142051 946112218 275610416 871898006 229821643 818974853 571736161 -1 54164180 175884183 424697572 427618367 337458711 252012472 435984127 849035201 593282222 84062198 427675535 683489839 377651896 626807589 765137854 627589268 57801759 209977170 75228974 762227828 834500260 175884183 468199498 691214891 774937853 395983136 993786079 791183444 407009263 610613670 592274818 927530478 656489207 601762202 586392635 641164921 976942240 305936785 295504204 372910848 -1 819523467 560814638 244883660 679275202 79323336 34584857 39885396 531136661 167036027 18794770 336688564 250810872 495336832 248636995 432069691 349032071 958339854 711501588 897789362 807820896 446355059 676709331 950629972 164542502 880938198 254528769 627561325 420425052 14405655 57551192 527985132 29734308 888304663 -1 987705926 186539666 543122079 352508141 452820542 580884227 203018461 407009263 435984127 718577411 182026506 679275202 393835525 999674172 464037621 627376276 -1 604148770 29287119 413494386 437517579 559785274 46410909 811841566 332773543 602915291 891573253 111985669 142117376 836680980 891573253 979580407 336862767 296417374 997432376 771459106 560637528 614593757 669125354 782927012 171504845 880938198 641164921 842306692 574417829 215802236 284696682 922220234 250810872 670979891 647290016 991067365 308232133 562288215 984182750 437517579 664295306 745215401 711503207 679521131 533367205 548806448 395983136 159056677 12903603 135519629 647427996 286319692 197307546 692204091 785247749 78898063 711503207 378610966 946112218 229515163 612885490 594204193 909186692 472516679 389956215 774937853 881489135 823933296 832364259 596367148 751964866 651109313 205644911 957643716 845459462 71713295 355126439 170824557 335743200 812140416 830994144 582319429 726776295 275610416 208493418 691504106 676685933 205644911 767047665 902419092 786892734 420773560 290604263 346394348 532861718 456863895 588150191 912506727 345392984 391779414 37724537 220059095 560455121 673965031 18404492 355126439 117347524 748186132 711503207 137132982 910994573 -1 296417374 960643177 868211619 838379139 60744503 111122929 976942240 13384724 443342808 72621546 572311287 211550817 182429059 647911422 63243152 676685933 424697572 254528769 421927353 989696303 438872920 507142051 713199217 795730704 656489207 749101296 599555786 785376602 19140171 130431610 711501588 957144144 859962837 995194212 365407761 679670176 623188968 524542574 156929061 28576479 110556435 448316745 217928587 433348815 243995015 820211254 66483968 461274569 387518405 43897314 355756362 849035201 381881872 729352677 298868262 434526689 997299598 70161655 914291169 760593154 420773560 42277380 942045496 527985132 26905429 276260520 602915291 679275202 416756465 56105859 142117376 37724537 946112218 205644911 976942240 373771611 306854073 457715535 721120553 885164572 750769230 60978603 243341711 922171930 722672739 363579344 111122929 767047665 475822349 575485118 60978603 704672739 580884227 701070480 739554266 984182750 942045496 167036027 422331486 565554630 416756465 38372578 850101344 295958449 37724537 495712606 565554630 491294665 113804160 355126439 159647580 656206261 564190579 37724537 95443860 580884227 495336832 679275202 401672699 155906400 601762202 526755095 761021239 354949635 66483968 254528769 469035792 559785274 406483013 912506727 541460419 901803305 102379477 713199217 408497768 690664050 731745766 664490073 345072009 305936785 708274346 566096351 701070480 580470806 702444538 26375227 542661640 801326287 191697350 789495739 891573253 140395123 873072247 138533159 750429264 469384372 909186692 590783394 441949925 288542157 966561320 973579758 938914563 211362614 995194212 822261941 676709331 610932880 610613670 495336832 599555786 950862675 494923774 379109457 711501588 470803824 782927012 494950691 207023050 632336991 566034579 679521131 638293140 523542917 942297502 763183908 163789960 284859244 203493552 660738659 771459106 717390689 762227828 435984127 352607876 645276436 67592009 610069705 155997760 740224085 171504845 411907778 532803555 79097209 600962339 997432376 123550994 672907310 675786233 760593154 186539666 942045496 685423362 339350524 784597145 763183908 59501988 305936785 346188490 997299598 17012234 199386661 940104206 676685933 951926549 228137178 991067365 953838288 308232133 346188490 563675995 968396048 950235340 183843307 988919874 297175900 749101296 490142300 332773543 243341711 209977170 560814638 244883660 745215401 60978603 288628682 788878491 922220234 568090820 416739210 596943234 363811064 716182336 703311448 729352677 770847694 891436447 199386661 991067365 977619929 465892383 957643716 247165890 847840320 490869221 695553778 719457202 177905368 563675995 614593757 427675535 428413005 888304663 667169560 416756465 406568384 770847694 220059095 352607876 564190579 914291169 507142051 149052945 375673341 940104206 800463769 628984381 372510013 622918995 681823792 686385319 182429059 433348815 72643683 293155218 765954927 563732029 685423362 111122929 691504106 764751417 801169129 579783784 140395123 740224085 946112218 818829472 582861386 938954818 375673341 819963767 982693874 555828167 740364356 92112290 827132364 327789615 935910737 774149146 563675995 186539666 908705907 461649452 791932302 927530478 -1 998120269 849123482 363457997 250810872 387384744 713199217 379213018 709403855 873072247 161017478 149830598 724422672 209977170 77299524 508037594 961821360 973579758 622737539 175884183 622737539 -1 537867109 965993467 938914563 167036027 -1 731936598 273365488 834500260 567416830 914291169 -1 789404113 848715178 785866095 520011864 785866095 270206207 669742991 554782737 231771136 433439854 407009263 3090244 335890204 77299524 192251969 301714930 330318834 693375965 451474906 244195221 822261941 620059513 574417829 675573324 532803555 421927353 154693260 335890204 431837446 935910737 724422672 859962837 711503207 149830598 406483013 748526814 352508141 691740164 669125354 582319429 491294665 46410909 349772488 358362276 406717194 19140171 408244002 88469907 690863334 988919874 60081926 281598862 495336832 38372578 319379178 627589268 12903603 250810872 914206506 784371166 867933639 41524303 564190579 670408229 559785274 770278321 63210631 346394348 560556517 2433982 206287347 -1 407009263 355756362 619868736 881489135 592274818 312308223 885077908 211362614 92102199 988919874 206287347 626837013 563675995 618312173 580884227 755527023 717390689 346188490 454563819 730909832 660040051 935910737 164542502 668250239 323513395 512615132 922171930 514721585 894267291 655834254 252012472 868211619 812752908 452820542 46011383 75228974 951926549 685097645 819523467 78898063 280856350 198628726 49208976 42277380 579690895 63562141 63210631 163983150 75228974 243341711 273365488 161017478 861383306 807648187 368764047 644336340 373683372 291386915 95779603 79323336 490142300 60744503 681823792 372510013 260946873 555548888 845211351 81866966 982554231 466852129 91064641 293155218 349772488 748186132 413843857 861208333 760624728 520011864 965993467 163091630 88469907 73525554 804352169 705118513 976942240 228902962 368764047 560637528 329574367 852782081 961821360 491543933 164542502 833246783 901304975 535432483 199386661 669125354 638011115 563823514 435984127 142117376 138533159 603620710 358362276 580884227 118534662 119601349 229821643 433348815 562288215 337458711 675786233 72643683 801402068 374972287 633637325 73453883 408244002 441949925 491543933 123550994 612885490 122896725 330583346 238442797 39885396 836680980 117347524 86361620 319424815 464037621 355126439 433439854 791183444 857102413 197115342 676685933 491543933 942045496 667300705 785247749 610613670 438872920 336862767 16475116 713199217 670979891 748186132 563675995 718229961 832494905 466034328 893860727 208877360 220059095 401672699 907456227 910794274 238442797 284700142 548806448 880446976 692204091 524972471 189854783 461649452 982554231 208028672 373771611 753145692 641205608 339350524 213926602 165622114 922220234 580470806 685423362 533560917 771459106 379109457 335743200 175884183 935910737 318110611 859962837 60978603 518109595 288542157 638011115 84208996 175884183 849035201 329959527 490869221 18299476 470803824 223030820 464037621 213926602 495336832 938954818 28576479 387384744 244195221 863278761 389956215 333260763 293155218 670408229 373683372 748186132 845211351 596367148 626837013 485683712 786892734 329574367 268947673 494950691 297175900 339350524 620059513 859962837 832364259 170824557 618312173 159647580 418807544 633637325 219896364 542986495 163091630 882812597 880938198 337458711 852837035 263798126 441949925 728357838 301334993 247165890 623188968 306767836 206014003 281083465 301714930 579783784 346188490 211550817 67075526 451474906 142117376 251692591 868211619 53590481 894267291 938954818 831985335 469743398 344240078 254167164 659501910 927530478 860724917 416756465 784371166 138790019 838379139 3090244 626807589 622823007 338370105 639572212 998120269 563732029 645695407 647290016 290604263 33812208 995194212 718229961 46485154 849035201 823933296 2433982 84062198 526755095 438872920 468107571 723200871 873072247 703311448 260307180 408497768 705622548 175884183 271516194 433348815 753145692 533560917 679521131 81866966 975269268 919585635 523542917 87162480 57606083 977467597 494923774 627376276 901304975 647427996 264549124 37724537 -1 428142800 626807589 590603969 614459776 970265761 580884227 472516679 217928587 543006155 182026506 507969865 199386661 349772488 937633254 107808575 252012472 113804160 982693874 741339101 593587398 330785266 211333607 325845006 660639438 950629972 668281990 365679164 456401701 155906400 280856350 220059095 880844104 663667470 162425880 77564723 171504845 681823792 363811064 742174392 368704535 909186692 49208976 418807544 194126353 107808575 645695407 337502849 586985028 66483968 871898006 213926602 979580407 771459106 60081926 602811046 327982936 590783394 568090820 67075526 681823792 373683372 688380735 500268473 63243152 254167164 728492414 46945925 234968285 893860727 622823007 662235717 568090820 485683712 378409769 912506727 548806448 970265761 814490763 986331373 368764047 306854073 586985028 274831438 647290016 494923774 -1 531136661 708274346 271708247 150137560 726776295 374972287 910794274 989747990 790809628 830162158 406568384 885164572 332773543 681690682 880938198 669742991 367754743 33812208 416739210 977467597 806195787 966503495 480210823 633637325 189854783 564190579 494751627 130431610 163983150 260307180 769545495 659501910 375673341 620059513 411999902 435984127 182659876 659932705 336862767 291386915 574417829 54164180 319424815 303139271 881489135 260307180 378409769 914206506 113811391 160366715 438872920 201066749 335743200 907772025 290604263 888304663 112624754 159056677 582861386 819963767 563675995 658388576 664490073 919585635 -1 627589268 219896364 344240078 18299476 520086201 920219729 628220249 97299507 237773442 782927012 123550994 79213361 248636995 957144144 211333607 812752908 668281990 352607876 667300705 368704535 306854073 295504204 812140416 146197290 579991057 358362276 208493418 753145692 386381016 688380735 659932705 408497768 982581137 385144989 87162480 73525554 155997760 29592557 373683372 312308223 770278321 890844482 763183908 135519629 731936598 211333607 338370105 950862675 53028773 461274569 989696303 408244002 329574367 849035201 688597242 145847415 664490073 26375227 623090438 88469907 53590481 527985132 154693260 32466209 894267291 923159887 679521131 577714620 575485118 834500260 461649452 413843857 46945925 857102413 263798126 319424815 668281990 566096351 762227828 901304975 560556517 664295306 663667470 207023050 22576092 823787812 522063456 838379139 681690682 922220234 572589546 434526689 495241145 59706771 693375965 54153332 699856917 428142800 942297502 647911422 448316745 391779414 97299507 838379139 626837013 542986495 561494895 520086201 790809628 777440440 407009263 495712606 379109457 175590565 586392635 631700842 966561320 586392635 49212342 660639438 276260520 970265761 473150723 984117471 968396048 628220249 281083465 490869221 560637528 742174392 704672739 595427792 268947673 854398124 21873594 705118513 700120477 818829472 817693389 295958449 433439854 865880334 746419439 454563819 765137854 29287119 416739210 665446719 306854073 683531283 763183908 690664050 748526814 679670176 77564723 381881872 318110611 443342808 12903603 740224085 43897314 470803824 368704535 109891495 462383923 197307546 96109344 484471406 232018015 268947673 358362276 66483968 286319692 39885396 505655512 17012234 868838278 819963767 275463593 741463146 26537314 456401701 168494769 443342808 465892383 163789960 579690895 902419092 742174392 438872920 812140416 495336832 868838278 960643177 155376172 209977170 302277738 232531633 603620710 850101344 730824918 907456227 683489839 431837446 553190572 730824918 723200871 71713295 703311448 443342808 713199217 688380735 395983136 146171038 989747990 863278761 373771611 323513395 957144144 730824918 194126353 704672739 29592557 145847415 561494895 295805912 590138438 443342808 685097645 2433982 779829204 186539666 833220245 854398124 686649778 857102413 627589268 262575582 784371166 142117376 942297502 238442797 814490763 140395123 682038125 215802236 830162158 804352169 909186692 413494386 951926549 763281688 365407761 469035792 791932302 842306692 337502849 527985132 21873594 709403855 719457202 7545447 693375965 334677549 29734308 864561721 53590481 477076784 689897360 508037594 818974853 260307180 560556517 22576092 199386661 457715535 916321789 77299524 111985669 95443860 976942240 823787812 49208976 115470851 830994144 828722364 112624754 726776295 679521131 718229961 864350394 385144989 965067805 22576092 991067365 659501910 219896364 503810504 59501988 447434673 301714930 117303447 628220249 420773560 731936598 434526689 71713295 627376276 302277738 679275202 729941138 211362614 335890204 575541534 32796250 591284702 977619929 879954113 523542917 745215401 330785266 408244002 348123399 254756796 288542157 291386915 868211619 457715535 473150723 337458711 708274346 817331802 897789362 865880334 914662962 357329820 590783394 379109457 721867658 679521131 118534662 327982936 491978273 997432376 997432376 228137178 814490763 165622114 582319429 107596959 274831438 686649778 734712823 72794624 32466209 57801759 791183444 379213018 566096351 807820896 435984127 908463563 -1 -1 942627653 520086201 194126353 987705926 865880334 541460419 127278512 349032071 49208976 112624754 46011383 893652215 102379477 238442797 893652215 801402068 647427996 468199498 223785502 417425319 495712606 832364259 731745766 485683712 664295306 830994144 345072009 593587398 712694937 542986495 647290016 490869221 -1 916738849 965067805 663946492 868838278 427618367 334677549 580283317 -1 668250239 979580407 229515163 182659876 422331486 740224085 13384724 418807544 667841561 365679164 340301060 472516679 663307073 832494905 538432928 852837035 452820542 704672739 18404492 247165890 614459776 484471406 981763217 661932839 524972471 503810504 238442797 890844482 72794624 712694937 71713295 800463769 690664050 848715178 920219729 18299476 679670176 909186692 894267291 67592009 26375227 327789615 845211351 711501588 373683372 705118513 950629972 297175900 251692591 910794274 935910737 175144765 137132982 579991057 701070480 265395517 248636995 705622548 622918995 745924515 566096351 763183908 984117471 938954818 967987535 329542777 572589546 138790019 707186544 739554266 676685933 999674172 701070480 79097209 338370105 416756465 288628682 987705926 191697350 788878491 942297502 401672699 807820896 704672739 977619929 33812208 416756465 466852129 958339854 789404113 165753 112302971 97299507 721120553 16475116 888304663 -1 433348815 378610966 368935143 198016418 244883660 551345512 780117964 830994144 92102199 627589268 16475116 705622548 543122079 863667577 740224085 785376602 92112290 800463769 295805912 223030820 243995015 73525554 175554418 541460419 845459462 765137854 857269083 167036027 635671105 160366715 175144765 211333607 880938198 28576479 288542157 466852129 750156197 571736161 239987054 135519629 966561320 799467751 582861386 73525554 613084013 175554418 940104206 760624728 306767836 669125354 123550994 363811064 685097645 970265761 228902962 850351456 263636646 469384372 150137560 13841075 208028672 336862767 938914563 115470851 71713295 894991717 18299476 470803824 940104206 437863021 610932880 635671105 456487084 850351456 39885396 953838288 29592557 791932302 406568384 110556435 741463146 610932880 77564723 92160628 907456227 942045496 651109313 188196698 91064641 828722364 53590481 997299598 317871021 336688564 462383923 119601349 472516679 745924515 163091630 958339854 838379139 241693686 79097209 593587398 549323513 916738849 966503495 437517579 345072009 368935143 84062198 785376602 67592009 22393976 669742991 922171930 686865014 873072247 725418770 859930182 730756715 553190572 627561325 834500260 275463593 476084224 858159813 751316591 701070480 871898006 746419439 823933296 942045496 427618367 729941138 386935154 229821643 201066749 667300705 335743200 91064641 943374902 563823514 761888635 914206506 214317232 386381016 -1 885077908 507969865 355756362 79097209 914291169 260307180 156929061 569422962 189854783 683531283 976942240 634983639 761021239 14405655 468199498 432069691 346394348 63562141 770278321 982581137 563823514 522063456 459789430 542661640 319424815 432069691 666590606 750156197 373683372 644187365 873072247 728492414 883564101 54164180 480210823 827132364 814490763 54164180 191697350 634983639 850351456 296417374 668250239 838379139 647290016 384604556 489295045 822261941 991188064 -1 623188968 319379178 943374902 115639466 575485118 935910737 490869221 214317232 807648187 922220234 400907045 301714930 466852129 676685933 619868736 858159813 219896364 346188490 577714620 329542777 857102413 469035792 845211351 561494895 254756796 707186544 -1 789404113 -1 207023050 626837013 398981201 830162158 748186132 454563819 890844482 112302971 699856917 398981201 718577411 788878491 303139271 137132982 579690895 730756715 448316745 290604263 428413005 182026506 537867109 156929061 728357838 672907310 894991717 480210823 466852129 182429059 183843307 301714930 254167164 842871738 271516194 822261941 690664050 28416726 940104206 321467204 480210823 593282222 330583346 538432928 882812597 118534662 167036027 238442797 424697572 699856917 833246783 368779111 610895287 675573324 560556517 891436447 559785274 238951985 823787812 250810872 827132364 163789960 165622114 579783784 801326287 608724072 107596959 84062198 751964866 867723620 966561320 87162480 244155041 533560917 243995015 254528769 609637013 763281688 298868262 800463769 638293140 580918883 595427792 520086201 337502849 295958449 619868736 407009263 560637528 786075537 308232133 784597145 626837013 634536293 697184458 406717194 373771611 590603969 942297502 600962339 894267291 968396048 199770581 317871021 334677549 795730704 248636995 327789615 154693260 663946492 701070480 312308223 527897224 307476694 454563819 668281990 270206207 675786233 922171930 614459776 938914563 660738659 385144989 679275202 601762202 373683372 56105859 466852129 319424815 989696303 113811391 868838278 4610166 115639466 275463593 997299598 -1 381881872 393835525 833220245 427675535 894991717 897789362 414918047 -1 619868736 751964866 391779414 19140171 465892383 610069705 403334160 420425052 223030820 923159887 66483968 254167164 761021239 386381016 95779603 358191652 374972287 140395123 198703751 961821360 234968285 683531283 160366715 820211254 871898006 325287502 155906400 753145692 488751710 679521131 682038125 138790019 57801759 486307671 411907778 763183908 818974853 159647580 365679164 811841566 966561320 156929061 708274346 975269268 746419439 543006155 41260287 645276436 868838278 782594982 418807544 916738849 432504521 149052945 57801759 688597242 991067365 341012648 683489839 159056677 563823514 691740164 842871738 765137854 169614935 91064641 750763843 493264770 879954113 54164180 645276436 637964511 22393976 72794624 859063396 156929061 722672739 49208976 456401701 91064641 651109313 29734308 927530478 454563819 214924123 288628682 789495739 716182336 231771136 979285058 849035201 413494386 368704535 770680522 443342808 470803824 192251969 406430184 71713295 433756914 614593757 130580 543006155 686865014 295805912 519762398 155906400 146171038 883564101 29592557 111122929 228137178 146197290 113804160 491543933 368935143 697374453 237773442 146197290 637964511 861208333 41524303 403334160 3090244 223785502 572311287 88469907 592274818 594204193 111985669 352508141 580470806 165622114 206644601 457715535 491294665 770278321 690863334 559785274 119601349 114396999 155906400 675786233 770847694 907772025 28576479 569422962 228902962 206287347 967987535 682038125 867933639 28416726 205644911 206014003 999674172 830544982 622918995 317871021 323513395 691504106 301334993 842871738 993786079 658388576 635671105 828722364 704672739 622823007 867933639 982693874 59706771 993786079 330583346 591284702 879954113 307476694 115639466 113804160 367754743 308232133 473150723 45426260 850636024 638076633 198703751 241693686 239987054 217928587 827132364 681690682 814490763 763281688 685097645 345102555 432504521 229515163 284387166 165753 935910737 942627653 186539666 997432376 670979891 823933296 112624754 177905368 774149146 420773560 763856958 718577411 286319692 437517579 977619929 551345512 901803305 577714620 211550817 81866966 614593757 117303447 422331486 75228974 664490073 718229961 466034328 914206506 914662962 686649778 140395123 763183908 427618367 79097209 500268473 470690645 57551192 647911422 658212287 976942240 669655791 695553778 897789362 203018461 288542157 163789960 284859244 832494905 473150723 830162158 163091630 86361620 950862675 830162158 693375965 966561320 472407762 845211351 458547544 260307180 801169129 28576479 43392732 437863021 -1 -1 203580162 682038125 977467597 46485154 22393976 395983136 531136661 84062198 73453883 967987535 155997760 283107224 420773560 973579758 229405480 198628726 86361620 385144989 456401701 206644601 57801759 950862675 594204193 602811046 284387166 37724537 63210631 814490763 830162158 571736161 216195055 789404113 882812597 804352169 171504845 524542574 493264770 563823514 389956215 666590606 434526689 846213413 146197290 721120553 620059513 424697572 368764047 723200871 494923774 434526689 685097645 73525554 146171038 562309509 -1 903297209 786969334 562309509 232531633 751964866 533367205 660639438 327789615 181721636 685097645 572311287 54164180 799467751 448316745 623090438 882812597 211362614 660738659 234968285 663946492 729178187 627376276 976942240 393835525 336688564 682038125 658212287 -1 704672739 524972471 742174392 446355059 302277738 703311448 325287502 32796250 943374902 135519629 937638157 146197290 637964511 760624728 628984381 319424815 -1 363579344 -1 250810872 122896725 434526689 609637013 647911422 175590565 2433982 638293140 346394348 927530478 595427792 868838278 731936598 922220234 937638157 692204091 688597242 244883660 634983639 203493552 766504018 265395517 765137854 247165890 782619049 189854783 427675535 243341711 535432483 909186692 95443860 336862767 107596959 116545387 110556435 938954818 57606083 622737539 871898006 214924123 182659876 330318834 893897082 989696303 159647580 649175882 466034328 697184458 203493552 323513395 729178187 622737539 910794274 663946492 344240078 774149146 162425880 -1 433756914 465892383 966503495 610613670 444874800 753145692 845459462 111985669 280856350 520011864 268947673 92160628 908463563 610895287 599555786 231771136 453407680 863667577 349032071 368935143 57801759 769837665 818829472 413494386 774149146 420342620 92102199 880938198 507142051 433348815 138533159 336862767 789495739 679670176 527897224 977619929 188196698 490869221 329542777 680666684 70161655 203580162 46945925 788878491 468107571 937638157 627376276 381881872 757544011 943374902 861383306 109891495 -1 358362276 957144144 175884183 667300705 697374453 991188064 301334993 722874144 365407761 296417374 71713295 591700510 604148770 857269083 107596959 37081879 725418770 719457202 295805912 595427792 485683712 -1 476084224 567600315 411999902 -1 586392635 137132982 55517047 610613670 -1 303139271 985045640 29592557 719457202 628220249 784597145 667169560 231771136 245677831 788878491 130431610 893860727 628220249 408497768 903297209 66483968 560556517 789404113 203580162 852782081 373683372 591700510 318110611 251692591 175554418 908705907 970265761 163091630 982581137 795730704 365407761 785866095 979580407 219896364 757544011 203493552 533560917 297175900 284696682 389956215 850101344 591284702 142117376 711501588 966503495 938446553 49212342 538432928 724422672 768744535 427675535 505655512 746419439 296417374 912506727 763856958 937633254 920219729 649175882 555828167 17012234 562309509 641205608 950235340 14405655 280856350 203580162 490869221 468199498 406430184 392826688 664295306 638076633 864350394 774937853 527985132 767047665 373771611 312308223 681690682 914662962 823933296 660639438 691504106 710730165 77299524 880665324 641205608 603620710 882812597 580470806 555828167 216195055 407009263 785247749 432504521 575541534 675573324 29734308 206644601 2433982 594204193 689608865 518109595 710730165 165753 649175882 842871738 942384956 92112290 228902962 827132364 656206261 301334993 182026506 741339101 -1 746419439 748186132 485683712 60744503 634536293 568090820 628984381 203018461 989747990 920219729 348123399 182659876 273365488 22576092 330318834 785866095 908463563 590138438 667841561 893652215 724422672 881489135 70161655 424146759 893860727 555548888 112302971 500268473 114396999 723933984 297175900 408497768 806195787 641164921 740364356 865880334 244195221 834500260 580283317 567600315 468199498 627561325 588150191 938914563 182659876 197115342 595427792 769837665 205644911 112624754 705622548 609637013 229405480 942627653 765954927 447434673 679670176 524542574 543122079 542661640 57551192 812140416 214924123 12903603 658388576 535432483 632336991 920219729 647427996 495336832 834500260 673965031 110556435 59706771 74820195 215802236 199770581 47116225 675573324 -1 495241145 -1 907772025 635671105 920219729 182429059 18299476 951926549 365679164 833220245 686385319 622918995 596943234 626837013 441949925 984895249 29272319 92160628 852782081 850101344 595427792 610895287 864561721 349032071 209977170 525617132 489295045 214924123 198703751 111985669 750769230 228902962 627589268 689608865 761021239 957144144 523542917 345102555 -1 634983639 750763843 834500260 827132364 922171930 560814638 943374902 273365488 627589268 205644911 991067365 13384724 29734308 325287502 461274569 560455121 167415720 596367148 186539666 60744503 659501910 601762202 303139271 262575582 574924220 232531633 34030354 527985132 868211619 850101344 663946492 861208333 664295306 635671105 441949925 594204193 254756796 469384372 991067365 818829472 54153332 84062198 661932839 588150191 730756715 352607876 553190572 686865014 818014838 953838288 308232133 330318834 982693874 86361620 667300705 494950691 620059513 637964511 579783784 507969865 284859244 790809628 667169560 111122929 833246783 499941413 647290016 661932839 295958449 138790019 903297209 453407680 199770581 579783784 676709331 520086201 974521569 73453883 110556435 561494895 303139271 779829204 831985335 667300705 352607876 533367205 519762398 940104206 891436447 349772488 973579758 748526814 438872920 632336991 680666684 819523467 28416726 537867109 852837035 325845006 365679164 522063456 538432928 830994144 174295016 37724537 168494769 465892383 548806448 47116225 505655512 656489207 149830598 795730704 373771611 927530478 593587398 308232133 495336832 561553313 53590481 771459106 275463593 868838278 580918883 378409769 424697572 966503495 676685933 327982936 691740164 145847415 433439854 777440440 663667470 746419439 485683712 986331373 814490763 448316745 575541534 817331802 532861718 846213413 374972287 723933984 937633254 693375965 641164921 206014003 273365488 922171930 683489839 987705926 533560917 270206207 979580407 644187365 559785274 857269083 610613670 268947673 675573324 688380735 670408229 904818318 748526814 612885490 586392635 456863895 96109344 730824918 252012472 32796250 705622548 132774876 745924515 686385319 554782737 560556517 669125354 817693389 37724537 163983150 804352169 140113105 997432376 117303447 742174392 995194212 718229961 785866095 711503207 812752908 566096351 541463939 614593757 301334993 494923774 146171038 850636024 273365488 295805912 75228974 868838278 403334160 561494895 647427996 718577411 130431610 901803305 165753 406430184 593587398 113811391 365407761 205644911 37724537 734712823 958339854 894991717 270206207 312308223 239987054 817331802 434526689 284859244 960643177 731745766 78898063 281083465 433439854 219896364 363457997 542661640 753145692 112302971 428413005 669125354 991067365 767047665 849123482 480210823 697184458 608724072 162425880 346188490 532861718 784371166 205644911 348123399 248636995 533367205 72643683 434526689 119601349 159647580 398981201 7545447 818829472 908705907 333260763 665446719 939563959 146171038 416756465 791932302 308705211 456487084 859930182 850351456 18404492 336688564 533560917 18299476 456863895 512615132 861115508 232531633 254756796 596943234 466034328 731745766 41524303 691214891 406430184 909186692 661932839 618312173 531136661 748526814 560814638 208028672 208877360 988919874 914662962 927530478 177905368 81866966 942627653 33812208 341012648 565554630 728492414 857269083 92112290 832494905 116545387 790909002 243995015 13841075 580283317 213926602 863278761 801402068 660639438 758575350 723933984 488751710 346394348 333772685 229515163 628984381 495336832 448316745 807648187 368704535 413494386 823933296 150137560 922220234 641164921 13384724 590603969 491543933 819963767 374972287 711501588 406568384 725418770 427618367 577758652 219896364 286319692 771459106 891573253 95779603 231771136 168494769 564190579 822261941 63210631 154693260 935910737 325287502 860724917 555828167 998120269 641205608 491294665 882812597 623090438 559785274 560814638 168494769 804352169 333260763 623188968 327789615 578238211 29272319 444874800 979285058 375673341 859930182 18404492 665446719 614459776 560455121 14405655 329542777 718229961 46485154 216195055 937638157 355126439 828722364 444874800 295504204 679521131 542661640 861208333 329542777 321467204 408244002 623090438 408244002 779829204 819963767 658212287 26537314 119601349 208493418 647427996 645276436 345102555 63243152 943374902 668281990 812752908 849035201 644187365 60978603 495241145 818974853 699856917 699856917 880665324 428413005 63243152 503810504 818974853 162425880 -1 880844104 659932705 355756362 96109344 725418770 818014838 432069691 317871021 325287502 560556517 183843307 811841566 788878491 626837013 914662962 470690645 169614935 667300705 685423362 980134651 592274818 974448855 72263116 721120553 408244002 850636024 49212342 281083465 786075537 795730704 290604263 399202754 820211254 665446719 614297261 610895287 957643716 142117376 807648187 107596959 819523467 274831438 260307180 79097209 325845006 849035201 520086201 408244002 22393976 199386661 935910737 357329820 112302971 346188490 39885396 582319429 543006155 531136661 199386661 337458711 635671105 207023050 238442797 548806448 785247749 908705907 471865558 461274569 880665324 295504204 378610966 849123482 937633254 836680980 177905368 470803824 890844482 814490763 263636646 208028672 246216644 563823514 470803824 731745766 940104206 39885396 568090820 574924220 312308223 885077908 580470806 275463593 603620710 37081879 21873594 989747990 729941138 700120477 386935154 494950691 834500260 199770581 664295306 53028773 723933984 499941413 46410909 679521131 454563819 614459776 57551192 507969865 470803824 38372578 67592009 560556517 729178187 336862767 818014838 340301060 670979891 828722364 572311287 880938198 175590565 -1 37724537 29592557 532861718 880844104 767047665 160366715 175884183 507969865 477076784 614297261 679275202 631700842 784371166 400907045 -1 67075526 275463593 164542502 96109344 790909002 228137178 274831438 297133830 161017478 387384744 569422962 710113373 919585635 216195055 203493552 368704535 579783784 49212342 739554266 739554266 957144144 551345512 668281990 45426260 974521569 660639438 155376172 60081926 626837013 914291169 831985335 543122079 14405655 633637325 979580407 398981201 433756914 386381016 208028672 769545495 627561325 998120269 171504845 262575582 345392984 18794770 458547544 191697350 417425319 685097645 863278761 655834254 345102555 432504521 820211254 284859244 755527023 827132364 691740164 238951985 774937853 155997760 531136661 130431610 568090820 804352169 612885490 368764047 18794770 357329820 676709331 689897360 237773442 160366715 205644911 494950691 894267291 206644601 861383306 897789362 739554266 757544011 217928587 697374453 769837665 111985669 705118513 600962339 408497768 318110611 582319429 575485118 291386915 909186692 142117376 444874800 596367148 555548888 799467751 168494769 942627653 427618367 801326287 284696682 434526689 882812597 891436447 881489135 428747955 418807544 12903603 330318834 634536293 345072009 346394348 970265761 318110611 986331373 428413005 731745766 159056677 466852129 893860727 880938198 425469326 579690895 113804160 922171930 790809628 818829472 914291169 368779111 766504018 254756796 373683372 113804160 330583346 29592557 609637013 602811046 782619049 368935143 791183444 770847694 986331373 705118513 16475116 307476694 758575350 223785502 155906400 395983136 679670176 79213361 489295045 685097645 692204091 723200871 852837035 174295016 854398124 641205608 428142800 676685933 675573324 164542502 818974853 857102413 940104206 163091630 668250239 763281688 114396999 575485118 965067805 260307180 608724072 115639466 420425052 29592557 291386915 814490763 593587398 746419439 559785274 349772488 746419439 659932705 718229961 999674172 991067365 481127177 512615132 958339854 354949635 901803305 348123399 541460419 789495739 86256730 641164921 686385319 579690895 811841566 749101296 159647580 740364356 443342808 707186544 262575582 755527023 995194212 626837013 146171038 127278512 966561320 763183908 457715535 354949635 245677831 1713096 668250239 997299598 53590481 433439854 459789430 885164572 717390689 974521569 594204193 577714620 740224085 722874144 447434673 113811391 610932880 588150191 284859244 656489207 493264770 894991717 784371166 275463593 123550994 864350394 846213413 96109344 563823514 260946873 301714930 415965469 723200871 167036027 72643683 984895249 847840320 149052945 668281990 697374453 893860727 979580407 373771611 966503495 1713096 92102199 489295045 46485154 374972287 265395517 571736161 982554231 454563819 335890204 984182750 427675535 593587398 713199217 635671105 95779603 146197290 942627653 861383306 67592009 59501988 491978273 572589546 123550994 414918047 845459462 716182336 807820896 731936598 638293140 443342808 71713295 592274818 580884227 37724537 745924515 18404492 705118513 730909832 560455121 186539666 850101344 745215401 751964866 301334993 21873594 352607876 716182336 330583346 451474906 548806448 780117964 26375227 96109344 647911422 53028773 72621546 26537314 494923774 596943234 757544011 610932880 524542574 319379178 950235340 789404113 582861386 748526814 330318834 308705211 957144144 284696682 784597145 426480224 165753 95779603 575485118 301334993 770847694 670979891 63243152 725418770 485683712 520086201 975269268 942297502 980134651 284696682 72621546 18794770 137132982 638076633 175884183 626837013 565554630 19140171 276260520 72621546 950862675 786075537 17012234 982581137 346188490 446355059 288542157 137132982 942384956 132774876 424146759 411999902 325845006 686385319 670979891 596367148 590603969 189854783 953838288 182429059 590138438 469743398 627376276 675573324 472516679 815472010 946112218 53590481 782619049 637964511 466034328 363457997 198703751 673965031 4610166 306767836 175144765 785247749 608724072 627376276 437517579 729178187 41260287 54164180 91064641 154693260 237773442 859962837 842871738 800463769 19140171 475822349 367754743 446355059 588150191 163091630 760593154 836680980 910794274 533367205 834500260 591284702 708274346 842306692 610613670 770680522 564190579 159647580 785247749 201066749 336688564 723933984 32466209 622823007 275610416 391779414 602915291 849123482 312308223 588150191 507969865 395983136 690664050 882812597 542661640 317871021 691740164 609637013 441949925 976942240 790909002 174295016 982693874 95779603 454563819 -1 939563959 377651896 572589546 239254051 171504845 984895249 692204091 888304663 713199217 13841075 239987054 614593757 975269268 182026506 447434673 716182336 753145692 645695407 563675995 623090438 456487084 107839247 786075537 214317232 939946968 3090244 950862675 942297502 966503495 591700510 711501588 459789430 490869221 707186544 908705907 466034328 531136661 554782737 400907045 26537314 771459106 477076784 919585635 387518405 665446719 519762398 666590606 417425319 473150723 635671105 527985132 667841561 681690682 748526814 352508141 250810872 680666684 686649778 710730165 750429264 527985132 228137178 137132982 731936598 659501910 170824557 697374453 909186692 284700142 192251969 593587398 301714930 991188064 301334993 577714620 622737539 86361620 699856917 484471406 491978273 830544982 580470806 551345512 800463769 239254051 243995015 408244002 799467751 603620710 645695407 434526689 248636995 984117471 273365488 943374902 746419439 580283317 365679164 448316745 358362276 381881872 107596959 669742991 790909002 634983639 466852129 661932839 281083465 885164572 729178187 123550994 586392635 705118513 254756796 623090438 622737539 789404113 67592009 281598862 336688564 766504018 943374902 448316745 95443860 914662962 700120477 346188490 260946873 927530478 127278512 966503495 626807589 284859244 466034328 22393976 197115342 935910737 281083465 582861386 702444538 610613670 683489839 150137560 206644601 494751627 582319429 593282222 363457997 3090244 973579758 332773543 580884227 70161655 427618367 263798126 751316591 111122929 107839247 170824557 208028672 561494895 155997760 538432928 520011864 465892383 992563691 703311448 966503495 708274346 321331882 828722364 426480224 276260520 254167164 663307073 950629972 155906400 286319692 206014003 384604556 265395517 784597145 789495739 346188490 786969334 670979891 75228974 505655512 560455121 34584857 785247749 722874144 303139271 393835525 444874800 938954818 -1 217928587 441949925 319379178 427675535 591700510 57551192 -1 33812208 908705907 676685933 -1 47116225 880665324 560637528 75228974 216195055 987705926 28416726 21873594 186539666 807648187 939563959 346394348 838379139 705622548 203018461 -1 656206261 766504018 435984127 335890204 760624728 198628726 785376602 543006155 982554231 907456227 740224085 763281688 888304663 355756362 393835525 444874800 466034328 690664050 637964511 77564723 163983150 400907045 21873594 63243152 4610166 296417374 854398124 165622114 708274346 702444538 535432483 784597145 541460419 675786233 215802236 117347524 942045496 301714930 318110611 149830598 673965031 214317232 363579344 679275202 424146759 318110611 -1 699856917 13841075 627561325 595427792 682038125 379109457 113804160 977619929 647911422 989747990 707186544 626837013 676709331 60081926 848715178 660738659 566096351 695553778 363579344 201066749 473150723 880844104 729941138 864350394 811841566 571736161 669655791 243341711 160366715 432069691 109891495 879954113 760624728 977619929 683531283 879954113 885077908 626837013 37724537 165753 567416830 649175882 209977170 217928587 29592557 668250239 205644911 908463563 298868262 756425389 206644601 741339101 491978273 850351456 627376276 723200871 263636646 883564101 520086201 568090820 79213361 355756362 765137854 679275202 418807544 730909832 690863334 476084224 73453883 984117471 91064641 -1 432069691 213926602 721120553 586392635 214317232 666590606 914662962 731936598 762227828 842871738 817693389 580470806 830994144 914662962 688380735 288628682 72643683 425469326 254756796 690863334 903297209 508037594 644336340 532803555 626837013 523542917 718577411 984182750 373683372 186539666 791932302 169614935 807648187 579783784 784597145 852782081 110556435 461274569 710730165 66483968 49212342 206014003 472407762 378610966 904818318 113811391 433756914 81866966 942627653 748186132 399202754 428413005 543006155 416756465 683531283 499941413 41524303 769545495 660639438 165753 686385319 863667577 32796250 569422962 679521131 49212342 569422962 751316591 420773560 -1 162425880 751316591 14405655 286319692 275610416 572589546 54153332 95779603 81866966 161017478 873072247 161017478 791932302 28576479 868838278 741463146 188196698 893652215 723200871 308232133 888304663 18404492 115470851 254756796 363457997 770278321 346188490 512615132 882812597 903297209 590138438 130580 425469326 118534662 263798126 340301060 28576479 838379139 970265761 386935154 26375227 533367205 250810872 880446976 29287119 701070480 466852129 651109313 610895287 731936598 493264770 244155041 814490763 72643683 348123399 208028672 820211254 441949925 107808575 848715178 426480224 472407762 115470851 490142300 319424815 116545387 930790502 161017478 32796250 567416830 319379178 231771136 901803305 563732029 297175900 769545495 922220234 43897314 254756796 628984381 817693389 627589268 930790502 154693260 974448855 246216644 301714930 656489207 182026506 88469907 984117471 580470806 683531283 37724537 332773543 276260520 902419092 406483013 67075526 603620710 662235717 647911422 1713096 722874144 730824918 774149146 438872920 634536293 777440440 415965469 -1 427675535 102379477 514721585 623090438 984117471 548806448 950862675 500268473 831985335 229821643 214317232 726124644 208877360 130431610 118534662 461274569 760593154 28416726 750429264 512615132 -1 690664050 317871021 86256730 801169129 610069705 468199498 214924123 63210631 491294665 32466209 645695407 979580407 461649452 46945925 904818318 686649778 413843857 60978603 471865558 78898063 169614935 710113373 999674172 765954927 298868262 914291169 849035201 938446553 992563691 286319692 833220245 60744503 456487084 691504106 175144765 765954927 431837446 386935154 237773442 346188490 786892734 159647580 295504204 420773560 53590481 746419439 495712606 997432376 880665324 569422962 938954818 769854437 873072247 241693686 958339854 739554266 634983639 175590565 188196698 554782737 662235717 662235717 494950691 923159887 604148770 175590565 766504018 232531633 961821360 57606083 601762202 894267291 321467204 541460419 675573324 820211254 387518405 493264770 260307180 791932302 790909002 823787812 57606083 538432928 46011383 213926602 894991717 159056677 645695407 812140416 441949925 444874800 568090820 239254051 740224085 86256730 72621546 26537314 -1 788878491 854398124 403334160 275610416 665446719 806195787 559785274 707186544 469743398 762227828 801402068 988919874 525617132 41524303 229821643 92160628 519762398 14405655 57606083 327982936 -1 329574367 160366715 171221433 251692591 812140416 301334993 718577411 229821643 647427996 386935154 481127177 203493552 165753 831985335 641205608 746419439 16475116 67592009 420342620 627561325 160366715 938914563 634983639 -1 623188968 70161655 770278321 602811046 745924515 70161655 726776295 688597242 2433982 718577411 159056677 668250239 114396999 669125354 13841075 109891495 317871021 830544982 495241145 976942240 491294665 542661640 330318834 468199498 43392732 601762202 533560917 49212342 379109457 270206207 641205608 47116225 741463146 165753 519762398 641205608 284700142 446355059 950629972 416756465 363579344 519762398 182429059 830162158 -1 708274346 374972287 327982936 867933639 349772488 890844482 494751627 181721636 688380735 46485154 32466209 78898063 46011383 555828167 406430184 984895249 49212342 319379178 146197290 16475116 731745766 645695407 459789430 298868262 871898006 669742991 252012472 418807544 275463593 769837665 130580 177905368 203018461 26537314 406568384 748186132 647290016 634536293 935910737 927530478 247165890 427675535 670408229 751316591 645695407 596943234 818014838 647911422 686649778 507969865 273365488 495712606 716182336 746419439 500268473 532803555 398981201 38372578 771459106 811841566 34685076 252012472 580470806 980936845 610895287 566096351 177905368 669125354 758575350 950862675 973579758 582319429 782619049 946112218 465892383 709403855 879954113 223030820 919585635 112624754 284387166 722874144 181721636 119601349 426480224 812752908 329542777 989747990 914206506 477076784 232531633 734712823 760593154 53028773 317871021 378409769 658212287 916321789 524542574 705622548 154693260 721867658 365407761 614297261 408244002 930790502 2433982 183843307 622823007 731936598 769545495 894267291 786969334 790809628 271516194 53590481 79323336 730909832 610895287 207023050 70161655 922220234 985045640 997432376 238442797 622737539 167036027 628984381 660040051 171221433 702444538 920219729 408497768 345392984 408244002 939563959 406717194 265395517 22393976 709403855 305936785 239987054 729352677 14405655 881489135 757544011 358362276 42277380 79213361 524972471 208493418 84208996 228137178 683531283 680666684 700120477 819523467 910994573 757544011 426480224 563823514 428413005 354949635 198628726 564190579 622918995 695553778 79323336 443342808 386935154 123550994 922220234 194126353 594204193 970265761 728357838 655834254 401672699 163983150 107596959 834500260 553190572 565554630 822261941 365407761 41260287 208493418 812752908 53590481 174295016 53028773 -1 818974853 338370105 691740164 317871021 97299507 580283317 610069705 901304975 950629972 46945925 170824557 443342808 580470806 865880334 363811064 306767836 982554231 36050763 72263116 669742991 582861386 175590565 939563959 610895287 466034328 613084013 110556435 18404492 332773543 885077908 484471406 245677831 301334993 217928587 685423362 609637013 582319429 965067805 413494386 999101537 211550817 319379178 100130908 170824557 708274346 628220249 334677549 363811064 319379178 685097645 649175882 391779414 472516679 666590606 495712606 667169560 882812597 575541534 198016418 248636995 801326287 306854073 692204091 784597145 764751417 284859244 700120477 228137178 644336340 344240078 850636024 748526814 614297261 229821643 644336340 197307546 489295045 999674172 571736161 753145692 432069691 586392635 109891495 522063456 337458711 77564723 785247749 219896364 690863334 989696303 740224085 880844104 214924123 868211619 554782737 469743398 182659876 817331802 820211254 26537314 883564101 163983150 997432376 456401701 207023050 967987535 859962837 327789615 238951985 635671105 830994144 443342808 784597145 281083465 702444538 719457202 868211619 981763217 427675535 301334993 155376172 559785274 543006155 683531283 456863895 55517047 520011864 283107224 241693686 685423362 622823007 472407762 92160628 211550817 850636024 660040051 57801759 596367148 664490073 284859244 791932302 418807544 417425319 689608865 354949635 882812597 13384724 685423362 122896725 651109313 301334993 745215401 859063396 578238211 914662962 334677549 722672739 679670176 448316745 211333607 705118513 860724917 800463769 719457202 335890204 777440440 799467751 418807544 244883660 119601349 716182336 329574367 987705926 416756465 750156197 599555786 626837013 779829204 500268473 527897224 951926549 386935154 746419439 700120477 690863334 127278512 155906400 2433982 138533159 330583346 471865558 420425052 593587398 107808575 708274346 349772488 358191652 595427792 290604263 538432928 132774876 647290016 857269083 638076633 614593757 838379139 804352169 239254051 67592009 475822349 336862767 999674172 710113373 398981201 54153332 215802236 377651896 977619929 527985132 880446976 169614935 77564723 763281688 774149146 658212287 729352677 854398124 818014838 186539666 46485154 28576479 639572212 372510013 857102413 349772488 819963767 297175900 580283317 942384956 231771136 763281688 161017478 95779603 191697350 249558965 386381016 599555786 118534662 368779111 1713096 254528769 908463563 163091630 711503207 262575582 17012234 865880334 526755095 867723620 998120269 330583346 387518405 601762202 985045640 198628726 281083465 17012234 750156197 489295045 600962339 721867658 723200871 469743398 580918883 543122079 685423362 111122929 244883660 676685933 965993467 306854073 697184458 155906400 818014838 41260287 60081926 223785502 724422672 293155218 950235340 745215401 36050763 673965031 18404492 288628682 199770581 999674172 66483968 880844104 659501910 198703751 368704535 685097645 554782737 329542777 527897224 424146759 206287347 -1 357329820 112624754 155906400 274831438 940104206 475822349 229405480 849123482 693375965 731745766 512615132 164542502 909186692 358362276 337458711 39885396 260307180 882812597 323513395 389956215 329959527 22576092 769854437 113804160 165622114 337458711 908705907 345102555 378409769 130580 377651896 239987054 329959527 39885396 602915291 916321789 110556435 651109313 140395123 368764047 431837446 518109595 622737539 308705211 593587398 937633254 725418770 432504521 420773560 13841075 135519629 659501910 711501588 612885490 386935154 491294665 645695407 116545387 155906400 965993467 284696682 92102199 596367148 72263116 645695407 57606083 572311287 1713096 72621546 769837665 73525554 308232133 329959527 72643683 231771136 503810504 577714620 670979891 676685933 750156197 433114786 -1 385144989 670979891 561494895 208028672 34584857 665446719 850101344 610895287 610932880 728357838 156929061 930790502 984895249 470690645 117347524 232018015 986331373 301714930 938446553 574924220 216195055 807820896 22576092 448316745 100130908 663307073 116545387 647427996 812752908 341012648 818974853 697184458 367754743 288542157 785866095 7545447 290604263 527985132 346188490 572311287 989696303 761021239 243995015 638076633 602915291 593282222 649175882 457715535 94630229 580283317 602811046 198703751 92102199 770278321 330583346 443342808 520011864 569422962 414918047 72643683 168494769 730756715 891436447 807262913 358362276 683531283 229405480 800463769 163091630 241693686 461649452 832364259 171221433 626837013 481127177 381881872 42277380 138790019 637964511 345072009 298868262 306767836 488751710 770680522 599555786 454563819 358191652 995194212 318110611 999674172 21873594 543122079 368779111 135519629 161017478 645695407 864561721 332773543 243341711 358191652 591700510 670408229 756425389 891436447 977467597 288542157 29287119 471865558 986331373 644336340 967987535 729941138 288542157 433114786 295805912 113804160 659932705 571736161 36050763 86361620 372910848 679670176 476084224 658388576 647290016 867723620 472407762 565554630 317871021 283107224 716182336 596367148 142117376 861208333 861208333 177905368 560637528 -1 132774876 559785274 750763843 676685933 891573253 352508141 968396048 970265761 130580 373771611 682038125 13384724 345102555 214317232 -1 420425052 414918047 355126439 490142300 406568384 500268473 63243152 750763843 860724917 893652215 296417374 302277738 997432376 910794274 165622114 914291169 271516194 28576479 77564723 689897360 495712606 748186132 705622548 18299476 753145692 590138438 723200871 665446719 433114786 740364356 349772488 857102413 392826688 462383923 19140171 620059513 639572212 321467204 740224085 722874144 690863334 420342620 321467204 286319692 223030820 658212287 387518405 665446719 800463769 92160628 686649778 849035201 296417374 976942240 663667470 358362276 786892734 475822349 689608865 448316745 461649452 814490763 818829472 154693260 880446976 451474906 100130908 406717194 893860727 833220245 659932705 777440440 358362276 748186132 807262913 417425319 325287502 420425052 664295306 849035201 457715535 469384372 574924220 833246783 730756715 663946492 700120477 387518405 229821643 795730704 470690645 130431610 710113373 740364356 533560917 845459462 522063456 836680980 997299598 676709331 110556435 561553313 79097209 271708247 608724072 475822349 398981201 281083465 658388576 41524303 110556435 762227828 209977170 686649778 729941138 675573324 183843307 942045496 610932880 29287119 559785274 341012648 175590565 603620710 340301060 198628726 717390689 800463769 710730165 365407761 335743200 92102199 464037621 982554231 149830598 707186544 979285058 334677549 232531633 828722364 355126439 880844104 244195221 724422672 260946873 399202754 731745766 868838278 726124644 806195787 198628726 43392732 446355059 651109313 575485118 916321789 690863334 819523467 437517579 243341711 590138438 749101296 301334993 138533159 95443860 281598862 660040051 352607876 885077908 385144989 718577411 554782737 29272319 686649778 112624754 830994144 704672739 470803824 721120553 456487084 966561320 594204193 379109457 524542574 274831438 284859244 527897224 363457997 527985132 53028773 966503495 491978273 731936598 763856958 375673341 123550994 533367205 885077908 286319692 28416726 386935154 345072009 922171930 784597145 175554418 186539666 761888635 60978603 43897314 683489839 77564723 323513395 458547544 723933984 66483968 480210823 284700142 107596959 893897082 907772025 566096351 211070558 260946873 286319692 163789960 -1 335890204 868211619 538432928 461274569 965993467 595427792 927530478 149830598 358191652 150137560 189854783 84062198 676709331 846213413 13384724 999674172 599555786 991067365 593282222 665446719 610613670 219896364 63210631 763281688 229821643 596367148 43897314 729941138 284700142 234968285 730824918 950862675 575485118 72643683 293155218 252012472 92102199 197307546 49208976 518109595 811841566 387384744 564190579 216195055 910994573 745215401 782619049 828722364 319424815 489295045 146171038 53590481 669125354 527897224 985045640 500268473 649175882 608724072 206287347 146171038 209977170 995194212 110012494 998120269 865880334 734712823 110556435 46410909 4610166 270206207 14405655 206287347 709403855 807648187 229515163 842306692 411907778 239987054 268947673 183843307 842871738 634983639 564190579 859930182 416756465 336688564 451474906 374972287 757544011 593282222 74820195 863278761 319379178 198628726 836680980 686865014 273365488 590783394 977467597 690664050 -1 582319429 37724537 149052945 473150723 270206207 765137854 514721585 575541534 750429264 608724072 689897360 689608865 411907778 72643683 156929061 -1 308705211 54164180 43392732 786075537 111985669 406483013 703311448 323513395 238442797 750429264 254756796 203018461 885164572 199386661 683531283 660738659 349772488 14405655 938446553 542661640 428413005 590138438 56105859 168494769 57551192 750156197 533367205 49208976 614593757 691740164 301334993 11796756 232531633 140113105 345102555 604148770 37724537 609637013 780117964 32466209 679670176 751964866 769837665 942627653 329542777 603620710 634983639 730756715 993786079 469035792 206014003 437863021 812140416 469384372 73525554 427618367 822261941 923159887 87162480 692204091 488751710 332773543 927530478 699856917 514721585 976942240 693375965 559785274 -1 579783784 293155218 321331882 982693874 815472010 951926549 786969334 16475116 663307073 664295306 209977170 769545495 251692591 804352169 238442797 707186544 199770581 618312173 942627653 762227828 525617132 858159813 637964511 246216644 832364259 785247749 890844482 33812208 425469326 670408229 321331882 480210823 399202754 281598862 729178187 415965469 967987535 635671105 907772025 254528769 669655791 503810504 231771136 873072247 823933296 669655791 29272319 495336832 111985669 849035201 34030354 358362276 138533159 784597145 644187365 208028672 854062217 763281688 588150191 165753 146171038 771459106 358191652 211550817 251692591 722672739 337502849 252012472 355126439 815472010 519762398 960643177 427618367 740364356 688597242 363579344 880844104 109891495 788878491 591700510 29734308 770680522 942627653 763281688 17012234 381881872 268947673 582319429 721120553 885077908 764751417 114396999 784371166 182659876 819963767 641205608 999674172 644187365 745215401 192251969 263798126 43897314 579783784 86361620 950629972 998120269 663946492 181721636 670979891 295958449 56105859 938954818 406483013 286319692 140113105 811841566 618312173 780117964 935910737 167036027 334677549 182429059 784371166 634983639 566096351 448316745 563675995 413843857 769545495 102379477 555828167 433439854 627561325 -1 850101344 232018015 216195055 159056677 223030820 618312173 600962339 685097645 297133830 14405655 854062217 641205608 806195787 490869221 416739210 365407761 163091630 281598862 246216644 859063396 418807544 472516679 950235340 811841566 658212287 999674172 718229961 245677831 914662962 981763217 306767836 950862675 265395517 832364259 149830598 957144144 893652215 637964511 966561320 903297209 868838278 63243152 395983136 613084013 339350524 998120269 748186132 365407761 100130908 548806448 997432376 145847415 507969865 406483013 117347524 609637013 879954113 904818318 624015614 336688564 475822349 252012472 171221433 149052945 770278321 731936598 807820896 950862675 859930182 49208976 57551192 18794770 692204091 163789960 861383306 986331373 818974853 465892383 115639466 812752908 86256730 922171930 823933296 495712606 986331373 728357838 84208996 387518405 850101344 79323336 174295016 890844482 627589268 284700142 142117376 113804160 229405480 427618367 749101296 296417374 894991717 679275202 663667470 428747955 982581137 845459462 987705926 908463563 542986495 349772488 807648187 400907045 39885396 828722364 728492414 132774876 167415720 811841566 618312173 820211254 416739210 881489135 22393976 53028773 400907045 112624754 958339854 352607876 111985669 79097209 215802236 254528769 468199498 29592557 86256730 427675535 363811064 63210631 214924123 751964866 893897082 560556517 760624728 476084224 769854437 795730704 692204091 365679164 914206506 -1 710730165 846213413 456863895 658388576 57801759 647911422 845211351 175554418 175554418 55517047 532803555 163983150 703311448 804352169 231771136 281083465 861383306 777440440 16475116 162425880 938446553 -1 408497768 112302971 861208333 939563959 908705907 846213413 229821643 198703751 138790019 468107571 466852129 750156197 452820542 767047665 946112218 433756914 710730165 827132364 274831438 491294665 352508141 700120477 456863895 403334160 602811046 741339101 985045640 307476694 610613670 169614935 760593154 171504845 791183444 75228974 344240078 263636646 761888635 580884227 958339854 815472010 864350394 77564723 307476694 373771611 692204091 325287502 55517047 499941413 594204193 288542157 471865558 262575582 817331802 386381016 722874144 181721636 461274569 526755095 718577411 254528769 729178187 786969334 205644911 198628726 49208976 428747955 244883660 704672739 63210631 251692591 219896364 767047665 567416830 910994573 216195055 676685933 115639466 745924515 760593154 441949925 531136661 94630229 686385319 345102555 337502849 140113105 503810504 92112290 984895249 891573253 302277738 -1 864561721 130431610 660738659 785247749 893652215 868838278 916738849 880938198 656206261 406568384 691214891 572311287 623090438 37081879 349772488 73525554 987705926 822261941 77564723 644336340 169614935 254528769 214317232 499941413 973579758 138533159 675786233 175590565 791183444 254167164 610069705 378610966 930790502 722672739 603620710 740224085 72794624 250810872 284696682 966561320 284700142 495336832 14405655 590603969 163983150 432504521 95443860 469035792 998120269 633637325 560556517 957144144 264549124 779829204 112624754 281083465 992563691 729352677 667841561 722672739 804352169 263636646 697374453 893652215 41260287 901803305 564190579 620059513 254756796 811841566 820211254 579690895 340301060 17012234 232531633 683489839 270206207 873072247 306854073 201066749 427675535 801402068 182026506 447434673 914291169 229405480 632336991 319379178 967987535 245677831 750156197 658388576 995194212 229821643 817693389 885164572 976942240 244155041 579783784 758575350 785866095 249558965 464037621 647290016 232531633 560556517 756425389 857269083 883564101 740224085 37081879 603620710 634536293 53590481 435984127 298868262 789404113 693375965 268947673 569422962 590603969 -1 749101296 667300705 622737539 633637325 857269083 922171930 228902962 663307073 914662962 624015614 21873594 939563959 957144144 386381016 123550994 690664050 355126439 168494769 425469326 140395123 95779603 197115342 57801759 909186692 769854437 681690682 647427996 667841561 79097209 109891495 372910848 626837013 160366715 11796756 982554231 663946492 220059095 741339101 298868262 303139271 228902962 448316745 174295016 635671105 17012234 452820542 102379477 910994573 17012234 155906400 767047665 333260763 526755095 750769230 39885396 880938198 319379178 406483013 801326287 722874144 838379139 -1 800463769 710113373 770847694 845459462 165622114 29734308 378610966 295805912 741339101 318110611 683531283 590603969 420773560 992563691 46011383 679275202 594204193 433114786 666590606 114396999 658388576 29734308 750429264 704672739 559785274 211362614 167036027 812752908 991067365 77564723 215802236 182429059 43897314 560556517 387518405 830544982 325287502 580918883 466034328 881489135 206287347 867933639 975269268 849035201 867723620 637964511 92160628 433756914 561553313 330785266 610613670 262575582 801402068 614459776 507969865 567416830 691504106 367754743 471865558 626807589 109891495 938446553 647427996 567416830 770680522 582319429 679521131 863278761 115470851 495712606 -1 731745766 500268473 863278761 519762398 769837665 572311287 116545387 622737539 610613670 728357838 264549124 211070558 916738849 263798126 702444538 710730165 863278761 864561721 485683712 520086201 312308223 174295016 566096351 189854783 804352169 63562141 295958449 167036027 524542574 319379178 169614935 791932302 541463939 28416726 710730165 790909002 352508141 169614935 673965031 854062217 295805912 295805912 201066749 610069705 201066749 711503207 239987054 488751710 741463146 951926549 466034328 675573324 60081926 979580407 395983136 627561325 494751627 595427792 942045496 466034328 63243152 748526814 660040051 165622114 160366715 645276436 663307073 87162480 811841566 977619929 263636646 791183444 433348815 569422962 532803555 638011115 601762202 680666684 46011383 777440440 175144765 689897360 160366715 770847694 95779603 681690682 914291169 603620710 317871021 514721585 861208333 854398124 284387166 476084224 909186692 211362614 579690895 817331802 814490763 726776295 750763843 827132364 97299507 335890204 327982936 177905368 912506727 155906400 914206506 644336340 254756796 379213018 664490073 622823007 880938198 975269268 779829204 67075526 590603969 769837665 271516194 17012234 970265761 74820195 488751710 542986495 406483013 730824918 982554231 427618367 790809628 861383306 413494386 174295016 413843857 53590481 893897082 659932705 215802236 525617132 974521569 730756715 56105859 229821643 561553313 942384956 939563959 67075526 274831438 857269083 669655791 271708247 854062217 984182750 406717194 163789960 791932302 751964866 705118513 427675535 524972471 999674172 716182336 333260763 780117964 22393976 337458711 252012472 333260763 981763217 560637528 723933984 722874144 325287502 29592557 632336991 801169129 49208976 335890204 710113373 46011383 301714930 308232133 466034328 638076633 818014838 352508141 604148770 762227828 861383306 411999902 937638157 33812208 54164180 130580 819523467 532861718 26905429 830544982 413494386 393835525 102379477 403334160 518109595 337502849 974448855 406430184 767047665 873072247 115470851 750156197 78898063 831985335 336862767 728357838 494751627 943374902 142117376 117347524 998120269 122896725 188196698 774149146 818829472 53590481 424697572 330318834 923159887 726124644 638293140 365035648 848715178 531136661 612885490 333772685 336688564 731745766 729178187 769545495 254756796 428747955 845211351 260307180 336688564 750156197 177905368 378610966 817331802 288542157 408244002 553190572 208877360 560814638 113804160 745215401 586392635 977619929 620059513 549323513 974521569 102379477 276260520 984117471 297175900 208493418 977467597 786075537 365407761 723200871 21873594 761021239 812140416 -1 799467751 378610966 670408229 357329820 288542157 814490763 982693874 763183908 718229961 980134651 622823007 491543933 424146759 995194212 800463769 807262913 149052945 448316745 406568384 182026506 749101296 575541534 799467751 437517579 740364356 590783394 345392984 458547544 345102555 786892734 660040051 298868262 612885490 365679164 288542157 247165890 485683712 229515163 107839247 458547544 760593154 789495739 130431610 822261941 669125354 665446719 164542502 777440440 71713295 942627653 171221433 491978273 689897360 788878491 940104206 338370105 580283317 175590565 432069691 644187365 378610966 751316591 965067805 860724917 367754743 116545387 946112218 112302971 685097645 890844482 832364259 352508141 638011115 238951985 368779111 349772488 182026506 244195221 632336991 208493418 407009263 697374453 903297209 628220249 142117376 393835525 448316745 117347524 750763843 631700842 192251969 763856958 664490073 276260520 613084013 161017478 745215401 750429264 349032071 723933984 688380735 239254051 211070558 705622548 770847694 770680522 469743398 228137178 984895249 683489839 686865014 645276436 777440440 110012494 149052945 112624754 199770581 729178187 469035792 966561320 770847694 191697350 344240078 177905368 47116225 942627653 592274818 894991717 850636024 79323336 352508141 81866966 86361620 426480224 203493552 560814638 162425880 308232133 681823792 543006155 473150723 28576479 830162158 902419092 588150191 817331802 167415720 977619929 406483013 834500260 162425880 163789960 81866966 433348815 406430184 208877360 12903603 991188064 168494769 92160628 641205608 782594982 679670176 592274818 265395517 415965469 107839247 852782081 155997760 991188064 638076633 551345512 60744503 977467597 779829204 174295016 318110611 977619929 659501910 182659876 850101344 135519629 973579758 795730704 59501988 77564723 54164180 676685933 763856958 763856958 16475116 37081879 46410909 421927353 138533159 580283317 352508141 159056677 937633254 600962339 171221433 161017478 782619049 441949925 577758652 717390689 635671105 186539666 333260763 55517047 296417374 526755095 354949635 319424815 993786079 572589546 334677549 43897314 553190572 864350394 767047665 39885396 907456227 84208996 622823007 223785502 199386661 260307180 633637325 355126439 79323336 406430184 284859244 859962837 346188490 385144989 14405655 167036027 46410909 16475116 531136661 560455121 770278321 491978273 29272319 791183444 942627653 110556435 400907045 632336991 2433982 46011383 721867658 352607876 73453883 472516679 159056677 332773543 365407761 551345512 317871021 237773442 391779414 199386661 293155218 993786079 691504106 563732029 908463563 107596959 414918047 649175882 927530478 188196698 2433982 965067805 92102199 199770581 234968285 36050763 819523467 466852129 820211254 73525554 374972287 470690645 614297261 645276436 355756362 330785266 164542502 907456227 686385319 560814638 271516194 349032071 763183908 910794274 647911422 167036027 432504521 438872920 443342808 960643177 146197290 95779603 37724537 756425389 468199498 755527023 656206261 894267291 943374902 580470806 686865014 669655791 734712823 469384372 537867109 920219729 645276436 699856917 580470806 53590481 786969334 919585635 391779414 206014003 745924515 406430184 53028773 786892734 938446553 165753 966561320 799467751 420425052 930790502 87162480 417425319 197115342 499941413 543006155 774937853 960643177 374972287 110556435 378409769 345102555 70161655 378610966 514721585 660639438 861208333 443342808 13841075 859063396 341012648 553190572 72621546 705118513 669742991 142117376 976942240 469384372 951926549 860724917 448707988 582861386 939946968 321467204 618312173 655834254 901803305 868838278 967987535 77299524 427675535 885164572 786892734 953838288 620059513 699856917 553190572 832494905 602915291 205644911 770680522 935910737 691504106 801402068 769545495 914662962 731936598 953838288 690863334 92102199 675786233 363457997 491978273 559785274 422331486 18404492 470690645 140113105 327789615 60744503 718577411 175554418 223785502 448707988 710113373 812752908 46410909 13384724 368935143 564190579 28576479 627589268 79323336 667169560 966503495 730756715 49208976 56105859 645276436 901803305 817331802 288628682 305936785 29734308 880665324 306854073 938954818 22576092 661932839 337502849 330785266 381881872 95443860 782927012 79213361 456401701 297133830 32466209 690863334 216195055 741339101 543006155 420773560 485683712 160366715 526755095 199770581 352508141 205644911 495336832 406430184 49208976 750763843 406568384 593587398 284387166 916321789 117347524 234968285 880446976 288628682 868838278 329959527 693375965 427675535 999674172 859063396 92112290 154693260 162425880 656206261 942627653 431837446 295504204 146171038 491294665 614297261 214924123 822261941 789495739 543006155 982581137 764751417 175144765 590138438 165622114 566096351 18404492 156929061 833246783 507969865 679670176 854062217 861383306 854062217 79213361 246216644 627589268 614297261 691504106 491294665 780117964 537867109 992563691 974521569 577714620 241693686 859063396 791183444 586392635 988919874 -1 708274346 807820896 756425389 214924123 345102555 667841561 480210823 368779111 437517579 740224085 154693260 37081879 751964866 368704535 935910737 995194212 348123399 885164572 532861718 673965031 865880334 970265761 791183444 707186544 703311448 907456227 914291169 433439854 333260763 42277380 786892734 19140171 761021239 909186692 55517047 363457997 745215401 239987054 387384744 448316745 691504106 893897082 162425880 275463593 748526814 541460419 676685933 861115508 232531633 812140416 368764047 2433982 575541534 871898006 163983150 288542157 819523467 535432483 418807544 385144989 250810872 910794274 181721636 789495739 664490073 358191652 -1 730756715 791932302 563732029 330785266 214317232 472407762 116545387 154693260 588150191 721120553 308705211 560637528 761888635 590783394 71713295 67075526 668281990 408497768 667841561 645695407 989747990 593587398 988919874 213926602 248636995 672907310 669655791 894267291 109891495 603620710 626807589 541463939 488751710 281598862 312308223 970265761 575485118 827132364 667300705 352508141 298868262 318110611 594204193 610895287 28576479 386935154 786892734 722672739 325287502 88469907 729352677 421927353 979285058 399202754 -1 542661640 112302971 760593154 740224085 239254051 836680980 984182750 37081879 938914563 469035792 580470806 434526689 686649778 228902962 216195055 201066749 801169129 953838288 691214891 571736161 415965469 381881872 -1 989747990 146197290 842871738 191697350 92102199 770680522 411999902 679521131 647911422 408244002 541460419 567416830 46945925 823933296 574417829 777440440 418807544 177905368 669125354 593587398 -1 923159887 60081926 264549124 973579758 763183908 818014838 424146759 49208976 232018015 997299598 43392732 668250239 363457997 308232133 476084224 433756914 555828167 223785502 -1 254756796 29287119 873072247 115639466 686385319 575485118 248636995 317871021 199386661 154693260 675786233 864561721 920219729 469384372 780117964 979580407 352607876 807262913 420773560 610069705 864561721 386935154 508037594 833220245 721867658 367754743 127278512 352607876 491978273 774937853 982581137 301334993 220059095 175144765 538432928 301334993 470803824 135519629 854398124 41260287 29592557 476084224 965067805 707186544 448316745 904818318 784371166 270206207 656206261 543006155 216195055 244883660 118534662 323513395 997432376 146171038 448707988 100130908 599555786 903297209 939563959 332773543 220059095 780117964 247165890 163091630 192251969 70161655 970265761 679275202 189854783 275463593 355126439 417425319 312308223 188196698 873072247 782594982 485683712 28416726 987705926 938446553 676685933 850101344 307476694 564190579 330785266 766504018 527985132 942627653 372910848 296417374 67592009 333260763 637964511 543006155 560637528 473150723 610932880 566096351 790809628 160366715 198628726 438872920 920219729 363811064 943374902 885077908 685423362 613084013 137132982 692204091 988919874 769837665 476084224 950235340 680666684 854398124 1713096 571736161 321331882 462383923 365407761 719457202 171221433 154693260 434526689 845211351 209977170 165622114 34685076 -1 291386915 146171038 150137560 443342808 111985669 70161655 873072247 116545387 59501988 345102555 18299476 753145692 658388576 203493552 729941138 368764047 845459462 712694937 697184458 238442797 868211619 197307546 691740164 789404113 26537314 560814638 189854783 26375227 433114786 72621546 690863334 365407761 431837446 635671105 746419439 26375227 182429059 723200871 950629972 832364259 217928587 688380735 791932302 608724072 991188064 740224085 146171038 910994573 791183444 755527023 284696682 574924220 111985669 67075526 639572212 198703751 760593154 265395517 244195221 533560917 333772685 614593757 391779414 464037621 709403855 901304975 181721636 628984381 760593154 596943234 84208996 672907310 413494386 232531633 988919874 722672739 271516194 690863334 271516194 675573324 345102555 980936845 795730704 427675535 33812208 122896725 159647580 927530478 660738659 638293140 286319692 297133830 469035792 957643716 982581137 845211351 950235340 319424815 406430184 505655512 961821360 574417829 567600315 284387166 673965031 229405480 448316745 433114786 756425389 723933984 750763843 374972287 854062217 961821360 203018461 749101296 503810504 751964866 208493418 663307073 644336340 863667577 167036027 938914563 845211351 748526814 879954113 614593757 26905429 966561320 290604263 428142800 462383923 631700842 217928587 406717194 208877360 538432928 72263116 55517047 834500260 935910737 628984381 749101296 868838278 469743398 192251969 662235717 301714930 357329820 984895249 177905368 206644601 965993467 763856958 74820195 622918995 335743200 577758652 864561721 472516679 569422962 116545387 864350394 174295016 438872920 208028672 346394348 660639438 1713096 208028672 707186544 586392635 159647580 73453883 459789430 41524303 21873594 270206207 627561325 115639466 761888635 603620710 291386915 669125354 507142051 495336832 191697350 588150191 708274346 566034579 761888635 378409769 500268473 198628726 973579758 977467597 854062217 610895287 976942240 562288215 22576092 894267291 22576092 562309509 834500260 574417829 634536293 940104206 891573253 686385319 845211351 957144144 283107224 271708247 689608865 593587398 494950691 903297209 668250239 953838288 680666684 916738849 11796756 800463769 880844104 524972471 365679164 495712606 468107571 966561320 116545387 986331373 18299476 555828167 337502849 703311448 72643683 830162158 268947673 29592557 223030820 830162158 175884183 822261941 117303447 59706771 365679164 21873594 77564723 422331486 834500260 140113105 432069691 155997760 725418770 26905429 378610966 -1 22393976 472516679 146171038 999101537 494751627 922220234 19140171 555548888 18299476 850351456 907772025 295958449 527897224 740224085 667300705 533367205 11796756 424697572 901304975 26375227 55517047 740224085 113804160 836680980 408497768 192251969 303139271 295504204 408497768 71713295 984117471 18404492 70161655 149052945 32796250 119601349 495241145 664490073 769837665 659501910 902419092 812752908 649175882 577758652 800463769 175144765 891573253 791932302 470690645 771459106 560814638 392826688 827132364 659932705 406717194 433348815 679275202 137132982 291386915 140113105 489295045 -1 443342808 756425389 248636995 991188064 67075526 753145692 183843307 21873594 454563819 275463593 57606083 112624754 965067805 13841075 214924123 620059513 957144144 548806448 448707988 867933639 18299476 288628682 697374453 975269268 486307671 668250239 555828167 710113373 206644601 123550994 150137560 599555786 807262913 33812208 762227828 986331373 86256730 685097645 679275202 59706771 363457997 622918995 729178187 989696303 746419439 29592557 239987054 555548888 243995015 767047665 669125354 75228974 819963767 818829472 373683372 638293140 779829204 818014838 203018461 535432483 942045496 977619929 444874800 600962339 457715535 999674172 614459776 549323513 53028773 864561721 448316745 980134651 368779111 22576092 593587398 286319692 346394348 903297209 614593757 263798126 26375227 142117376 -1 848715178 117303447 499941413 801169129 662235717 566096351 579690895 215802236 34584857 488751710 676685933 469035792 284387166 92112290 290604263 614593757 812140416 708274346 156929061 904818318 392826688 206644601 414918047 885077908 974448855 718577411 861383306 22576092 751964866 453407680 638011115 531136661 622737539 538432928 329574367 907456227 572311287 860724917 341012648 491543933 549323513 574924220 868211619 145847415 491294665 330583346 407009263 514721585 491543933 461649452 833220245 274831438 228137178 1713096 389956215 398981201 768744535 43392732 -1 367754743 203580162 49208976 563823514 908705907 586985028 332773543 363811064 883564101 43392732 668250239 456863895 42277380 742174392 406430184 695553778 965067805 985045640 100130908 711503207 17012234 819523467 704672739 685097645 817693389 18794770 658212287 834500260 378610966 161017478 433439854 984182750 543122079 72794624 681690682 774149146 659501910 489295045 1713096 46485154 666590606 301334993 661932839 786892734 567600315 984182750 873072247 67075526 667169560 73525554 417425319 537867109 244195221 645276436 555828167 115639466 302277738 452820542 614593757 63210631 907456227 786969334 893652215 469743398 319424815 140395123 444874800 858159813 122896725 231771136 132774876 22576092 638293140 701070480 357329820 -1 296417374 526755095 823787812 675573324 785866095 563675995 561553313 142117376 57801759 288628682 368779111 864561721 586985028 649175882 234968285 965067805 66483968 459789430 774937853 209977170 676709331 428142800 893897082 156929061 939563959 604148770 238951985 194126353 845211351 580884227 710113373 991067365 623188968 72621546 716182336 623090438 871898006 149052945 389956215 47116225 524972471 91064641 770847694 175884183 675573324 782619049 639572212 503810504 461649452 57606083 541460419 822261941 740364356 484471406 160366715 807648187 154693260 470690645 748526814 577758652 159647580 514721585 763856958 4610166 984117471 749101296 770278321 308232133 341012648 613084013 561494895 375673341 182026506 848715178 -1 505655512 740364356 288542157 980936845 34584857 559785274 860724917 833246783 228902962 140395123 420425052 627589268 198016418 668281990 982581137 102379477 297133830 801402068 416739210 301714930 637964511 290604263 992563691 112624754 -1 658212287 198628726 795730704 656206261 667169560 708274346 116545387 655834254 967987535 254167164 555548888 192251969 286319692 682038125 578238211 416756465 198703751 634983639 799467751 60081926 664490073 41260287 520086201 849123482 979285058 345392984 596367148 691740164 970265761 760593154 596367148 998120269 596367148 162425880 43897314 672907310 693375965 624015614 250810872 604148770 197307546 471865558 682038125 663946492 602915291 619868736 37724537 505655512 476084224 755527023 116545387 77564723 365407761 723933984 681690682 355126439 854398124 560814638 462383923 555828167 590783394 784371166 374972287 760593154 750763843 739554266 -1 365407761 784371166 281598862 433756914 46011383 726776295 804352169 669655791 801326287 175144765 159647580 454563819 562288215 375673341 117347524 468199498 572589546 533367205 333260763 626837013 163789960 638011115 13841075 786969334 457715535 411999902 381881872 867933639 786969334 960643177 403334160 850101344 984895249 206287347 140113105 263636646 100130908 722874144 413494386 729352677 560556517 543122079 250810872 426480224 146171038 519762398 910794274 271708247 830544982 448316745 857269083 417425319 942297502 34685076 325845006 175144765 451474906 935910737 680666684 731745766 346188490 28416726 923159887 323513395 368935143 571736161 18299476 182026506 965993467 784597145 433439854 669742991 522063456 97299507 740364356 660040051 57606083 658388576 914662962 363457997 763183908 939563959 -1 830162158 494923774 982693874 551345512 57551192 719457202 293155218 28576479 596367148 790909002 641164921 595427792 145847415 729352677 750156197 857269083 154693260 325845006 675573324 857269083 175884183 182026506 327789615 319424815 365407761 472516679 711503207 336862767 882812597 761021239 520086201 399202754 522063456 469035792 78898063 991067365 726124644 514721585 112302971 717390689 819963767 357329820 122067182 206287347 469743398 448316745 888304663 656489207 982693874 703311448 624015614 595427792 908705907 818014838 406430184 171504845 323513395 57606083 169614935 490869221 682038125 661932839 868838278 -1 337458711 618312173 998120269 420342620 189854783 283107224 635671105 883564101 122896725 560814638 507969865 493264770 -1 588150191 923159887 979580407 670408229 406483013 444874800 525617132 118534662 891436447 329542777 372510013 112624754 114396999 767047665 432504521 86256730 -1 729941138 745215401 319424815 893897082 428747955 424146759 596367148 909186692 476084224 169614935 297133830 46410909 391779414 745924515 249558965 627561325 842871738 406717194 989747990 403334160 503810504 669655791 486307671 914291169 730756715 263636646 845211351 209977170 880446976 894267291 270206207 903297209 198703751 175554418 346394348 938446553 854062217 355126439 352607876 215802236 426480224 92112290 365679164 -1 165753 53590481 765137854 604148770 600962339 655834254 264549124 791932302 368704535 679670176 938914563 637964511 542661640 711501588 667300705 590603969 666590606 424146759 850636024 965067805 86256730 92160628 543122079 275610416 22393976 475822349 769854437 60081926 984895249 26905429 122896725 622737539 37724537 110556435 42277380 352508141 836680980 244195221 392826688 46485154 863278761 107839247 491978273 365035648 758575350 890844482 140113105 32466209 358362276 437863021 37724537 95779603 638076633 118534662 865880334 363457997 67592009 295958449 804352169 162425880 890844482 3090244 663946492 111122929 327982936 66483968 950235340 553190572 16475116 937633254 295805912 979285058 852837035 470803824 560455121 175590565 669655791 574417829 109891495 146197290 12903603 940104206 770278321 327789615 863667577 982554231 590783394 730756715 84208996 206287347 468199498 659932705 977619929 55517047 532861718 387518405 163983150 60978603 110012494 363811064 986331373 26905429 263636646 229821643 861208333 393835525 627376276 34584857 575485118 72643683 11796756 275610416 618312173 271516194 579783784 907772025 639572212 907456227 461649452 473150723 645695407 286319692 145847415 950629972 73525554 713199217 421927353 582861386 111985669 592274818 675786233 980936845 355756362 631700842 739554266 165622114 490869221 804352169 290604263 488751710 663946492 37724537 499941413 951926549 418807544 339350524 989696303 384604556 217928587 373771611 452820542 208493418 748186132 988919874 765954927 938914563 132774876 665446719 770278321 336862767 711501588 155376172 863667577 729178187 880446976 712694937 95443860 965067805 241693686 591284702 701070480 756425389 199770581 542661640 725418770 582861386 610895287 109891495 246216644 731745766 456863895 55517047 454563819 769545495 649175882 729178187 145847415 620059513 453407680 700120477 561553313 112624754 16475116 728357838 159056677 312308223 729178187 765954927 4610166 801326287 399202754 860724917 469384372 46410909 726124644 4610166 203018461 595427792 229405480 205644911 574924220 60978603 411907778 989696303 790909002 951926549 579991057 861208333 568090820 667300705 385144989 494923774 198628726 426480224 741463146 939563959 67592009 140113105 579991057 769545495 270206207 567416830 842306692 208877360 833246783 857269083 710113373 319379178 254528769 592274818 662235717 284859244 243341711 1713096 774149146 403334160 507969865 284700142 79097209 786969334 538432928 296417374 647911422 411907778 368704535 723933984 368704535 663946492 785376602 807820896 867933639 836680980 490142300 575485118 301334993 84208996 161017478 644336340 927530478 980134651 554782737 943374902 199770581 296417374 254528769 537867109 627376276 815472010 986331373 456487084 416756465 443342808 555548888 228902962 914291169 820211254 154693260 57551192 785866095 57801759 489295045 842306692 937638157 863278761 916321789 673965031 274831438 406483013 832494905 426480224 424697572 406717194 206014003 223030820 753145692 182429059 306767836 818014838 175144765 443342808 943374902 627376276 916738849 656489207 433114786 977619929 232531633 122067182 555548888 635671105 967987535 499941413 768744535 977467597 130431610 750156197 683531283 769837665 788878491 563823514 717390689 -1 301334993 368779111 424146759 413494386 171504845 755527023 244195221 323513395 807820896 477076784 59706771 293155218 307476694 33812208 339350524 385144989 408497768 624015614 638293140 541463939 741339101 39885396 880665324 580918883 901803305 461649452 330318834 112624754 191697350 748526814 765954927 693375965 712694937 113804160 883564101 459789430 730909832 206014003 692204091 327789615 107839247 408497768 812140416 480210823 407009263 575541534 428747955 387384744 603690869 416756465 790809628 532803555 453407680 943374902 138790019 904818318 904818318 352607876 946112218 72263116 668281990 308232133 801326287 446355059 532861718 850101344 355126439 146197290 566034579 208877360 555548888 461649452 39885396 610613670 857102413 610932880 691504106 -1 746419439 923159887 679521131 890844482 721120553 980936845 834500260 433756914 586392635 981763217 575485118 112302971 275463593 432069691 56105859 434526689 672907310 308705211 977619929 859063396 560556517 565554630 349772488 203580162 57551192 138533159 203493552 751316591 619868736 729941138 967987535 411999902 697184458 201066749 81866966 160366715 766504018 330583346 761888635 305936785 416756465 41524303 333260763 728492414 302277738 432504521 441949925 379109457 849035201 560814638 660738659 891573253 951926549 742174392 14405655 527985132 441949925 770278321 349772488 288542157 494950691 859063396 119601349 820211254 623090438 368764047 669742991 525617132 861208333 254528769 564190579 379213018 682038125 308232133 596367148 273365488 620059513 644187365 46410909 845459462 223785502 647290016 734712823 28576479 864350394 378409769 468199498 774149146 95443860 766504018 665446719 426480224 579783784 381881872 428413005 523542917 716182336 238951985 590603969 667841561 939946968 346394348 472407762 318110611 730824918 337458711 586392635 746419439 112302971 660738659 186539666 59706771 454563819 943374902 491294665 223785502 301714930 594204193 989747990 211333607 563732029 420773560 729178187 471865558 613084013 433439854 591700510 518109595 909186692 53590481 914291169 154693260 33812208 263798126 599555786 667841561 806195787 879954113 852782081 167036027 594204193 391779414 29592557 214924123 689608865 468107571 765137854 228137178 998120269 413494386 823933296 59501988 719457202 562288215 175590565 358362276 686385319 667300705 406483013 107839247 462383923 790909002 281083465 891436447 997299598 346394348 742174392 159647580 100130908 339350524 433756914 283107224 95443860 122896725 893652215 182659876 77564723 726124644 469035792 586985028 416756465 308232133 298868262 748186132 197115342 46410909 329574367 100130908 507969865 859063396 -1 418807544 46485154 703311448 566096351 984182750 447434673 367754743 167415720 832364259 244155041 728492414 572589546 456487084 518109595 368935143 601762202 881489135 661932839 582319429 203580162 667300705 138533159 401672699 721120553 171221433 270206207 806195787 448707988 868838278 254167164 307476694 461274569 563675995 997299598 984182750 490869221 168494769 638293140 610932880 850636024 447434673 893897082 495336832 777440440 199770581 623090438 18404492 484471406 416739210 668250239 441949925 940104206 53028773 339350524 582319429 763183908 957643716 541463939 477076784 490142300 377651896 92102199 171504845 988919874 295958449 472407762 894991717 815472010 490142300 748186132 54153332 4610166 984895249 624015614 32796250 146171038 57801759 53028773 561553313 345102555 378610966 968396048 223785502 842871738 491978273 970265761 245677831 957643716 914662962 635671105 293155218 709403855 132774876 26905429 845459462 890844482 458547544 110556435 811841566 392826688 527897224 -1 807820896 115639466 56105859 232531633 -1 731936598 750429264 100130908 408244002 424697572 740224085 54153332 317871021 818829472 456863895 997299598 655834254 286319692 716182336 281083465 11796756 784597145 63210631 981763217 465892383 39885396 769837665 610932880 613084013 726124644 55517047 635671105 580884227 159647580 786075537 283107224 71713295 908705907 29592557 725418770 55517047 63562141 494923774 363579344 686385319 968396048 638011115 161017478 984117471 495336832 957643716 373683372 564190579 330785266 957643716 130580 29734308 610069705 344240078 669655791 682038125 92160628 72794624 801402068 368704535 472407762 433114786 567600315 950235340 788878491 765137854 861383306 524972471 205644911 916321789 391779414 580884227 623090438 407009263 638011115 486307671 288628682 142117376 832364259 211070558 667841561 667841561 434526689 920219729 71713295 980134651 146197290 75228974 659501910 29592557 363811064 79213361 635671105 901304975 885077908 574924220 854062217 524972471 494923774 819523467 46945925 29734308 582319429 647911422 602915291 32796250 888304663 374972287 182659876 26537314 395983136 923159887 199770581 553190572 966561320 29592557 909186692 600962339 729178187 420342620 223030820 140113105 957643716 658388576 942297502 86256730 182026506 448707988 39885396 811841566 29592557 -1 399202754 12903603 942297502 660040051 174295016 623090438 26905429 57606083 -1 330785266 789404113 914206506 894267291 731745766 368935143 59706771 527985132 881489135 37081879 848715178 275463593 942627653 656489207 603690869 992563691 345392984 569422962 726124644 979285058 32466209 303139271 979285058 428142800 610069705 622823007 999674172 446355059 57801759 745924515 345392984 464037621 333772685 957643716 666590606 77564723 95443860 159056677 832494905 92112290 248636995 660040051 325287502 942627653 822261941 275610416 57801759 785247749 763856958 968396048 254167164 763183908 149052945 739554266 579991057 63562141 676685933 664490073 16475116 84208996 683531283 459789430 864561721 819963767 751964866 811841566 438872920 770680522 565554630 283107224 532861718 719457202 711503207 561494895 254756796 333260763 471865558 325287502 244195221 537867109 100130908 203018461 433756914 661932839 965993467 -1 46410909 466852129 761021239 668281990 995194212 807262913 238442797 164542502 602915291 623188968 729178187 676709331 542986495 275610416 243995015 675786233 468199498 72643683 79097209 922220234 711501588 593282222 499941413 859930182 961821360 691214891 543006155 622823007 2433982 647911422 243995015 750156197 692204091 97299507 476084224 883564101 686865014 490869221 850351456 411999902 113804160 329959527 163789960 13384724 799467751 668281990 691504106 444874800 819963767 260307180 660738659 207023050 555548888 470803824 308705211 107808575 619868736 368779111 307476694 769854437 358362276 428413005 288628682 211333607 834500260 363457997 519762398 495336832 406568384 433114786 639572212 543122079 415965469 42277380 602915291 718229961 699856917 739554266 -1 663667470 631700842 280856350 452820542 873072247 555828167 490142300 414918047 574417829 284696682 768744535 894991717 664490073 213926602 600962339 491294665 637964511 163983150 206644601 563675995 555828167 203493552 18794770 86256730 365679164 762227828 566096351 965993467 705622548 11796756 249558965 327789615 420342620 645695407 490869221 815472010 564190579 406568384 909186692 198016418 712694937 566096351 656206261 165753 456487084 520086201 912506727 335743200 115639466 349772488 697374453 979285058 543122079 336688564 363579344 538432928 995194212 84062198 937633254 930790502 418807544 914662962 975269268 115470851 325845006 858159813 596367148 531136661 422331486 229515163 67592009 321331882 378610966 579690895 73453883 590783394 817693389 749101296 718229961 942297502 807648187 626807589 393835525 628984381 260946873 203580162 77564723 3090244 724422672 716182336 903297209 591284702 791183444 977467597 676685933 582861386 590783394 263798126 16475116 894991717 596367148 703311448 140113105 997299598 28416726 660639438 707186544 786075537 711501588 34685076 456487084 248636995 879954113 387518405 137132982 560814638 668250239 740224085 916738849 957144144 428413005 881489135 155997760 533560917 94630229 86256730 675573324 973579758 847840320 593587398 916738849 188196698 465892383 461649452 599555786 95779603 769854437 468107571 991067365 885164572 216195055 216195055 112302971 553190572 579690895 28576479 831985335 663946492 81866966 832364259 480210823 658212287 986331373 60978603 769545495 283107224 321331882 447434673 330785266 785247749 182659876 182026506 228902962 842306692 638076633 709403855 688380735 768744535 74820195 291386915 580470806 602915291 763281688 984117471 67592009 91064641 298868262 192251969 443342808 572589546 676685933 22576092 719457202 659932705 66483968 475822349 138790019 271516194 579690895 614593757 406568384 723200871 591284702 112302971 1713096 239254051 505655512 296417374 270206207 232531633 150137560 288542157 647290016 323513395 232018015 614459776 209977170 861208333 420773560 920219729 590783394 312308223 647911422 604148770 920219729 201066749 817693389 117347524 868838278 553190572 127278512 883564101 579690895 472516679 522063456 352508141 822261941 452820542 368704535 858159813 140395123 192251969 175554418 746419439 555548888 378409769 777440440 215802236 859063396 998120269 827132364 801326287 970265761 288542157 721867658 175144765 622737539 894991717 999674172 622918995 349032071 569422962 488751710 683531283 411907778 784597145 756425389 325287502 424697572 14405655 473150723 745924515 673965031 562309509 977467597 271516194 432069691 115470851 902419092 768744535 999674172 526755095 914662962 571736161 365035648 175554418 84062198 22576092 406483013 433756914 135519629 420425052 831985335 832494905 563732029 373683372 910794274 985045640 982693874 728357838 634983639 18404492 859962837 448316745 -1 408497768 86361620 914662962 203493552 446355059 459789430 208493418 729352677 262575582 368704535 66483968 902419092 448707988 580283317 469035792 243341711 4610166 244155041 894267291 408497768 246216644 432504521 894267291 910994573 223785502 188196698 675573324 336688564 867723620 175884183 355756362 14405655 75228974 575485118 785376602 -1 757544011 645276436 312308223 660639438 697184458 34584857 14405655 641205608 365679164 32796250 413494386 330318834 234968285 146197290 919585635 386935154 600962339 960643177 211333607 456401701 77564723 428142800 43392732 914291169 26905429 950862675 579783784 726124644 977619929 864350394 114396999 175554418 769837665 -1 132774876 575485118 801402068 319424815 424146759 4610166 755527023 560556517 695553778 458547544 563732029 859063396 631700842 894991717 770680522 814490763 942045496 867723620 804352169 408244002 325287502 417425319 807262913 907456227 398981201 223030820 73453883 986331373 477076784 910994573 319379178 916738849 60744503 614297261 712694937 691504106 53590481 946112218 208028672 49212342 800463769 766504018 214317232 908705907 594204193 229821643 327982936 622823007 852782081 960643177 288628682 150137560 507142051 908705907 57551192 433114786 527897224 984182750 3090244 728492414 254756796 -1 593587398 982693874 14405655 155997760 208877360 208493418 762227828 239987054 647911422 325287502 970265761 138790019 610895287 306767836 159056677 770680522 472516679 995194212 387518405 935910737 563823514 660639438 167415720 470690645 845459462 411999902 967987535 800463769 518109595 987705926 761021239 656206261 712694937 807648187 229821643 182429059 77564723 198628726 254756796 254167164 676709331 679521131 533560917 999101537 26537314 70161655 379213018 699856917 491294665 175884183 563675995 717390689 769837665 406568384 614459776 336688564 590138438 416739210 217928587 590603969 -1 910994573 14405655 620059513 910794274 807262913 543006155 861115508 559785274 662235717 486307671 604148770 859063396 7545447 354949635 991067365 18299476 838379139 614593757 203018461 734712823 729352677 883564101 681690682 220059095 186539666 46011383 526755095 907772025 686865014 838379139 57606083 610069705 244155041 761888635 377651896 676685933 197307546 979580407 689897360 890844482 572311287 214317232 420342620 11796756 868211619 697374453 543122079 425469326 434526689 961821360 228137178 163091630 951926549 330318834 406568384 705622548 620059513 707186544 4610166 238442797 11796756 162425880 638011115 29734308 782927012 719457202 167415720 111122929 223030820 681690682 769545495 321331882 593587398 822261941 689897360 229821643 163983150 987705926 634536293 656206261 922220234 666590606 60978603 437517579 367754743 306854073 239987054 118534662 830544982 901803305 669742991 211333607 386935154 779829204 966561320 609637013 53590481 812752908 137132982 437863021 297175900 690863334 770278321 833246783 577714620 109891495 751964866 663667470 215802236 169614935 785247749 387384744 75228974 728492414 620059513 149052945 79323336 658388576 38372578 761888635 355756362 334677549 562288215 891436447 627561325 57551192 167036027 937638157 22393976 531136661 691740164 295805912 823787812 507142051 53590481 281083465 38372578 59501988 296417374 428413005 656489207 329542777 472407762 670979891 156929061 762227828 977467597 761888635 421927353 72621546 649175882 386935154 -1 664295306 207023050 960643177 641164921 745215401 533367205 194126353 610932880 39885396 572311287 211333607 110012494 704672739 306854073 637964511 880446976 868838278 28416726 312308223 902419092 426480224 79097209 628220249 41260287 146171038 29287119 199386661 367754743 966561320 893860727 769545495 491294665 38372578 586985028 36050763 484471406 710113373 834500260 602915291 122896725 991067365 762227828 271708247 560637528 561553313 389956215 659501910 670979891 363811064 675573324 577714620 730756715 807262913 433756914 624015614 117347524 346188490 399202754 302277738 327982936 523542917 34030354 385144989 379213018 88469907 832494905 579783784 248636995 850636024 -1 149052945 384604556 290604263 280856350 252012472 365407761 982693874 580884227 651109313 647427996 433439854 998120269 288628682 92112290 527897224 203493552 563823514 26375227 243341711 49212342 507969865 833246783 897789362 831985335 149830598 60744503 135519629 535432483 374972287 774937853 801169129 891436447 420773560 942297502 290604263 214924123 560814638 593282222 922220234 656206261 79213361 249558965 847840320 692204091 577714620 764751417 368704535 59706771 271516194 228137178 974448855 593282222 115470851 327982936 454563819 992563691 726776295 957144144 514721585 784597145 914662962 203018461 686385319 29272319 914662962 673965031 679521131 470803824 922220234 243995015 721120553 533367205 464037621 107839247 457715535 355126439 763281688 524972471 883564101 716182336 575485118 561553313 999101537 686649778 832494905 689608865 942297502 564190579 297133830 296417374 685423362 416756465 988919874 206014003 132774876 818829472 846213413 782594982 78898063 572311287 624015614 319379178 472407762 868838278 639572212 649175882 60978603 757544011 334677549 19140171 208028672 782619049 415965469 330318834 461649452 701070480 613084013 664295306 13384724 789495739 722672739 335743200 713199217 175554418 731936598 -1 78898063 209977170 207023050 223785502 820211254 274831438 538432928 740364356 751964866 578238211 357329820 691214891 489295045 466034328 801402068 183843307 830544982 465892383 123550994 12903603 451474906 791932302 231771136 373683372 346394348 723200871 801402068 675786233 26905429 399202754 873072247 329959527 800463769 284387166 441949925 408497768 63210631 441949925 220059095 333772685 171221433 724422672 942384956 337502849 387384744 495241145 194126353 742174392 4610166 416739210 330318834 610069705 435984127 417425319 520011864 988919874 192251969 699856917 296417374 801402068 214317232 927530478 591700510 288628682 937638157 59706771 641164921 595427792 901304975 472407762 968396048 162425880 111122929 593282222 95443860 561494895 456401701 386381016 726124644 893860727 448707988 348123399 823933296 407009263 34685076 680666684 238951985 659932705 491294665 666590606 977467597 979580407 572311287 596943234 973579758 780117964 901304975 265395517 549323513 603620710 998120269 167036027 74820195 612885490 57801759 883564101 651109313 873072247 28576479 603690869 234968285 149830598 700120477 988919874 634983639 512615132 699856917 897789362 946112218 982554231 938914563 96109344 699856917 74820195 411907778 591284702 54153332 485683712 43897314 560814638 938914563 491543933 329574367 683531283 785247749 268947673 206287347 118534662 682038125 37724537 549323513 943374902 57551192 930790502 433348815 769545495 413494386 79323336 375673341 486307671 472407762 779829204 284859244 852782081 46485154 406430184 782927012 372910848 -1 248636995 433439854 149830598 165622114 627561325 526755095 721120553 565554630 77299524 912506727 428413005 633637325 970265761 885077908 374972287 26905429 110012494 53028773 717390689 368935143 541460419 214317232 527985132 119601349 685097645 365035648 140395123 145847415 -1 123550994 647911422 288628682 951926549 842871738 992563691 57606083 549323513 919585635 770847694 372910848 830162158 548806448 426480224 -1 914291169 345392984 679275202 672907310 453407680 115639466 784371166 942297502 575485118 999101537 514721585 41524303 254756796 532803555 590138438 206014003 722672739 833246783 784371166 663667470 458547544 507969865 881489135 535432483 726776295 146171038 859063396 710113373 205644911 562309509 374972287 71713295 695553778 704672739 690863334 -1 -1 801402068 832494905 864561721 97299507 220059095 175554418 850101344 769854437 420342620 662235717 688380735 49212342 553190572 411999902 92102199 542661640 580283317 138533159 784597145 645695407 686385319 865880334 923159887 850351456 532803555 254167164 203493552 600962339 850351456 651109313 885164572 155997760 675573324 763183908 937633254 566034579 661932839 164542502 352607876 562309509 891573253 818974853 785866095 719457202 574924220 914206506 229515163 209977170 413494386 420773560 411907778 633637325 893652215 387518405 92160628 907772025 84208996 935910737 588150191 451474906 751316591 634983639 979285058 663307073 814490763 842306692 916738849 569422962 749101296 448316745 165622114 965067805 663946492 246216644 115639466 741339101 750156197 34685076 755527023 555828167 317871021 399202754 -1 782927012 115639466 699856917 465892383 469743398 620059513 566096351 812752908 950629972 668250239 782594982 26537314 87162480 156929061 434526689 531136661 957144144 663946492 766504018 582319429 888304663 745215401 574417829 29592557 329542777 667841561 145847415 78898063 406483013 345392984 109891495 750156197 138533159 593282222 411999902 260307180 271516194 327982936 658388576 974521569 790809628 29287119 249558965 305936785 505655512 718229961 -1 741339101 637964511 155997760 916321789 186539666 400907045 745215401 708274346 329542777 329542777 729178187 832494905 54164180 822261941 291386915 433439854 406483013 46945925 700120477 729941138 713199217 641164921 345072009 317871021 590783394 834500260 538432928 470690645 832494905 298868262 651109313 997432376 957144144 374972287 372510013 791183444 211333607 -1 462383923 612885490 560814638 372910848 627561325 527897224 815472010 355126439 664490073 203018461 748526814 750429264 433756914 437517579 281083465 662235717 818829472 494923774 634983639 982581137 491294665 433348815 232531633 542661640 456863895 567600315 400907045 691214891 308705211 769837665 537867109 325287502 46485154 495712606 865880334 695553778 217928587 168494769 631700842 980134651 691504106 197307546 334677549 363579344 957643716 433756914 730756715 564190579 438872920 123550994 465892383 880446976 -1 346188490 627561325 491543933 682038125 750769230 966503495 705622548 984895249 726124644 811841566 457715535 590138438 155997760 415965469 130431610 275463593 345392984 525617132 603690869 989696303 7545447 785376602 599555786 295805912 863278761 789404113 623090438 110012494 475822349 327789615 833220245 34030354 175554418 514721585 365679164 386935154 709403855 434526689 248636995 345392984 28416726 989696303 958339854 358362276 155376172 730824918 520086201 942384956 627376276 541463939 92160628 543006155 645276436 114396999 216195055 836680980 916321789 11796756 207023050 724422672 582861386 779829204 907456227 232018015 904818318 -1 18404492 203493552 276260520 485683712 522063456 562288215 791183444 115470851 368764047 579783784 883564101 957643716 710730165 701070480 779829204 638011115 846213413 563675995 232018015 818014838 378409769 79097209 60978603 668281990 421927353 63562141 938954818 57801759 526755095 880446976 29734308 349772488 988919874 406717194 75228974 946112218 208493418 156929061 973579758 333772685 264549124 246216644 330785266 421927353 220059095 375673341 729178187 373771611 818829472 651109313 749101296 274831438 867933639 138790019 938914563 847840320 626837013 561494895 512615132 686649778 500268473 683489839 228137178 859063396 811841566 832494905 208028672 965993467 893897082 670979891 627589268 639572212 702444538 174295016 386935154 214924123 790809628 122067182 408497768 107596959 860724917 273365488 433114786 995194212 663307073 295805912 871898006 426480224 54164180 729941138 582861386 827132364 416739210 740364356 115470851 232531633 207023050 849123482 705622548 904818318 432504521 220059095 345392984 270206207 538432928 907772025 17012234 975269268 13841075 992563691 538432928 751964866 628984381 563823514 524542574 163789960 555828167 138533159 437863021 916321789 206014003 305936785 443342808 786969334 675573324 395983136 827132364 13384724 72621546 41260287 764751417 664295306 391779414 683531283 346188490 345392984 527985132 238951985 568090820 588150191 891436447 689608865 -1 712694937 997299598 860724917 867723620 275463593 167415720 902419092 168494769 782594982 308705211 60081926 308705211 475822349 94630229 459789430 248636995 807648187 627589268 991188064 461274569 335890204 249558965 560637528 111985669 260307180 894991717 32796250 13384724 231771136 49208976 683531283 446355059 602811046 833220245 985045640 638011115 443342808 927530478 18794770 726124644 346188490 610613670 110012494 863278761 368764047 580470806 220059095 859063396 609637013 848715178 730824918 441949925 363811064 560556517 336688564 127278512 95443860 115470851 34584857 271708247 1713096 580470806 49208976 72643683 691504106 368935143 817693389 22576092 229515163 660639438 807820896 339350524 43392732 37724537 713199217 175590565 647290016 135519629 252012472 580884227 533367205 722874144 527897224 718229961 711503207 415965469 612885490 55517047 710730165 527985132 335743200 675786233 216195055 275463593 336862767 865880334 726776295 527897224 271708247 916321789 -1 468199498 692204091 908705907 645695407 18404492 399202754 865880334 345072009 740364356 411907778 532861718 988919874 724422672 428413005 953838288 981763217 96109344 -1 785866095 562309509 711501588 901803305 78898063 415965469 73525554 208493418 214924123 725418770 19140171 465892383 211362614 45426260 812752908 -1 916738849 276260520 786075537 641205608 779829204 656489207 254167164 199386661 756425389 632336991 717390689 730824918 811841566 109891495 488751710 519762398 815472010 387518405 7545447 647427996 659932705 265395517 385144989 999674172 647427996 705118513 838379139 608724072 527897224 238951985 469035792 29592557 610932880 750769230 305936785 466852129 100130908 980936845 728492414 473150723 475822349 237773442 303139271 749101296 524972471 922171930 594204193 560556517 95779603 739554266 610932880 618312173 298868262 604148770 182026506 345072009 742174392 992563691 957643716 731745766 345072009 833246783 140395123 494923774 43392732 858159813 690664050 946112218 254167164 84208996 641164921 854398124 155376172 610069705 688380735 138533159 352607876 107808575 507142051 485683712 79213361 319424815 667841561 920219729 408497768 902419092 950235340 238442797 -1 628220249 753145692 666590606 94630229 697184458 288542157 532861718 358191652 965067805 293155218 198016418 154693260 189854783 250810872 784597145 231771136 346188490 942045496 391779414 779829204 791183444 215802236 705118513 175554418 346394348 -1 723933984 686865014 207023050 857102413 638076633 333260763 563732029 702444538 705118513 458547544 211070558 337502849 434526689 4610166 593587398 755527023 762227828 992563691 312308223 305936785 586985028 676709331 524972471 11796756 820211254 72621546 217928587 644187365 229515163 626807589 699856917 301714930 -1 707186544 857269083 774149146 112302971 624015614 43897314 725418770 970265761 490869221 480210823 562309509 723200871 26537314 755527023 205644911 920219729 170824557 424146759 721867658 953838288 965067805 659932705 284859244 591700510 880446976 203493552 974448855 986331373 942045496 724422672 469384372 979285058 789495739 937633254 365407761 710730165 859962837 749101296 859930182 859930182 421927353 763183908 130431610 -1 244883660 638011115 46410909 433114786 807262913 686385319 676685933 799467751 601762202 721120553 760593154 211333607 54164180 871898006 494950691 973579758 789404113 79097209 681823792 854398124 849123482 291386915 79213361 683531283 563732029 610932880 500268473 250810872 306767836 560637528 41524303 725418770 946112218 263798126 807262913 377651896 475822349 22393976 590783394 814490763 332773543 199770581 39885396 748526814 916738849 115470851 916738849 863667577 345392984 17012234 377651896 939946968 942045496 708274346 748186132 750429264 979580407 514721585 77564723 645695407 4610166 373771611 751316591 988919874 873072247 -1 692204091 610895287 748526814 751316591 205644911 156929061 769545495 660040051 763281688 401672699 206644601 566034579 491978273 894267291 150137560 596367148 774149146 427618367 355756362 638011115 695553778 231771136 117303447 950629972 373683372 425469326 456863895 284700142 102379477 36050763 228137178 493264770 -1 97299507 247165890 612885490 341012648 32796250 254528769 580470806 814490763 553190572 427675535 167036027 407009263 330318834 980936845 641205608 953838288 182659876 627589268 215802236 711501588 283107224 579690895 243341711 335743200 182026506 871898006 438872920 14405655 265395517 72643683 914206506 490869221 160366715 469743398 689897360 613084013 296417374 53028773 392826688 297175900 774149146 988919874 942627653 574924220 494950691 739554266 979285058 867933639 669742991 192251969 60744503 770680522 77299524 344240078 207023050 614297261 831985335 232018015 301334993 290604263 244883660 986331373 970265761 768744535 398981201 169614935 452820542 424697572 214924123 619868736 574924220 34584857 767047665 72794624 150137560 685097645 758575350 591284702 263798126 491294665 681823792 865880334 374972287 293155218 974448855 577714620 420425052 306767836 935910737 566096351 418807544 327982936 494751627 338370105 854062217 975269268 472407762 626837013 806195787 705622548 37724537 991188064 624015614 348123399 622737539 167415720 679670176 689897360 748186132 163789960 768744535 18794770 664490073 72794624 519762398 387518405 330583346 865880334 29592557 729178187 852837035 658388576 655834254 86361620 447434673 730824918 819963767 786892734 757544011 645695407 387518405 742174392 868211619 953838288 198628726 244195221 495712606 663946492 560455121 77299524 59706771 704672739 893897082 628220249 456487084 428413005 608724072 685423362 699856917 175554418 418807544 651109313 91064641 604148770 465892383 914206506 466034328 662235717 115639466 705118513 2433982 691504106 943374902 914206506 910994573 679521131 965993467 679670176 627561325 308705211 579690895 57551192 593587398 119601349 341012648 660639438 378610966 980134651 916321789 942297502 332773543 247165890 647427996 819523467 414918047 79097209 761888635 665446719 111122929 49208976 472516679 789495739 555548888 229821643 406483013 763183908 491294665 465892383 569422962 112302971 681690682 649175882 352508141 43392732 260307180 155997760 238951985 579783784 159056677 938954818 334677549 716182336 577758652 301334993 377651896 987705926 107596959 87162480 927530478 603690869 260946873 864561721 114396999 -1 638293140 72643683 137132982 116545387 486307671 757544011 433114786 667300705 336688564 549323513 568090820 582861386 477076784 801169129 206287347 965993467 433348815 691504106 373683372 881489135 689608865 270206207 57801759 132774876 857269083 634536293 284387166 -1 649175882 507142051 340301060 858159813 791932302 211550817 942045496 614593757 538432928 363579344 685423362 248636995 767047665 579783784 312308223 997299598 37724537 690664050 208493418 531136661 211362614 751316591 232531633 690664050 532803555 18404492 43392732 586985028 163789960 63243152 203018461 514721585 284387166 66483968 912506727 930790502 579783784 580918883 312308223 693375965 95443860 489295045 647290016 859063396 150137560 560455121 365679164 622918995 247165890 623090438 46945925 638293140 610895287 680666684 670979891 358191652 329542777 769545495 489295045 974448855 495241145 789404113 527897224 37081879 110556435 407009263 408244002 477076784 658388576 60978603 130580 664295306 846213413 980134651 399202754 39885396 428142800 28576479 344240078 374972287 980134651 26905429 622918995 53028773 967987535 408244002 661932839 330785266 568090820 97299507 60744503 989696303 574924220 205644911 70161655 167415720 799467751 950235340 531136661 447434673 730909832 466034328 819523467 991188064 577758652 614297261 469035792 676709331 537867109 317871021 45426260 325845006 352508141 374972287 189854783 524972471 919585635 374972287 680666684 820211254 523542917 59501988 368704535 667841561 791932302 249558965 368764047 730756715 852837035 716182336 566034579 26537314 1713096 660738659 203493552 403334160 325845006 -1 102379477 411907778 453407680 349032071 745215401 466034328 163789960 888304663 420425052 97299507 553190572 7545447 692204091 639572212 295504204 638011115 248636995 564190579 909186692 203018461 470690645 11796756 446355059 130580 137132982 683489839 422331486 686385319 627376276 524972471 665446719 493264770 859962837 770278321 562309509 864561721 254167164 922171930 669655791 527985132 602811046 199386661 881489135 365407761 14405655 922171930 991188064 3090244 695553778 679521131 626807589 854398124 782594982 784597145 961821360 95779603 146171038 115639466 713199217 507142051 777440440 563675995 656489207 39885396 568090820 26537314 791183444 555828167 293155218 241693686 838379139 246216644 965993467 790909002 223030820 592274818 67075526 249558965 827132364 114396999 345072009 980134651 243995015 861383306 29287119 679521131 18794770 721120553 239254051 239987054 731936598 745924515 284859244 957643716 349032071 49212342 205644911 401672699 67592009 705622548 244195221 612885490 434526689 563675995 631700842 203018461 18299476 682038125 284700142 29734308 893652215 801402068 413843857 575541534 422331486 373771611 480210823 413843857 95443860 801326287 729178187 592274818 170824557 868211619 38372578 860724917 750156197 681690682 132774876 254167164 476084224 317871021 408497768 590603969 867933639 145847415 13384724 704672739 740364356 745215401 930790502 358362276 590783394 665446719 553190572 336688564 95779603 672907310 718577411 264549124 239987054 209977170 907772025 724422672 991067365 992563691 456487084 779829204 850636024 979285058 109891495 470690645 372510013 942627653 49212342 580884227 563675995 192251969 500268473 574924220 588150191 301714930 894267291 273365488 620059513 785247749 330583346 882812597 49212342 456863895 660040051 472516679 942297502 790809628 927530478 441949925 243995015 318110611 260946873 395983136 339350524 270206207 988919874 330583346 1713096 507969865 867723620 730756715 774937853 413843857 422331486 465892383 571736161 669125354 441949925 769545495 319424815 833246783 425469326 989747990 719457202 284859244 243341711 480210823 271708247 790809628 596943234 578238211 938914563 181721636 651109313 495712606 908705907 903297209 413843857 211333607 596943234 638076633 490869221 358362276 92102199 229405480 575541534 167036027 199770581 295504204 527897224 334677549 284696682 712694937 800463769 170824557 541463939 308232133 559785274 114396999 112302971 679670176 243995015 54164180 566096351 974521569 365407761 244195221 669742991 608724072 679670176 697374453 982554231 433439854 194126353 379109457 163789960 966503495 661932839 981763217 336688564 437863021 852782081 831985335 211070558 214924123 722672739 433756914 582861386 846213413 109891495 782927012 160366715 78898063 54164180 211070558 325845006 710113373 308705211 578238211 705118513 329542777 699856917 413843857 563823514 456487084 87162480 336862767 991188064 335743200 613084013 164542502 254528769 428142800 920219729 494950691 749101296 782619049 229821643 995194212 489295045 100130908 175590565 850351456 854398124 223785502 84208996 977467597 216195055 406568384 751964866 425469326 659932705 713199217 942045496 801402068 685423362 721867658 679670176 672907310 424697572 411907778 72263116 91064641 330318834 477076784 514721585 73453883 632336991 838379139 422331486 306767836 81866966 -1 72794624 469743398 980134651 337502849 532861718 182026506 49212342 297133830 665446719 165622114 567600315 365407761 391779414 79213361 817331802 337458711 885164572 231771136 434526689 427675535 34584857 284696682 399202754 49212342 814490763 392826688 769837665 392826688 966503495 368779111 464037621 84062198 415965469 520011864 845459462 491978273 725418770 500268473 966503495 470803824 823933296 468199498 663946492 791932302 893897082 11796756 788878491 291386915 263636646 665446719 721867658 448707988 332773543 113811391 819963767 691504106 280856350 18299476 447434673 494923774 818014838 281083465 638293140 823933296 846213413 662235717 367754743 523542917 167415720 764751417 161017478 748186132 100130908 890844482 940104206 406430184 681690682 690664050 579783784 669655791 29272319 893897082 46485154 424146759 672907310 41524303 891573253 686385319 716182336 411907778 283107224 683531283 73453883 940104206 909186692 437517579 614297261 42277380 399202754 560455121 709403855 205644911 832364259 168494769 232531633 336862767 433756914 967987535 276260520 170824557 716182336 938954818 137132982 16475116 563732029 340301060 542986495 475822349 123550994 628220249 999674172 741463146 681690682 595427792 631700842 306767836 288628682 731936598 791183444 403334160 262575582 938446553 561553313 982693874 298868262 459789430 425469326 95443860 681823792 566096351 713199217 788878491 298868262 365035648 507142051 284859244 140113105 201066749 211362614 77299524 591700510 355756362 21873594 122067182 543122079 914291169 333772685 -1 56105859 938446553 596943234 182429059 37724537 897789362 22576092 329542777 167036027 286319692 541460419 481127177 801402068 520011864 -1 663667470 901304975 150137560 891573253 424697572 939946968 111985669 610069705 86361620 199386661 849035201 446355059 116545387 767047665 916321789 443342808 456401701 205644911 60744503 123550994 859063396 868211619 914206506 288542157 49208976 907456227 916321789 464037621 57801759 596367148 590603969 638076633 614459776 745924515 532803555 456487084 823933296 373771611 845459462 386935154 46410909 317871021 567600315 627376276 938446553 127278512 159056677 302277738 578238211 368935143 691740164 146171038 489295045 263636646 716182336 632336991 503810504 46485154 627376276 647427996 462383923 637964511 672907310 275463593 150137560 524542574 612885490 897789362 842871738 211070558 53590481 927530478 325287502 107596959 690664050 323513395 533560917 777440440 228137178 638011115 718229961 658388576 117303447 763183908 991188064 45426260 832364259 43897314 60081926 901304975 982693874 980134651 456863895 577714620 728357838 641205608 666590606 574924220 780117964 618312173 473150723 427618367 834500260 239987054 420342620 34685076 81866966 330318834 682038125 238442797 290604263 -1 953838288 604148770 639572212 784597145 110556435 989747990 667841561 942627653 72794624 358362276 514721585 518109595 940104206 485683712 92112290 627376276 693375965 149052945 580283317 548806448 769545495 609637013 548806448 756425389 254528769 484471406 181721636 804352169 435984127 140113105 745215401 861383306 321467204 488751710 306854073 161017478 563732029 806195787 490869221 707186544 867723620 904818318 295504204 614459776 984895249 957144144 36050763 503810504 306767836 543006155 935910737 520086201 433114786 685423362 54164180 942627653 801169129 140113105 297133830 491978273 623188968 750429264 418807544 107839247 408497768 37081879 345102555 281598862 426480224 537867109 231771136 250810872 658388576 721120553 140113105 336862767 480210823 112302971 73453883 632336991 885164572 119601349 92160628 916321789 275463593 22393976 448316745 39885396 468199498 281598862 489295045 935910737 469743398 488751710 268947673 958339854 710113373 231771136 206287347 633637325 624015614 223785502 367754743 34584857 111985669 807262913 567416830 901803305 901304975 43392732 368779111 333260763 11796756 379109457 72794624 594204193 286319692 790809628 368779111 814490763 520086201 330583346 567600315 122896725 78898063 117303447 655834254 208028672 216195055 658212287 791932302 823933296 988919874 691740164 663667470 295805912 206287347 999101537 514721585 883564101 631700842 641164921 603690869 672907310 271708247 909186692 34584857 416756465 885077908 84208996 473150723 634536293 881489135 164542502 75228974 393835525 885164572 174295016 879954113 32796250 567600315 244155041 774149146 201066749 893860727 115470851 162425880 601762202 406568384 748186132 275463593 426480224 329959527 785247749 760624728 685423362 822261941 244195221 950862675 633637325 602915291 902419092 263636646 723933984 812140416 763183908 46410909 72643683 14405655 208028672 379109457 579991057 888304663 244195221 28576479 922220234 577714620 387518405 503810504 39885396 669125354 893897082 198703751 938954818 41524303 881489135 729352677 830994144 987705926 628220249 701070480 411999902 627376276 649175882 750769230 850351456 548806448 728357838 729352677 407009263 859962837 765137854 114396999 882812597 155906400 861208333 560637528 512615132 863278761 850351456 18794770 683531283 894267291 857269083 288628682 624015614 852782081 485683712 175884183 572311287 -1 637964511 586392635 897789362 718577411 527985132 395983136 29592557 627561325 691740164 740224085 346188490 523542917 897789362 600962339 705118513 580918883 914206506 768744535 182659876 667841561 203493552 564190579 985045640 542661640 618312173 818014838 578238211 998120269 790909002 464037621 590783394 765954927 214924123 795730704 406483013 957643716 888304663 660639438 901803305 704672739 495336832 73453883 823787812 199770581 579783784 229515163 854398124 599555786 274831438 325287502 244155041 709403855 219896364 532803555 958339854 883564101 329959527 49212342 623090438 223785502 880844104 448707988 807262913 812140416 290604263 939946968 507969865 634536293 325845006 555548888 818829472 711501588 306854073 260307180 580470806 303139271 859063396 67592009 608724072 881489135 198016418 197307546 112624754 782619049 441949925 49208976 863278761 197115342 433348815 189854783 638293140 685097645 461649452 939563959 199770581 489295045 885077908 465892383 428413005 939563959 592274818 984182750 703311448 705118513 756425389 485683712 11796756 683531283 72643683 718577411 21873594 938446553 525617132 237773442 817331802 741463146 800463769 710730165 624015614 624015614 452820542 551345512 330318834 807648187 339350524 520011864 295958449 784371166 365035648 373683372 966561320 667169560 216195055 34685076 599555786 681690682 701070480 811841566 425469326 560455121 26905429 325845006 335890204 815472010 817693389 503810504 469384372 940104206 159056677 165753 461649452 408244002 295958449 520086201 175144765 863667577 655834254 446355059 908705907 951926549 373683372 211550817 729941138 367754743 548806448 28416726 234968285 965993467 902419092 284700142 469384372 186539666 854398124 580918883 623188968 346188490 472407762 542661640 406483013 693375965 206287347 365407761 163789960 965993467 799467751 683489839 644336340 668250239 976942240 741339101 846213413 861208333 697184458 494950691 563732029 916321789 398981201 655834254 406430184 692204091 427618367 602811046 28576479 904818318 215802236 688597242 804352169 965993467 488751710 626807589 500268473 368935143 766504018 563823514 634536293 456487084 660040051 194126353 291386915 208493418 203493552 846213413 493264770 307476694 830994144 661932839 718577411 377651896 710113373 424146759 721867658 201066749 857269083 676685933 67592009 916321789 655834254 847840320 499941413 365679164 514721585 610069705 234968285 527897224 -1 907456227 748186132 208493418 271708247 239987054 807262913 149830598 818974853 822261941 789495739 73525554 859962837 647911422 718229961 859930182 312308223 560814638 472407762 476084224 980936845 389956215 729178187 863667577 658388576 244155041 284700142 997299598 560637528 579991057 406483013 815472010 123550994 249558965 542661640 838379139 908705907 807820896 160366715 170824557 284696682 60744503 213926602 745924515 525617132 922220234 21873594 676685933 301714930 891436447 457715535 162425880 920219729 859063396 613084013 599555786 477076784 379109457 70161655 335890204 393835525 368935143 950235340 244883660 46011383 107596959 574924220 565554630 679275202 669125354 697184458 703311448 739554266 170824557 327982936 422331486 459789430 730756715 416739210 832364259 801169129 814490763 842871738 602915291 823787812 107596959 220059095 29592557 484471406 770847694 726776295 984895249 119601349 79097209 275463593 514721585 470803824 995194212 38372578 801402068 174295016 238442797 229515163 42277380 543122079 997432376 92112290 974448855 579991057 330785266 216195055 588150191 806195787 867723620 977467597 72621546 527897224 603690869 658388576 13384724 760624728 655834254 34584857 827132364 67075526 70161655 448707988 59706771 574924220 591284702 770680522 608724072 697184458 386381016 979580407 782594982 571736161 846213413 542661640 363811064 469035792 753145692 420342620 456401701 974448855 -1 336862767 107839247 72794624 263636646 750156197 239987054 149830598 464037621 626837013 890844482 991067365 339350524 46410909 428747955 352508141 420342620 36050763 645276436 755527023 507969865 548806448 -1 38372578 47116225 63562141 658388576 112302971 363579344 893897082 197307546 610613670 406568384 177905368 7545447 560637528 95443860 679521131 441949925 198628726 663946492 238442797 160366715 623090438 603620710 14405655 254528769 538432928 828722364 448316745 352607876 938446553 18404492 819963767 469384372 973579758 206014003 993786079 368935143 73525554 610932880 264549124 12903603 260946873 827132364 592274818 645276436 352508141 308232133 86256730 433439854 111122929 594204193 939946968 386935154 110556435 760624728 795730704 301334993 548806448 213926602 403334160 466034328 710113373 78898063 211550817 560814638 60744503 770847694 88469907 770278321 750429264 532803555 785866095 286319692 867723620 365679164 77299524 167036027 211070558 302277738 495241145 493264770 475822349 365035648 416756465 333260763 29272319 561494895 785376602 46485154 779829204 627376276 146171038 812140416 284859244 271516194 428413005 984182750 335890204 891436447 59706771 721867658 749101296 989747990 833246783 110556435 95443860 41524303 697184458 710113373 873072247 186539666 758575350 459789430 820211254 569422962 117303447 638076633 198628726 490142300 693375965 670979891 -1 541460419 670979891 296417374 572311287 753145692 699856917 1713096 308705211 659501910 644187365 399202754 682038125 831985335 32796250 974521569 916321789 942627653 946112218 333260763 107596959 461274569 908705907 306767836 168494769 146171038 916738849 198016418 417425319 586985028 692204091 987705926 577758652 559785274 60081926 782594982 745215401 265395517 656489207 275463593 411999902 854398124 490869221 406430184 263798126 433439854 18794770 215802236 54153332 425469326 789495739 710730165 54164180 254167164 686865014 -1 525617132 689897360 757544011 60978603 965067805 708274346 788878491 594204193 686865014 765954927 438872920 943374902 868838278 447434673 406568384 522063456 660040051 247165890 730824918 746419439 619868736 237773442 970265761 130431610 149052945 333260763 114396999 46485154 857269083 525617132 201066749 627376276 374972287 723200871 599555786 273365488 757544011 850101344 623188968 818974853 447434673 514721585 7545447 628220249 469743398 348123399 857102413 45426260 560637528 649175882 919585635 920219729 444874800 614593757 505655512 491294665 373683372 480210823 441949925 675786233 38372578 991067365 387384744 722874144 373771611 116545387 276260520 291386915 767047665 348123399 422331486 719457202 672907310 494751627 891573253 682038125 415965469 849123482 130580 77299524 197307546 894267291 438872920 676709331 721120553 729178187 203493552 162425880 163091630 470690645 246216644 763183908 334677549 610069705 446355059 381881872 385144989 644336340 239987054 628220249 610932880 823787812 333260763 520011864 228137178 433114786 916321789 95443860 910994573 494950691 681823792 150137560 563732029 593587398 433114786 325287502 679521131 801402068 635671105 830544982 391779414 823787812 910794274 29734308 533560917 291386915 507142051 882812597 818974853 491543933 785866095 627561325 34030354 75228974 676685933 784597145 228137178 345102555 75228974 719457202 883564101 228902962 610613670 991188064 823787812 689608865 46945925 940104206 63210631 485683712 695553778 122896725 291386915 633637325 647427996 377651896 223030820 688380735 543122079 982554231 208028672 622737539 753145692 532803555 638011115 882812597 -1 111985669 770680522 602811046 368764047 271516194 626837013 771459106 635671105 891436447 894267291 159056677 37724537 667169560 63243152 524542574 318110611 13841075 229515163 864561721 790809628 205644911 12903603 770680522 275610416 769545495 644187365 574417829 982581137 901803305 641205608 645695407 295958449 295805912 812752908 995194212 60978603 122067182 414918047 590138438 622823007 427675535 533560917 254167164 880938198 472516679 647290016 600962339 284700142 922220234 673965031 252012472 138533159 211333607 768744535 582319429 117347524 789495739 246216644 861208333 767047665 228137178 254756796 518109595 981763217 451474906 988919874 113804160 679275202 26375227 239987054 159056677 424697572 325287502 700120477 814490763 88469907 730756715 29287119 447434673 717390689 203018461 70161655 469384372 644187365 893897082 686865014 406568384 543006155 140395123 984117471 672907310 112624754 -1 203018461 260307180 770680522 859063396 211550817 243341711 223030820 592274818 571736161 295504204 46485154 335890204 632336991 718577411 977467597 622918995 63210631 705118513 768744535 319424815 832494905 910994573 681690682 164542502 306854073 231771136 560556517 942627653 579991057 908463563 553190572 893897082 563675995 946112218 833246783 532803555 79213361 424697572 765954927 466852129 403334160 524542574 453407680 697374453 137132982 739554266 446355059 610613670 319424815 645695407 192251969 541460419 691504106 993786079 526755095 198703751 122067182 710113373 672907310 804352169 53590481 211333607 26537314 901304975 399202754 -1 901803305 951926549 427618367 36050763 520011864 146171038 919585635 37081879 268947673 686385319 475822349 993786079 518109595 518109595 686649778 306854073 156929061 363811064 379213018 464037621 827132364 55517047 81866966 533560917 14405655 774937853 923159887 726124644 804352169 406483013 67592009 722874144 700120477 494923774 836680980 561494895 56105859 413494386 888304663 992563691 77299524 199770581 345102555 526755095 365407761 935910737 130431610 368764047 541463939 161017478 163983150 29272319 368764047 683531283 849035201 229515163 850351456 86256730 786892734 520086201 791932302 183843307 484471406 903297209 689608865 791932302 574924220 17012234 355126439 377651896 208877360 599555786 610613670 182026506 135519629 820211254 658212287 560455121 355126439 493264770 865880334 424697572 748186132 542986495 229821643 453407680 768744535 656489207 434526689 880446976 329574367 244195221 758575350 74820195 319424815 819523467 563675995 532861718 751964866 393835525 249558965 834500260 363457997 769837665 47116225 49212342 664490073 995194212 338370105 248636995 22576092 13841075 208028672 448316745 609637013 433439854 842306692 355756362 942297502 229821643 219896364 60081926 704672739 488751710 163091630 543122079 96109344 459789430 827132364 644336340 753145692 849123482 763183908 186539666 801402068 57606083 18299476 514721585 599555786 49212342 199770581 811841566 381881872 709403855 81866966 57606083 -1 590138438 413494386 977619929 987705926 198628726 421927353 435984127 580283317 276260520 91064641 473150723 811841566 977467597 984117471 789404113 198016418 838379139 154693260 908705907 532861718 590138438 988919874 95779603 181721636 367754743 542986495 74820195 566096351 17012234 232531633 346188490 36050763 458547544 415965469 693375965 481127177 774149146 232018015 626807589 602915291 458547544 251692591 72643683 264549124 494751627 206287347 729941138 284387166 42277380 726124644 695553778 355126439 435984127 34030354 608724072 679521131 731936598 249558965 910994573 942297502 46410909 722874144 138790019 252012472 505655512 981763217 29734308 336688564 691740164 281598862 712694937 260307180 290604263 191697350 981763217 -1 228902962 432504521 553190572 626837013 814490763 987705926 228137178 251692591 493264770 275610416 713199217 116545387 43897314 92102199 997432376 268947673 375673341 29287119 140113105 647911422 980936845 807820896 613084013 531136661 74820195 634536293 976942240 575541534 582319429 766504018 67592009 672907310 579783784 91064641 149052945 811841566 893652215 84208996 893860727 786075537 957643716 891436447 41260287 -1 500268473 524972471 192251969 666590606 939946968 980134651 721120553 243995015 880446976 644187365 957144144 723200871 472516679 142117376 72263116 916738849 801326287 721867658 116545387 561494895 86361620 345072009 542661640 411999902 782594982 413494386 340301060 919585635 763281688 19140171 632336991 81866966 265395517 241693686 614593757 596367148 981763217 575485118 537867109 336862767 400907045 54153332 638293140 381881872 17012234 275610416 922220234 602811046 939563959 859930182 413494386 484471406 306767836 702444538 770680522 346394348 665446719 432069691 831985335 760593154 765954927 252012472 818974853 181721636 560556517 661932839 953838288 659932705 729352677 525617132 441949925 740224085 790809628 72794624 34584857 820211254 29734308 763183908 329542777 984182750 659501910 697374453 532861718 494923774 942297502 254167164 329959527 762227828 923159887 408497768 375673341 107596959 365407761 831985335 352508141 399202754 146171038 443342808 469035792 16475116 658212287 774149146 525617132 830544982 774937853 980936845 284700142 577758652 623090438 985045640 115639466 381881872 485683712 170824557 691214891 297175900 689608865 979285058 806195787 238951985 712694937 232531633 427618367 638011115 541463939 130580 693375965 -1 689608865 939563959 284700142 468199498 140113105 868838278 22393976 779829204 174295016 725418770 119601349 548806448 421927353 206644601 632336991 78898063 21873594 801326287 72263116 60081926 940104206 -1 284859244 883564101 208877360 275610416 188196698 623090438 596943234 979285058 375673341 574417829 658212287 602915291 13841075 729352677 664490073 171221433 554782737 73453883 602811046 831985335 957144144 579991057 757544011 768744535 7545447 779829204 469035792 645276436 731936598 352607876 593587398 722874144 753145692 274831438 914291169 800463769 70161655 633637325 819523467 966503495 329574367 832364259 669125354 689608865 533560917 614297261 365035648 790809628 252012472 81866966 823933296 330785266 731936598 491978273 690664050 644336340 32796250 271516194 208028672 340301060 885164572 305936785 461649452 697184458 284700142 627561325 520011864 832364259 729178187 413843857 880446976 206014003 753145692 491294665 155997760 -1 -1 822261941 902419092 208028672 914662962 72643683 656206261 760624728 142117376 718577411 339350524 199386661 574417829 818014838 160366715 801402068 291386915 164542502 975269268 -1 7545447 28576479 192251969 109891495 67075526 748186132 414918047 275463593 71713295 42277380 922171930 790809628 113804160 400907045 631700842 830544982 37724537 957144144 703311448 110556435 88469907 155376172 368779111 198016418 203580162 232531633 456863895 491978273 526755095 909186692 823787812 785376602 406483013 92112290 790809628 13384724 330583346 723200871 610069705 554782737 567600315 303139271 690863334 63243152 325845006 406483013 786075537 495336832 398981201 767047665 559785274 668281990 638293140 208877360 182026506 197115342 491978273 789495739 567416830 726124644 325845006 215802236 140113105 592274818 596943234 296417374 763856958 533560917 938446553 295958449 603620710 560556517 29287119 782594982 167036027 247165890 349032071 692204091 469384372 908463563 806195787 428142800 845211351 610613670 760624728 979285058 14405655 730756715 950862675 553190572 559785274 53590481 142117376 208493418 406430184 632336991 980936845 997299598 424146759 613084013 117303447 352508141 577714620 358191652 329574367 73453883 644187365 149830598 122067182 750769230 885077908 766504018 352607876 205644911 437863021 427618367 681823792 444874800 223785502 307476694 406483013 29287119 79213361 907772025 647290016 337502849 365407761 444874800 854398124 827132364 690863334 799467751 122067182 14405655 683531283 318110611 33812208 346188490 784597145 447434673 861115508 563675995 590783394 590783394 213926602 751964866 774149146 724422672 433114786 637964511 42277380 861383306 580470806 723200871 760624728 659932705 572311287 243341711 22393976 53590481 953838288 2433982 469384372 751316591 885164572 864561721 901803305 329542777 400907045 335890204 358191652 660639438 57801759 72621546 229821643 668281990 42277380 880446976 248636995 867933639 237773442 41260287 668281990 86256730 908705907 357329820 191697350 288628682 968396048 912506727 28576479 745924515 335890204 32466209 264549124 902419092 336688564 750429264 989747990 37724537 110556435 431837446 624015614 580918883 165622114 188196698 477076784 270206207 782619049 830544982 433756914 567600315 477076784 368935143 198703751 372910848 276260520 214317232 867723620 275463593 339350524 352508141 263636646 70161655 857102413 832364259 569422962 391779414 610932880 846213413 849123482 883564101 29734308 561494895 987705926 791183444 627376276 468107571 281083465 982581137 742174392 288542157 232531633 33812208 138533159 94630229 470803824 599555786 127278512 734712823 683489839 537867109 503810504 688380735 661932839 174295016 457715535 555548888 18299476 169614935 922220234 565554630 41260287 298868262 767047665 189854783 942297502 435984127 830544982 562288215 437517579 685423362 879954113 655834254 614593757 769837665 268947673 447434673 908463563 495336832 399202754 337458711 -1 73453883 638076633 142117376 263798126 495241145 880938198 373683372 107596959 34584857 60081926 29592557 560637528 464037621 319424815 751964866 723933984 454563819 457715535 468199498 130431610 407009263 254528769 284387166 602811046 596943234 699856917 770847694 164542502 71713295 400907045 123550994 254167164 842306692 456401701 769854437 384604556 507142051 475822349 819523467 718229961 174295016 608724072 123550994 433114786 910794274 599555786 146171038 163091630 441949925 339350524 461274569 745924515 579690895 524542574 908705907 53028773 817331802 882812597 254756796 413843857 249558965 307476694 475822349 435984127 95779603 208877360 818974853 982693874 780117964 29272319 119601349 452820542 574417829 243995015 719457202 485683712 477076784 730824918 707186544 288628682 192251969 54164180 72794624 849123482 280856350 880446976 757544011 59501988 987705926 610932880 542986495 753145692 596943234 527897224 425469326 464037621 21873594 18299476 489295045 822261941 248636995 572589546 845211351 533367205 707186544 620059513 769545495 301334993 790909002 214317232 186539666 32466209 318110611 288628682 713199217 244195221 271516194 801402068 560637528 726124644 868211619 577714620 434526689 217928587 500268473 910994573 795730704 1713096 712694937 901304975 669125354 614297261 745215401 238951985 420425052 182429059 46485154 635671105 563675995 59501988 958339854 469384372 571736161 758575350 910794274 485683712 349772488 217928587 214317232 669742991 713199217 742174392 406717194 201066749 891436447 907772025 791183444 305936785 939946968 284387166 345392984 413494386 56105859 341012648 985045640 731936598 73525554 631700842 901304975 447434673 740224085 307476694 718229961 685423362 566096351 623188968 484471406 763856958 214924123 59501988 188196698 7545447 325845006 977467597 470803824 276260520 914291169 341012648 246216644 182429059 71713295 937638157 352508141 175144765 722874144 368764047 613084013 795730704 741463146 563675995 624015614 263798126 800463769 73453883 563823514 355126439 731745766 693375965 146197290 751964866 764751417 332773543 175884183 295504204 974521569 984182750 705622548 211362614 734712823 580283317 140113105 890844482 807262913 392826688 86256730 38372578 284696682 939563959 46485154 60081926 441949925 833246783 710730165 182026506 438872920 845211351 203580162 19140171 119601349 18404492 182659876 260946873 414918047 579991057 711501588 849123482 525617132 358191652 507142051 456401701 392826688 490142300 823933296 703311448 363811064 722874144 401672699 859063396 365407761 3090244 782619049 352607876 448316745 579690895 817331802 130580 827132364 580884227 428413005 268947673 96109344 590783394 991067365 250810872 252012472 206644601 262575582 211333607 703311448 201066749 42277380 447434673 407009263 807820896 208493418 306854073 427618367 940104206 638011115 150137560 127278512 406430184 454563819 981763217 373683372 319379178 532803555 942627653 36050763 63243152 847840320 541460419 60081926 352508141 307476694 199386661 94630229 163091630 592274818 890844482 416739210 254528769 622918995 880446976 596943234 486307671 599555786 112302971 987705926 379213018 355756362 263636646 818974853 246216644 614297261 849035201 70161655 819963767 865880334 946112218 208877360 130580 610895287 127278512 722874144 29272319 686649778 243995015 434526689 693375965 740364356 916738849 107808575 368704535 -1 307476694 115639466 456487084 19140171 493264770 321467204 907456227 806195787 786075537 420425052 603620710 358362276 352607876 914662962 681690682 420342620 579991057 763856958 590138438 542986495 355126439 641205608 338370105 916321789 998120269 352508141 622737539 847840320 375673341 731936598 47116225 36050763 680666684 159647580 213926602 330583346 751316591 59706771 748526814 26905429 522063456 308705211 433348815 340301060 88469907 532803555 368935143 958339854 562288215 43392732 428747955 22393976 563675995 378610966 723933984 470690645 705622548 251692591 433348815 718577411 791183444 535432483 656206261 746419439 914662962 34030354 92102199 882812597 448316745 295958449 340301060 818974853 21873594 641205608 171504845 562288215 401672699 697374453 72621546 -1 610613670 427675535 679670176 523542917 750429264 525617132 137132982 465892383 562288215 232531633 489295045 469384372 244195221 337458711 175554418 711501588 298868262 87162480 700120477 115470851 891573253 252012472 520011864 718577411 628984381 614297261 167415720 749101296 749101296 784597145 801169129 317871021 902419092 219896364 593282222 960643177 75228974 223030820 346188490 34584857 211333607 942297502 588150191 861208333 966503495 673965031 95443860 161017478 114396999 765137854 845459462 393835525 18404492 943374902 728357838 447434673 319379178 741463146 507969865 140395123 416756465 641205608 252012472 593282222 713199217 306854073 815472010 859063396 845459462 566096351 198703751 355756362 729941138 43392732 770278321 582319429 318110611 658388576 329574367 854062217 763281688 847840320 985045640 885164572 689897360 562309509 722874144 745215401 243995015 335890204 373771611 806195787 666590606 593282222 602915291 284859244 644336340 751964866 614593757 741339101 305936785 500268473 836680980 705622548 71713295 59706771 71713295 54153332 480210823 252012472 286319692 950862675 111122929 437863021 53028773 297175900 845459462 459789430 953838288 73453883 708274346 818014838 238951985 812752908 777440440 560556517 438872920 55517047 537867109 927530478 155376172 319424815 785866095 989696303 399202754 209977170 852782081 367754743 893897082 341012648 228137178 937633254 602915291 265395517 868838278 664295306 656489207 137132982 901304975 135519629 494751627 632336991 777440440 372910848 833246783 831985335 43897314 268947673 473150723 563732029 346394348 722672739 2433982 864561721 992563691 186539666 251692591 378409769 254528769 452820542 667841561 831985335 379109457 748526814 264549124 63210631 355126439 670979891 801326287 586985028 26905429 367754743 13841075 170824557 19140171 713199217 21873594 541460419 920219729 381881872 519762398 476084224 683531283 842306692 634983639 838379139 522063456 28416726 850636024 297175900 999674172 37724537 930790502 398981201 254756796 485683712 393835525 132774876 329574367 312308223 626807589 96109344 730824918 16475116 731936598 365035648 942627653 859962837 95443860 197115342 867933639 520086201 229515163 97299507 281598862 938914563 582861386 867723620 541460419 785376602 386935154 332773543 122067182 -1 378610966 491294665 914291169 254528769 97299507 406483013 988919874 293155218 563732029 685423362 622737539 960643177 317871021 695553778 548806448 757544011 100130908 162425880 67075526 667841561 29734308 46011383 982581137 635671105 352508141 46011383 577758652 619868736 638293140 197115342 711503207 811841566 319424815 880844104 325845006 701070480 991067365 386381016 683531283 785247749 567600315 378610966 72794624 46485154 411999902 708274346 729178187 363579344 374972287 306854073 830994144 939563959 244155041 262575582 302277738 491978273 321467204 628984381 753145692 997432376 247165890 645276436 668281990 92112290 859962837 276260520 234968285 902419092 651109313 651109313 907772025 579783784 203580162 572311287 422331486 306854073 22393976 349032071 217928587 614593757 155997760 321467204 764751417 580918883 728492414 37081879 110012494 296417374 814490763 561494895 46011383 79097209 822261941 729352677 308232133 663667470 358191652 374972287 159647580 433114786 567600315 433439854 871898006 790909002 281598862 387518405 909186692 769837665 938914563 29592557 635671105 72643683 305936785 578238211 391779414 660040051 280856350 610895287 119601349 514721585 596943234 751316591 785376602 454563819 800463769 29287119 437517579 764751417 406568384 243995015 806195787 888304663 386381016 334677549 34030354 659501910 466034328 645695407 639572212 614459776 989696303 78898063 301334993 34685076 75228974 13384724 29592557 562288215 74820195 704672739 239254051 441949925 79323336 165622114 590138438 117303447 560455121 861115508 433439854 146197290 542661640 401672699 974448855 263636646 425469326 119601349 801326287 406568384 985045640 327982936 894267291 861115508 700120477 658212287 265395517 95779603 407009263 705622548 922171930 433114786 691214891 408497768 789404113 337458711 901304975 541460419 112302971 17012234 465892383 894991717 849123482 910994573 614297261 942045496 244195221 751964866 682038125 679275202 4610166 375673341 614297261 580918883 574924220 491294665 769854437 270206207 333260763 857269083 276260520 833246783 201066749 950862675 298868262 229405480 28576479 690664050 590783394 789404113 407009263 627561325 741463146 968396048 974521569 486307671 470803824 175554418 22393976 685423362 731936598 138533159 241693686 295805912 863278761 753145692 427618367 28416726 893652215 638293140 811841566 476084224 392826688 387518405 248636995 916321789 63210631 368704535 702444538 29734308 407009263 318110611 60978603 807820896 919585635 739554266 163091630 614297261 208028672 987705926 624015614 750769230 18404492 845211351 55517047 568090820 569422962 197307546 628220249 982554231 827132364 336688564 38372578 888304663 563675995 264549124 592274818 565554630 406483013 818829472 368935143 433756914 982554231 919585635 182659876 742174392 411999902 533560917 659932705 163091630 295805912 308705211 145847415 873072247 885077908 764751417 901304975 763856958 46011383 18299476 527985132 433439854 181721636 704672739 882812597 681823792 14405655 43392732 392826688 197307546 831985335 770278321 691504106 533560917 708274346 533367205 782594982 112624754 461274569 740364356 334677549 784597145 575541534 578238211 41524303 406568384 731745766 349772488 688380735 865880334 780117964 358191652 620059513 942627653 626837013 527985132 355756362 321331882 163091630 60978603 66483968 857102413 59706771 418807544 398981201 770847694 593587398 490142300 750763843 175884183 960643177 817331802 2433982 17012234 248636995 901304975 427618367 472516679 47116225 345102555 722874144 491294665 668281990 508037594 807648187 407009263 29287119 938914563 428142800 223030820 923159887 679670176 167415720 751316591 749101296 28576479 897789362 633637325 806195787 742174392 724422672 659932705 110556435 291386915 985045640 296417374 721120553 832364259 591284702 74820195 248636995 980936845 424146759 863667577 627561325 3090244 973579758 428413005 447434673 697374453 336862767 560556517 503810504 444874800 985045640 914206506 723933984 280856350 655834254 998120269 697374453 424697572 198628726 761021239 72263116 476084224 428747955 329959527 965067805 38372578 111985669 297175900 930790502 628984381 -1 833220245 464037621 766504018 838379139 171504845 730756715 893652215 352508141 977467597 574924220 268947673 491294665 891573253 211550817 572311287 868838278 43897314 538432928 850101344 774937853 561494895 325287502 416739210 155997760 688380735 663946492 335890204 393835525 330785266 710730165 275610416 160366715 639572212 526755095 827132364 75228974 575541534 330318834 265395517 807648187 78898063 373771611 596367148 456863895 262575582 672907310 400907045 55517047 927530478 749101296 762227828 508037594 254167164 849123482 942627653 334677549 201066749 469384372 710113373 41524303 503810504 387518405 112624754 111122929 355756362 470803824 254167164 49212342 46485154 731745766 275610416 100130908 198703751 565554630 271708247 288628682 580884227 297133830 786969334 182659876 486307671 622918995 691740164 349772488 838379139 758575350 512615132 159647580 305936785 345392984 852837035 254528769 421927353 122067182 262575582 97299507 571736161 814490763 686385319 995194212 590783394 471865558 406568384 999674172 661932839 881489135 795730704 723200871 -1 768744535 660639438 622823007 574417829 663946492 575541534 991067365 823787812 818829472 721120553 63243152 95779603 909186692 262575582 276260520 960643177 574924220 422331486 160366715 690664050 579690895 249558965 86256730 47116225 561494895 750763843 563823514 72263116 567416830 914291169 288628682 333772685 456863895 182026506 522063456 560455121 579690895 398981201 57606083 452820542 13841075 712694937 719457202 49208976 149830598 846213413 358191652 649175882 114396999 982693874 966561320 861208333 229405480 346188490 532861718 427675535 208028672 100130908 400907045 807648187 881489135 115639466 718229961 564190579 229405480 378409769 365679164 471865558 867933639 183843307 577758652 893652215 730756715 857102413 206014003 205644911 551345512 857269083 349032071 577758652 958339854 791932302 881489135 710730165 713199217 417425319 446355059 814490763 295958449 67592009 688380735 670408229 398981201 799467751 254756796 662235717 164542502 675573324 679670176 13841075 580918883 564190579 75228974 457715535 664490073 922220234 95779603 742174392 26537314 649175882 982554231 957643716 541460419 914206506 891573253 115639466 72621546 563823514 373771611 563675995 831985335 857269083 79213361 74820195 92160628 216195055 33812208 29592557 115470851 368935143 260946873 295504204 801402068 637964511 769837665 624015614 363579344 701070480 239254051 563732029 461649452 223785502 363457997 159056677 514721585 904818318 572311287 118534662 786892734 823933296 198628726 770680522 782619049 182659876 723200871 59501988 761888635 588150191 660040051 681823792 88469907 183843307 894991717 580884227 916738849 880665324 219896364 408497768 389956215 634536293 177905368 355126439 710730165 203580162 13841075 203018461 974521569 354949635 384604556 635671105 288542157 79323336 984117471 66483968 649175882 748526814 560814638 469384372 46945925 567600315 281598862 514721585 975269268 211333607 481127177 490869221 750429264 812752908 456863895 586985028 668281990 251692591 596943234 281598862 -1 459789430 283107224 619868736 28416726 691214891 392826688 452820542 901304975 806195787 910794274 357329820 295958449 995194212 594204193 408244002 914206506 893652215 845211351 341012648 562288215 812140416 386935154 882812597 232018015 907772025 476084224 982693874 832364259 13384724 659932705 321331882 563823514 262575582 254756796 244883660 471865558 849123482 339350524 29287119 281083465 57551192 689608865 595427792 995194212 602915291 305936785 420425052 939946968 938446553 880938198 822261941 676709331 999674172 938446553 580283317 237773442 321331882 206287347 965993467 318110611 888304663 763183908 910994573 588150191 437863021 475822349 420425052 603620710 286319692 975269268 115470851 670408229 600962339 942297502 495712606 958339854 247165890 63210631 57606083 469035792 171504845 685097645 861383306 175144765 766504018 991067365 265395517 786892734 637964511 116545387 788878491 250810872 217928587 833246783 535432483 807262913 265395517 503810504 149052945 669655791 818014838 979580407 614593757 819963767 122067182 385144989 468107571 645695407 679521131 71713295 284859244 72263116 588150191 77299524 767047665 852782081 211070558 600962339 635671105 406568384 301714930 491543933 39885396 484471406 975269268 55517047 880844104 703311448 325287502 865880334 355126439 560556517 112624754 669655791 407009263 286319692 123550994 288542157 560556517 603690869 622918995 37724537 26905429 219896364 514721585 833220245 59501988 569422962 165622114 608724072 53590481 163789960 957144144 922220234 922171930 46410909 456863895 165753 374972287 541460419 647911422 301334993 626807589 19140171 817331802 644336340 216195055 337458711 914206506 879954113 861208333 891436447 859930182 937633254 910994573 296417374 730756715 16475116 465892383 801169129 149052945 880665324 312308223 859063396 199386661 495241145 920219729 403334160 572311287 634983639 946112218 726124644 32466209 686385319 308232133 168494769 861115508 656206261 801402068 262575582 491543933 728357838 336688564 72263116 211333607 666590606 271516194 786075537 664295306 169614935 81866966 710113373 669125354 165622114 991067365 237773442 246216644 358362276 686385319 946112218 593282222 784597145 586392635 903297209 199770581 524972471 57551192 701070480 719457202 263636646 206287347 213926602 777440440 386935154 660040051 832494905 624015614 577758652 602915291 81866966 32466209 679521131 229405480 676685933 -1 160366715 919585635 823933296 11796756 232018015 675573324 914662962 879954113 524542574 340301060 750763843 470803824 822261941 159647580 329542777 119601349 867933639 758575350 146171038 19140171 901304975 138790019 243995015 262575582 689608865 338370105 909186692 39885396 22576092 669742991 406568384 57606083 644336340 507142051 596367148 159647580 37724537 406430184 208877360 728357838 750769230 428747955 728492414 560637528 18299476 14405655 32466209 728357838 814490763 149830598 198016418 656206261 807820896 667300705 21873594 335743200 888304663 760624728 263798126 710113373 903297209 819523467 211070558 984117471 420773560 237773442 750429264 729941138 953838288 352607876 503810504 680666684 656206261 237773442 943374902 717390689 750156197 197115342 524542574 823787812 138790019 271516194 690664050 991188064 13384724 750429264 140113105 637964511 942297502 32466209 817331802 667300705 358362276 171221433 208493418 686649778 413843857 977619929 818974853 580884227 254756796 386935154 681690682 307476694 155997760 327982936 34030354 594204193 19140171 958339854 281083465 849035201 38372578 155376172 818829472 603690869 937633254 247165890 668281990 330785266 627589268 977619929 327982936 149830598 494950691 321331882 107839247 112624754 807648187 651109313 532803555 441949925 111122929 975269268 377651896 957643716 275463593 681823792 469743398 411907778 165622114 846213413 297175900 416739210 434526689 73525554 806195787 968396048 229821643 206287347 563823514 312308223 728492414 373771611 608724072 791183444 807262913 634536293 72794624 363579344 415965469 750769230 832494905 109891495 538432928 317871021 215802236 95779603 466034328 247165890 46011383 140113105 554782737 562309509 507142051 679670176 842871738 975269268 162425880 39885396 613084013 740224085 667841561 18299476 264549124 7545447 639572212 641205608 130431610 970265761 624015614 111122929 426480224 531136661 84208996 66483968 748186132 171221433 191697350 43392732 71713295 774937853 349032071 514721585 970265761 842871738 170824557 333260763 406483013 535432483 847840320 495712606 284387166 533560917 414918047 327789615 890844482 518109595 118534662 879954113 159056677 228137178 562288215 567600315 28576479 697184458 555828167 980134651 623090438 18299476 67075526 214924123 70161655 638076633 249558965 357329820 470690645 454563819 183843307 159056677 183843307 578238211 914291169 697374453 327789615 784597145 373683372 329574367 111985669 22576092 710113373 998120269 194126353 57551192 551345512 140395123 563675995 852782081 806195787 59706771 57801759 3090244 22393976 365407761 984895249 833246783 183843307 414918047 894991717 345102555 859063396 686649778 823933296 660738659 29592557 524972471 704672739 327789615 110556435 659501910 563732029 489295045 635671105 710730165 823787812 392826688 73453883 425469326 114396999 739554266 873072247 658212287 572589546 387518405 488751710 836680980 406568384 604148770 248636995 638293140 541460419 211070558 433348815 71713295 718577411 718229961 613084013 321467204 274831438 883564101 159056677 538432928 873072247 481127177 819523467 724422672 806195787 13384724 939563959 848715178 295504204 685097645 903297209 231771136 532803555 448707988 437863021 554782737 469035792 208877360 273365488 113804160 645695407 401672699 685423362 950629972 524972471 663946492 593587398 543006155 548806448 406430184 216195055 321467204 661932839 710113373 63210631 87162480 55517047 -1 208877360 532861718 413494386 580283317 988919874 303139271 384604556 764751417 527897224 182429059 18404492 244883660 174295016 686865014 349032071 284700142 697374453 979580407 425469326 420773560 817331802 78898063 414918047 908705907 459789430 306854073 656489207 223785502 768744535 29272319 832364259 469384372 207023050 29272319 751964866 645695407 365035648 67592009 596367148 111985669 209977170 818014838 368764047 473150723 192251969 710730165 71713295 428747955 367754743 160366715 228902962 527897224 386935154 903297209 303139271 169614935 165622114 968396048 408497768 722672739 914291169 575485118 989696303 72263116 612885490 622737539 491543933 701070480 721867658 943374902 57606083 107596959 991188064 818014838 610069705 709403855 832364259 293155218 559785274 660738659 681690682 763183908 984182750 609637013 -1 937638157 943374902 453407680 337458711 325845006 675573324 107839247 424146759 171504845 373771611 329574367 391779414 982554231 446355059 686649778 578238211 641205608 81866966 243995015 818829472 894991717 908705907 740364356 764751417 191697350 712694937 79323336 830162158 745924515 579783784 494950691 432504521 96109344 527897224 63562141 416756465 861208333 443342808 407009263 993786079 47116225 415965469 95443860 914662962 163789960 541463939 709403855 208028672 748186132 746419439 966503495 414918047 555548888 518109595 111122929 72621546 323513395 667300705 426480224 728357838 655834254 349772488 721120553 760624728 243995015 175144765 335743200 115639466 97299507 55517047 950862675 454563819 446355059 863667577 639572212 34685076 368935143 321331882 970265761 443342808 623188968 993786079 454563819 92102199 448707988 780117964 762227828 216195055 407009263 427675535 308232133 378409769 784371166 957144144 741339101 852837035 415965469 288542157 748186132 750769230 118534662 281083465 790809628 72621546 610613670 437863021 740224085 749101296 127278512 437863021 275610416 499941413 717390689 786969334 664295306 705118513 428142800 491978273 852782081 590603969 667300705 799467751 965993467 784371166 73453883 914206506 297133830 638076633 67592009 751964866 740364356 160366715 938446553 220059095 203018461 288542157 260307180 672907310 297133830 997432376 791183444 494751627 91064641 138790019 465892383 321331882 893860727 950862675 538432928 916738849 473150723 284859244 372510013 740364356 441949925 995194212 63210631 472516679 165753 790909002 344240078 724422672 155906400 831985335 966561320 247165890 565554630 902419092 579783784 953838288 703311448 923159887 672907310 610069705 461274569 477076784 985045640 41524303 734712823 275463593 939946968 100130908 177905368 965067805 799467751 79097209 47116225 763856958 428142800 997432376 444874800 770847694 881489135 26537314 988919874 549323513 213926602 608724072 980134651 174295016 155997760 491543933 245677831 730824918 729941138 710113373 942627653 112302971 989747990 45426260 79213361 563732029 904818318 882812597 4610166 885164572 181721636 691504106 635671105 950629972 560637528 295504204 507142051 443342808 38372578 400907045 998120269 542986495 624015614 569422962 434526689 845459462 613084013 469384372 420425052 284859244 472407762 865880334 700120477 22576092 66483968 339350524 542661640 707186544 284700142 942045496 206014003 614593757 46410909 254756796 57801759 155906400 111122929 894991717 641164921 461649452 297175900 554782737 160366715 686865014 850636024 308705211 850101344 246216644 363811064 459789430 406717194 614459776 610613670 378409769 302277738 33812208 345072009 406717194 822261941 234968285 634536293 276260520 701070480 428747955 659501910 428747955 549323513 789495739 290604263 174295016 168494769 464037621 458547544 63210631 713199217 297133830 634983639 683531283 290604263 658388576 49208976 345102555 433439854 562309509 761888635 902419092 211550817 368779111 199386661 659501910 719457202 41524303 469743398 815472010 691504106 572589546 865880334 437863021 13841075 149052945 216195055 339350524 555548888 228137178 201066749 334677549 567416830 691740164 832494905 -1 683531283 244195221 559785274 43392732 223030820 627589268 357329820 614593757 393835525 885077908 958339854 560556517 420425052 387518405 624015614 526755095 109891495 623188968 239987054 904818318 626807589 960643177 957144144 801402068 275463593 56105859 338370105 427675535 408497768 229821643 462383923 3090244 260946873 168494769 711503207 823933296 77564723 711501588 686865014 395983136 957643716 705118513 4610166 92112290 718577411 833246783 456487084 327982936 446355059 49212342 818829472 520086201 458547544 111985669 575485118 413843857 882812597 448707988 795730704 638293140 679521131 885164572 663307073 239254051 760593154 401672699 494950691 894267291 864561721 567600315 395983136 871898006 448707988 444874800 730756715 999101537 903297209 263798126 39885396 660738659 664295306 819963767 119601349 907456227 417425319 801169129 88469907 690664050 786969334 336862767 34584857 790809628 571736161 443342808 512615132 84062198 493264770 60081926 102379477 666590606 873072247 198016418 271516194 191697350 97299507 325287502 785247749 786969334 567416830 566096351 476084224 333772685 614297261 401672699 470803824 730824918 355756362 991188064 319379178 452820542 73525554 614593757 811841566 622737539 741339101 111985669 330583346 293155218 251692591 662235717 882812597 582319429 373771611 571736161 937633254 910794274 863667577 885077908 28416726 786969334 46410909 842871738 119601349 981763217 705622548 614593757 406717194 920219729 398981201 543006155 681690682 716182336 92102199 850101344 102379477 273365488 188196698 927530478 661932839 728357838 401672699 319379178 341012648 942045496 389956215 34685076 107839247 288542157 -1 274831438 188196698 417425319 92102199 758575350 683531283 644187365 957144144 112302971 113804160 443342808 801402068 790809628 -1 849123482 691504106 863667577 490869221 95443860 518109595 447434673 472407762 428142800 894991717 339350524 634536293 87162480 264549124 586392635 29734308 79097209 456487084 572311287 559785274 845211351 716182336 649175882 406483013 250810872 594204193 484471406 346394348 626807589 -1 762227828 368704535 724422672 957643716 276260520 849123482 691740164 946112218 428142800 935910737 626807589 201066749 563732029 991067365 622823007 7545447 902419092 819963767 66483968 26905429 72263116 79213361 232531633 592274818 937638157 891436447 690664050 254528769 138790019 622918995 709403855 495336832 33812208 229515163 645695407 81866966 695553778 572589546 208028672 155906400 411999902 873072247 885077908 34685076 691740164 159056677 788878491 60978603 244195221 555828167 868211619 861115508 57606083 790909002 719457202 250810872 838379139 770847694 384604556 859063396 56105859 46011383 820211254 159056677 852782081 993786079 433114786 667300705 365679164 167415720 377651896 762227828 41260287 590603969 977619929 649175882 470690645 563675995 413843857 458547544 283107224 432069691 165753 842306692 676709331 393835525 312308223 264549124 731936598 660639438 982693874 586392635 634983639 868838278 907456227 763856958 161017478 372510013 270206207 919585635 303139271 740224085 591700510 619868736 107839247 786075537 692204091 49208976 916738849 333772685 668250239 199386661 118534662 789495739 608724072 927530478 950629972 420342620 339350524 73525554 756425389 709403855 982581137 537867109 119601349 109891495 619868736 22576092 337502849 437517579 627376276 115639466 958339854 688380735 107808575 817693389 622823007 724422672 919585635 580283317 472516679 -1 505655512 18299476 162425880 676685933 111985669 695553778 117347524 664295306 998120269 729941138 403334160 561553313 339350524 284387166 301714930 63562141 251692591 215802236 53028773 564190579 860724917 681690682 626807589 14405655 922171930 559785274 785247749 902419092 446355059 791932302 782927012 593282222 873072247 707186544 658388576 214924123 675786233 392826688 561553313 470690645 712694937 346394348 81866966 215802236 891436447 533367205 749101296 622918995 159647580 830994144 373771611 730909832 601762202 413494386 39885396 572311287 591284702 348123399 871898006 456401701 411999902 660040051 722874144 123550994 731745766 260946873 580884227 426480224 880938198 229515163 263798126 970265761 984182750 920219729 946112218 199386661 663946492 574417829 73525554 70161655 651109313 406568384 243341711 660040051 321467204 692204091 421927353 490869221 569422962 67075526 333772685 782619049 660639438 807262913 499941413 774149146 379213018 761888635 346394348 283107224 477076784 767047665 850101344 446355059 580918883 162425880 424697572 734712823 443342808 100130908 91064641 647290016 953838288 885077908 112624754 149830598 916321789 782927012 692204091 705622548 713199217 357329820 582319429 942627653 532803555 935910737 220059095 791932302 46485154 446355059 985045640 306767836 535432483 198628726 668281990 867723620 66483968 740224085 352508141 765137854 582861386 406483013 679670176 593587398 111985669 610613670 603690869 406717194 484471406 830544982 243995015 248636995 321331882 731936598 989747990 999674172 833246783 974521569 495336832 330785266 594204193 562288215 63243152 318110611 365035648 697374453 232531633 566034579 344240078 330583346 428747955 634983639 562309509 580918883 656489207 127278512 904818318 850636024 446355059 329959527 507142051 742174392 730756715 609637013 680666684 466852129 633637325 704672739 477076784 967987535 29734308 726776295 54164180 730756715 165622114 854398124 271516194 433348815 664295306 34030354 110556435 365035648 868838278 894267291 689897360 4610166 490869221 719457202 454563819 507142051 374972287 667169560 579783784 750769230 707186544 140113105 723200871 845459462 424146759 992563691 244883660 746419439 538432928 553190572 784597145 165753 220059095 22393976 656489207 997299598 638293140 416739210 722874144 591700510 241693686 110556435 13384724 265395517 622737539 494950691 842871738 760593154 276260520 155997760 912506727 998120269 532861718 688597242 823787812 41524303 766504018 767047665 466034328 265395517 372510013 306767836 302277738 -1 319379178 566034579 610895287 432504521 614297261 993786079 491978273 818974853 891436447 868211619 916321789 728357838 595427792 239254051 365407761 619868736 845211351 111122929 270206207 807262913 831985335 110556435 699856917 818829472 140395123 647290016 688597242 66483968 942297502 162425880 -1 138533159 745924515 466034328 413843857 880844104 465892383 656489207 446355059 817693389 207023050 722672739 679670176 431837446 686649778 275463593 667169560 140395123 312308223 372910848 771459106 174295016 72794624 939946968 96109344 661932839 722672739 676709331 644336340 880844104 339350524 580884227 683489839 514721585 386381016 830544982 893860727 524542574 29272319 291386915 722672739 676709331 428413005 680666684 241693686 914291169 957643716 786969334 985045640 398981201 444874800 398981201 45426260 940104206 229405480 112302971 981763217 989696303 719457202 667300705 907772025 262575582 494950691 711501588 590783394 346188490 888304663 722672739 2433982 975269268 667841561 656206261 110556435 999674172 250810872 669125354 122896725 578238211 766504018 681690682 592274818 602915291 974521569 950862675 707186544 638011115 718577411 562288215 863278761 214924123 574417829 815472010 398981201 666590606 334677549 422331486 -1 603690869 164542502 197115342 63562141 167415720 146171038 337458711 746419439 186539666 171221433 198628726 864561721 41260287 989747990 740364356 468107571 18794770 416739210 177905368 595427792 761888635 11796756 790809628 580283317 726776295 673965031 623090438 541463939 16475116 339350524 244883660 238951985 668250239 998120269 490869221 34584857 731745766 458547544 392826688 160366715 374972287 246216644 150137560 34584857 697184458 751316591 301714930 691740164 260946873 577758652 323513395 46410909 757544011 183843307 37081879 438872920 239254051 711501588 330785266 43392732 575541534 118534662 63210631 443342808 197307546 42277380 363811064 302277738 59706771 183843307 454563819 780117964 107596959 987705926 384604556 968396048 485683712 491294665 982581137 182026506 760593154 575541534 910994573 767047665 580470806 332773543 858159813 57606083 750429264 207023050 428413005 691504106 730756715 296417374 29287119 130580 433348815 37724537 907456227 -1 18794770 175554418 596367148 692204091 330318834 669742991 938446553 323513395 634536293 507142051 72794624 161017478 491543933 567600315 697184458 286319692 81866966 73525554 823787812 764751417 814490763 922171930 852837035 811841566 275463593 893860727 669125354 710730165 672907310 888304663 18404492 433114786 569422962 275463593 930790502 790809628 18794770 873072247 770278321 234968285 893897082 968396048 663946492 672907310 622737539 903297209 850351456 939946968 834500260 795730704 246216644 244195221 146197290 801402068 79213361 421927353 745215401 656206261 297133830 53028773 756425389 433348815 690664050 974448855 764751417 114396999 620059513 381881872 957144144 425469326 447434673 748186132 818974853 348123399 446355059 850636024 107839247 213926602 922220234 123550994 718229961 819523467 670979891 755527023 92112290 286319692 333772685 365407761 656489207 486307671 215802236 579690895 60978603 722874144 42277380 815472010 618312173 275463593 372510013 340301060 456487084 789404113 109891495 740364356 828722364 982693874 578238211 281598862 169614935 341012648 428747955 850636024 522063456 522063456 288542157 345072009 175554418 264549124 908463563 897789362 181721636 740224085 295805912 822261941 229405480 403334160 711501588 679275202 634536293 746419439 458547544 283107224 761888635 651109313 239987054 974448855 456487084 164542502 425469326 2433982 991188064 346394348 495241145 563823514 229405480 938954818 830994144 751964866 608724072 355756362 842871738 420425052 334677549 740224085 472516679 265395517 177905368 458547544 34030354 349772488 211333607 542986495 327982936 284859244 130431610 387384744 861383306 284387166 970265761 301714930 122067182 78898063 746419439 620059513 683489839 940104206 823787812 623090438 3090244 527985132 799467751 891573253 638011115 16475116 211333607 493264770 215802236 730756715 672907310 471865558 427618367 355756362 349772488 384604556 683489839 150137560 298868262 205644911 464037621 761021239 191697350 333260763 416756465 595427792 155376172 769854437 203018461 780117964 123550994 411907778 645276436 181721636 985045640 965067805 349772488 833220245 264549124 274831438 580283317 641164921 418807544 494923774 431837446 649175882 975269268 894267291 901803305 446355059 188196698 903297209 375673341 916321789 281083465 883564101 686865014 408244002 238951985 237773442 163789960 28576479 384604556 303139271 904818318 95443860 142117376 150137560 852782081 32466209 16475116 220059095 163983150 637964511 375673341 977619929 763281688 208028672 818974853 162425880 914206506 574924220 28416726 155376172 960643177 305936785 800463769 667300705 897789362 916321789 197115342 424697572 676709331 680666684 580283317 520011864 927530478 763183908 942045496 37724537 295958449 622823007 626837013 428747955 241693686 689608865 890844482 86256730 329959527 155906400 246216644 668281990 462383923 197115342 95779603 574417829 393835525 192251969 991188064 726776295 43897314 34584857 973579758 444874800 623090438 600962339 16475116 411999902 275610416 140395123 659501910 88469907 138533159 699856917 491978273 849123482 596367148 164542502 700120477 861115508 532861718 766504018 728492414 97299507 746419439 264549124 560556517 117347524 441949925 451474906 995194212 345392984 232018015 641205608 403334160 373771611 305936785 334677549 47116225 685423362 965067805 22393976 182429059 795730704 441949925 7545447 724422672 861383306 593587398 979580407 823787812 491294665 448316745 765137854 437517579 481127177 619868736 117303447 785866095 908463563 135519629 448707988 433114786 424146759 582861386 13384724 363579344 588150191 97299507 984182750 817331802 97299507 710113373 520086201 785376602 599555786 28576479 75228974 63243152 192251969 2433982 41524303 562309509 392826688 102379477 413494386 420425052 942045496 728357838 801169129 368779111 593282222 691504106 745215401 586392635 198016418 958339854 638011115 594204193 791932302 880844104 169614935 127278512 79323336 418807544 296417374 88469907 600962339 565554630 980134651 574924220 26375227 16475116 635671105 647290016 634983639 102379477 562288215 940104206 26905429 760593154 92160628 730824918 73453883 586985028 43897314 709403855 729352677 622737539 66483968 140113105 564190579 79213361 740364356 54153332 965993467 838379139 323513395 381881872 679521131 55517047 901304975 633637325 284859244 634536293 909186692 704672739 559785274 622737539 444874800 555828167 757544011 577714620 950629972 614297261 46945925 927530478 639572212 756425389 523542917 765954927 968396048 296417374 60978603 724422672 472516679 306854073 234968285 263636646 70161655 709403855 373771611 408244002 194126353 823787812 819963767 879954113 113811391 533367205 171504845 820211254 602915291 368764047 930790502 138790019 270206207 563675995 150137560 745215401 110012494 229821643 14405655 991067365 403334160 628220249 665446719 741339101 721120553 658212287 26375227 86361620 174295016 984182750 308232133 469743398 519762398 491543933 373683372 619868736 681690682 260946873 770680522 387518405 762227828 827132364 95443860 215802236 885164572 680666684 711503207 730824918 986331373 41260287 57606083 818014838 175590565 503810504 818974853 999101537 334677549 72794624 568090820 263798126 961821360 579991057 991188064 174295016 34685076 683489839 542986495 472516679 75228974 922220234 751316591 262575582 801326287 590138438 691214891 655834254 491294665 691214891 790809628 586985028 481127177 305936785 865880334 647911422 691214891 265395517 910794274 818974853 871898006 988919874 908463563 297175900 751316591 882812597 882812597 45426260 367754743 67592009 543122079 567416830 337458711 823933296 457715535 596367148 848715178 760593154 244195221 12903603 982554231 770278321 413494386 417425319 408497768 146171038 849035201 666590606 638011115 46410909 132774876 728492414 413494386 491294665 638011115 489295045 789404113 683489839 55517047 268947673 138790019 490869221 676709331 337458711 690863334 276260520 481127177 569422962 330318834 604148770 989696303 561553313 579690895 247165890 564190579 438872920 33812208 595427792 519762398 416739210 348123399 725418770 77564723 860724917 329959527 70161655 385144989 997432376 857269083 372510013 -1 155376172 766504018 975269268 237773442 859063396 372910848 730824918 614459776 604148770 580884227 681690682 155906400 49208976 789404113 761021239 363811064 175884183 818974853 39885396 758575350 433114786 437517579 92112290 211362614 695553778 940104206 791183444 827132364 34685076 288542157 760624728 335743200 214924123 527985132 645695407 494923774 624015614 828722364 142117376 522063456 548806448 953838288 968396048 319379178 647911422 329574367 562309509 175144765 295504204 214924123 982693874 685097645 957144144 237773442 769545495 903297209 538432928 916321789 656206261 823933296 789495739 28576479 623188968 491543933 84062198 503810504 32796250 458547544 728492414 271516194 968396048 828722364 554782737 150137560 411907778 491543933 923159887 263798126 680666684 -1 977619929 22393976 75228974 468199498 137132982 163091630 70161655 847840320 604148770 749101296 41260287 553190572 60081926 415965469 854062217 854062217 480210823 623188968 3090244 368935143 634536293 680666684 41260287 387518405 34584857 627376276 60978603 984895249 413494386 84208996 38372578 333772685 329542777 554782737 748186132 845459462 215802236 203580162 416756465 156929061 155997760 472516679 122067182 363579344 469035792 979580407 413494386 168494769 36050763 631700842 819963767 542986495 774149146 433756914 456401701 29592557 470690645 543006155 245677831 998120269 538432928 858159813 721867658 950235340 785866095 346394348 953838288 938914563 -1 54153332 689608865 303139271 87162480 284696682 271516194 596367148 280856350 112624754 66483968 243995015 488751710 214317232 329574367 217928587 375673341 679670176 857269083 29592557 223785502 372910848 593587398 325287502 301334993 11796756 560455121 541463939 767047665 301334993 681823792 950629972 595427792 2433982 115639466 444874800 254756796 142117376 691504106 456487084 113804160 2433982 54164180 861208333 721120553 614593757 614593757 214924123 612885490 171221433 950862675 47116225 358191652 596367148 163983150 563823514 519762398 940104206 591284702 421927353 138790019 456487084 408244002 567600315 470803824 49212342 670979891 46011383 303139271 241693686 281598862 880844104 113811391 885164572 43392732 685423362 871898006 893860727 302277738 580884227 977467597 938914563 437517579 966561320 393835525 160366715 861208333 189854783 232531633 484471406 984182750 679275202 182026506 363811064 372510013 508037594 448707988 580470806 658212287 551345512 358191652 22393976 880446976 627589268 761888635 861208333 84208996 112302971 800463769 406568384 647290016 701070480 252012472 914206506 938954818 372510013 658212287 999101537 164542502 28416726 110556435 -1 822261941 880844104 127278512 832494905 760624728 673965031 590138438 846213413 219896364 433348815 560814638 758575350 284387166 882812597 307476694 937633254 88469907 268947673 596367148 980134651 39885396 49208976 690863334 111122929 579991057 244155041 494923774 191697350 199770581 244883660 586392635 243995015 850636024 416739210 197307546 562309509 213926602 420773560 758575350 452820542 951926549 472516679 408244002 676709331 762227828 785376602 138790019 288628682 18299476 707186544 113811391 243341711 836680980 555548888 882812597 39885396 344240078 614593757 -1 782927012 29734308 216195055 81866966 199386661 953838288 739554266 741339101 998120269 975269268 303139271 626807589 345102555 823933296 863278761 686649778 107596959 904818318 155906400 297133830 785866095 850101344 842871738 920219729 663946492 447434673 922220234 782594982 628984381 32796250 679670176 60081926 854062217 34584857 745215401 942045496 177905368 520086201 60744503 662235717 527985132 81866966 84062198 838379139 567416830 596943234 560455121 401672699 295805912 592274818 507142051 232531633 655834254 407009263 679670176 739554266 341012648 655834254 818014838 880938198 750763843 729352677 191697350 415965469 161017478 251692591 39885396 365407761 391779414 244155041 411907778 59706771 830544982 228902962 980134651 755527023 149052945 368704535 26375227 169614935 571736161 848715178 563732029 175884183 688380735 29592557 95443860 681823792 507969865 541460419 368935143 421927353 171504845 149830598 29734308 77299524 60744503 656206261 59501988 864561721 408244002 543006155 901304975 291386915 400907045 38372578 -1 229515163 669125354 695553778 571736161 973579758 146197290 879954113 701070480 86361620 57551192 548806448 524972471 264549124 339350524 577758652 130580 301714930 49208976 339350524 330785266 -1 219896364 427675535 46011383 691504106 683489839 991188064 624015614 53028773 321467204 458547544 833246783 740364356 472516679 975269268 950629972 713199217 718229961 163789960 603620710 406717194 849035201 78898063 973579758 175144765 923159887 13841075 659932705 867933639 995194212 868211619 327789615 59706771 686385319 561553313 264549124 368704535 827132364 59706771 465892383 965993467 433114786 712694937 688597242 734712823 538432928 19140171 580283317 494950691 580918883 613084013 400907045 676685933 966561320 34584857 769854437 780117964 569422962 991067365 659932705 491294665 223030820 203493552 86361620 295958449 330583346 592274818 32466209 882812597 586392635 780117964 53590481 865880334 525617132 590783394 358191652 535432483 111985669 942384956 700120477 718577411 251692591 284696682 379109457 281083465 45426260 238442797 469384372 670979891 344240078 604148770 264549124 392826688 609637013 864561721 970265761 645276436 638011115 335743200 718229961 443342808 208877360 997299598 434526689 53028773 469743398 26375227 967987535 365679164 92102199 574924220 669125354 456487084 417425319 349772488 582319429 560455121 387384744 213926602 942297502 54164180 864350394 127278512 700120477 288628682 950235340 984182750 599555786 -1 37081879 627376276 721120553 523542917 194126353 281083465 63243152 298868262 400907045 632336991 308232133 669655791 431837446 49212342 908463563 901803305 473150723 182026506 980936845 426480224 28416726 673965031 579783784 295958449 33812208 791183444 668250239 470690645 319379178 937638157 675786233 177905368 451474906 112302971 681823792 395983136 904818318 490142300 894267291 890844482 448316745 56105859 681823792 159056677 695553778 818829472 494751627 53028773 433756914 244195221 691504106 600962339 507969865 284387166 421927353 424697572 893897082 627561325 70161655 628984381 661932839 34584857 527985132 251692591 750429264 186539666 63562141 135519629 564190579 485683712 72621546 789495739 708274346 942297502 748186132 681690682 92102199 379109457 514721585 163091630 192251969 894267291 883564101 683531283 211550817 666590606 582319429 162425880 461274569 192251969 477076784 374972287 891436447 254756796 352607876 614459776 391779414 965993467 731745766 782594982 740364356 988919874 780117964 79213361 49208976 561553313 904818318 651109313 807820896 799467751 910994573 977619929 535432483 901304975 790809628 283107224 729941138 491543933 721867658 165622114 786075537 37081879 812140416 175884183 47116225 912506727 107808575 731936598 579991057 912506727 28576479 873072247 453407680 160366715 730824918 935910737 334677549 717390689 335890204 992563691 522063456 318110611 731745766 770278321 411907778 420342620 586392635 469384372 327982936 950629972 113804160 760624728 420773560 368704535 425469326 904818318 408244002 4610166 729941138 749101296 907456227 113804160 766504018 731745766 601762202 790909002 29734308 75228974 -1 745215401 832494905 728357838 789495739 800463769 836680980 372910848 682038125 524542574 580884227 633637325 718577411 111985669 365407761 119601349 740364356 867933639 358191652 635671105 560814638 43897314 622823007 749101296 352607876 622823007 41260287 319379178 914291169 812140416 680666684 113811391 627376276 750429264 527985132 748186132 303139271 349032071 817693389 590783394 57801759 682038125 849035201 252012472 122896725 203018461 495241145 593282222 263636646 731745766 602915291 723200871 622823007 43897314 801326287 939563959 228902962 981763217 295805912 647427996 332773543 766504018 406717194 670979891 448707988 42277380 991067365 864561721 470803824 610895287 228137178 437517579 893897082 838379139 577714620 904818318 569422962 97299507 916738849 746419439 788878491 689608865 832364259 986331373 927530478 748186132 891573253 723200871 238951985 275610416 164542502 239254051 717390689 622918995 524972471 434526689 244195221 857102413 288542157 248636995 779829204 679521131 406430184 234968285 87162480 494950691 838379139 627376276 367754743 72621546 112624754 373771611 337502849 368779111 211070558 92102199 763183908 940104206 604148770 893860727 389956215 171221433 447434673 47116225 801402068 91064641 767047665 645695407 774149146 801169129 217928587 639572212 750156197 381881872 958339854 67075526 181721636 520011864 909186692 395983136 957643716 728357838 904818318 788878491 470803824 966503495 507142051 937633254 448316745 406568384 604148770 49212342 110556435 112302971 421927353 432069691 818974853 472516679 91064641 966503495 367754743 702444538 156929061 211550817 368764047 600962339 779829204 70161655 863667577 524972471 337502849 57606083 77299524 610613670 603690869 375673341 433439854 561494895 658212287 39885396 567600315 997432376 346394348 -1 249558965 206287347 562288215 691504106 223030820 433114786 14405655 888304663 610932880 859962837 852837035 459789430 155376172 729352677 191697350 248636995 29734308 593282222 72621546 638011115 198016418 363457997 416739210 723200871 86361620 486307671 725418770 686865014 942297502 786969334 999674172 250810872 73525554 115470851 751316591 433439854 818829472 819523467 57551192 297175900 942627653 507142051 675786233 961821360 692204091 215802236 577714620 2433982 229821643 393835525 768744535 763281688 950862675 254528769 363457997 688597242 868838278 363457997 79213361 982581137 367754743 336688564 384604556 268947673 703311448 784371166 374972287 533560917 107839247 667169560 644187365 765954927 914291169 791183444 192251969 290604263 137132982 609637013 403334160 608724072 590603969 784371166 435984127 939946968 665446719 602811046 54164180 163983150 614459776 647911422 345102555 281598862 302277738 569422962 13841075 340301060 219896364 599555786 403334160 686385319 182429059 942384956 832364259 421927353 77299524 745215401 572589546 223785502 769837665 689608865 782594982 888304663 115639466 494923774 393835525 548806448 920219729 999101537 748186132 700120477 368704535 220059095 730824918 767047665 420773560 728357838 46410909 912506727 922220234 333260763 765954927 849035201 206644601 155376172 603690869 250810872 329574367 668281990 494923774 762227828 472407762 785866095 774149146 563675995 367754743 604148770 626807589 734712823 526755095 223030820 659501910 595427792 566034579 970265761 472407762 716182336 29272319 868838278 290604263 41524303 21873594 977619929 675786233 763183908 321467204 72794624 220059095 603690869 812752908 217928587 708274346 614297261 297133830 672907310 16475116 472516679 241693686 1713096 491543933 535432483 503810504 452820542 807648187 461274569 199770581 341012648 416739210 372510013 675786233 217928587 102379477 789495739 46410909 912506727 38372578 628984381 211070558 980936845 18404492 683489839 149052945 902419092 806195787 961821360 951926549 897789362 970265761 34584857 296417374 927530478 531136661 910994573 786969334 527985132 84062198 818829472 43392732 437863021 850101344 427675535 403334160 354949635 276260520 453407680 667300705 228902962 992563691 656206261 301714930 122067182 454563819 937638157 427618367 699856917 729941138 29272319 849035201 697184458 489295045 499941413 416756465 232018015 731936598 561553313 203493552 34030354 503810504 214317232 34685076 79213361 907456227 66483968 527897224 893860727 149052945 183843307 979285058 623188968 549323513 327789615 817331802 823787812 471865558 563823514 499941413 432069691 927530478 524542574 526755095 325287502 63243152 238951985 86256730 572589546 531136661 165622114 868211619 54164180 495336832 490869221 960643177 703311448 214317232 713199217 845211351 86256730 758575350 659932705 834500260 432069691 852837035 730824918 831985335 443342808 159647580 113811391 669125354 531136661 280856350 908463563 801402068 14405655 979580407 54153332 682038125 469384372 670979891 634536293 72621546 850101344 651109313 113811391 666590606 14405655 208493418 632336991 -1 433439854 378409769 571736161 189854783 116545387 228902962 664295306 656206261 730824918 42277380 701070480 37081879 60978603 149052945 499941413 168494769 691740164 59706771 295805912 111122929 262575582 303139271 473150723 458547544 799467751 428413005 54153332 94630229 717390689 622823007 710730165 649175882 466034328 337502849 459789430 -1 582319429 281083465 942045496 67592009 420425052 338370105 595427792 149052945 117303447 849123482 186539666 75228974 213926602 145847415 475822349 330318834 118534662 845211351 965993467 317871021 239254051 751964866 718577411 295958449 966503495 406568384 561494895 79323336 301714930 406568384 95443860 574924220 72263116 406568384 -1 318110611 626837013 651109313 982581137 563732029 988919874 602811046 308232133 919585635 211362614 555828167 885077908 548806448 914662962 251692591 535432483 719457202 330318834 563732029 393835525 566034579 717390689 708274346 686649778 750763843 3090244 749101296 864561721 198016418 667169560 -1 852782081 604148770 432504521 807820896 569422962 943374902 38372578 667841561 352607876 823933296 32466209 13841075 761021239 372510013 692204091 336688564 745215401 526755095 345392984 623188968 760624728 883564101 578238211 541460419 495241145 264549124 329574367 295504204 665446719 721867658 731745766 562309509 379109457 807820896 416739210 784371166 486307671 989696303 192251969 894991717 280856350 622823007 560556517 987705926 318110611 112624754 850351456 755527023 368935143 130580 295805912 191697350 135519629 229515163 107839247 565554630 318110611 729941138 228902962 591284702 670979891 493264770 32796250 761021239 219896364 966503495 861383306 -1 167415720 672907310 833220245 658212287 167036027 888304663 760593154 260307180 291386915 12903603 435984127 659932705 987705926 981763217 819523467 312308223 833220245 670979891 117347524 34030354 431837446 751964866 411907778 658212287 718577411 769545495 367754743 838379139 389956215 831985335 -1 86256730 317871021 867933639 270206207 943374902 465892383 830994144 379109457 890844482 560556517 613084013 208493418 229515163 854398124 762227828 682038125 742174392 997299598 46945925 751964866 249558965 588150191 645695407 411999902 206644601 832494905 107596959 719457202 194126353 697374453 663667470 55517047 765954927 447434673 566034579 741339101 761021239 966503495 975269268 117303447 74820195 327982936 384604556 749101296 284700142 168494769 73525554 655834254 374972287 566096351 860724917 470690645 541463939 619868736 208493418 577714620 433348815 579690895 988919874 973579758 675786233 17012234 477076784 624015614 284859244 980936845 914206506 777440440 102379477 614297261 284387166 271708247 443342808 660639438 938446553 301714930 146197290 697184458 453407680 765137854 229515163 560455121 203018461 49212342 603620710 63243152 26375227 135519629 312308223 428413005 378409769 723933984 263798126 559785274 358191652 902419092 245677831 812140416 771459106 437517579 477076784 198016418 333260763 751316591 21873594 284387166 690863334 113804160 140113105 639572212 -1 43897314 54164180 527985132 992563691 685097645 559785274 847840320 830162158 997432376 47116225 551345512 367754743 386935154 669655791 938954818 63243152 984182750 690664050 469743398 938914563 453407680 408497768 627561325 815472010 117303447 624015614 721867658 560455121 303139271 216195055 649175882 572311287 271708247 832364259 -1 118534662 444874800 833220245 961821360 937638157 214317232 441949925 39885396 -1 834500260 660040051 248636995 901803305 820211254 728357838 377651896 626837013 604148770 880665324 194126353 418807544 669742991 641205608 37081879 854398124 668250239 690863334 234968285 94630229 638076633 823933296 686649778 664490073 140113105 533367205 939946968 667841561 575541534 542661640 686865014 893652215 167415720 982693874 127278512 709403855 16475116 718577411 265395517 710730165 214924123 22576092 628984381 57551192 574924220 60978603 111122929 505655512 330583346 672907310 838379139 780117964 716182336 979285058 968396048 718229961 903297209 446355059 740224085 116545387 622823007 533560917 459789430 33812208 252012472 614297261 -1 475822349 428747955 308705211 499941413 457715535 270206207 12903603 910994573 441949925 524972471 916321789 171504845 60081926 447434673 579991057 847840320 214317232 145847415 624015614 46485154 700120477 438872920 372510013 535432483 634983639 32796250 880446976 284696682 560556517 34584857 663946492 685097645 41524303 750763843 461274569 239987054 357329820 789404113 480210823 3090244 22576092 -1 434526689 689897360 991067365 658388576 682038125 245677831 469743398 610895287 763281688 491294665 335890204 484471406 112302971 846213413 406717194 252012472 603620710 480210823 750156197 459789430 454563819 220059095 721120553 -1 175144765 769837665 823787812 84062198 499941413 683489839 385144989 907456227 319379178 807820896 701070480 297175900 54164180 718229961 567416830 -1 904818318 251692591 532861718 420425052 408244002 731936598 91064641 495712606 149052945 55517047 37724537 219896364 984895249 845459462 2433982 192251969 613084013 801326287 748186132 469743398 175884183 472516679 989696303 123550994 833246783 689897360 49208976 658212287 130431610 740364356 638011115 117347524 398981201 472516679 836680980 914291169 186539666 982581137 957643716 333260763 927530478 211333607 730756715 507969865 533367205 957643716 175554418 416756465 73453883 373771611 711503207 920219729 986331373 790809628 651109313 600962339 46011383 946112218 675573324 751316591 746419439 399202754 731936598 211070558 12903603 490869221 705622548 332773543 582319429 942045496 785866095 868211619 206014003 656489207 697374453 211550817 495712606 355756362 938914563 308232133 574417829 981763217 791183444 329959527 159647580 831985335 206014003 786969334 692204091 428413005 771459106 420425052 566034579 729352677 888304663 943374902 194126353 818014838 163789960 655834254 86256730 46011383 930790502 431837446 977619929 868838278 214317232 907772025 745924515 297175900 341012648 554782737 395983136 406568384 975269268 189854783 676685933 718577411 122067182 998120269 997299598 838379139 842871738 634983639 372910848 527897224 3090244 480210823 965993467 635671105 489295045 859930182 425469326 -1 181721636 859962837 675573324 435984127 378610966 420425052 28576479 49212342 823787812 330318834 767047665 171504845 863278761 333260763 206287347 849123482 393835525 755527023 548806448 685097645 531136661 965993467 42277380 119601349 245677831 41260287 459789430 937633254 387518405 46485154 365035648 113811391 60978603 774937853 92102199 683489839 676685933 984117471 408497768 110556435 848715178 757544011 406483013 489295045 119601349 836680980 957643716 984182750 680666684 72621546 729941138 132774876 807648187 572589546 885164572 358191652 349032071 709403855 111985669 63210631 114396999 262575582 586392635 662235717 427675535 468107571 138533159 167415720 251692591 975269268 365679164 520011864 914291169 966561320 920219729 433439854 49212342 171221433 276260520 638011115 239254051 689897360 462383923 378409769 957643716 295805912 -1 57801759 118534662 140395123 685423362 804352169 750769230 205644911 997299598 500268473 400907045 284696682 32796250 486307671 434526689 693375965 914662962 731936598 186539666 679521131 716182336 817331802 171504845 169614935 146171038 820211254 673965031 850351456 198016418 880938198 175884183 582319429 308705211 860724917 75228974 72794624 591700510 638076633 303139271 789404113 302277738 748186132 820211254 620059513 113811391 894991717 26905429 73525554 47116225 579783784 130580 411999902 469384372 86256730 974521569 769837665 295805912 229821643 485683712 241693686 -1 270206207 60081926 325287502 766504018 54153332 475822349 834500260 755527023 459789430 365407761 469035792 595427792 690664050 533560917 333260763 122896725 130580 847840320 967987535 433348815 804352169 437517579 237773442 722874144 622737539 942384956 763183908 634983639 943374902 795730704 352508141 422331486 53028773 232531633 13384724 308705211 580283317 817693389 115639466 610932880 411999902 263636646 726124644 384604556 298868262 610895287 710730165 745924515 420773560 712694937 211362614 688380735 784597145 961821360 819523467 466852129 491543933 215802236 938914563 726124644 832494905 890844482 345072009 406717194 197115342 32466209 168494769 170824557 718577411 665446719 211333607 365407761 667169560 422331486 660738659 381881872 801169129 229515163 637964511 365679164 373683372 416756465 363457997 791932302 628220249 358362276 421927353 -1 274831438 804352169 711503207 730824918 806195787 456863895 688380735 175884183 470690645 868838278 614593757 197307546 357329820 779829204 861383306 786969334 548806448 575485118 785247749 703311448 801326287 690664050 137132982 940104206 755527023 979285058 991067365 865880334 425469326 561553313 384604556 916321789 746419439 -1 845459462 507969865 815472010 730824918 838379139 438872920 942297502 363811064 368764047 67075526 893897082 807820896 575485118 745924515 493264770 284387166 594204193 263636646 836680980 721867658 338370105 708274346 753145692 476084224 14405655 721867658 847840320 444874800 248636995 729941138 916321789 593282222 818974853 441949925 122896725 155997760 977619929 586985028 960643177 691504106 842871738 603690869 434526689 823787812 518109595 891436447 229515163 372510013 399202754 381881872 433756914 203580162 659932705 670979891 861208333 470690645 742174392 707186544 722874144 580283317 627589268 197307546 427618367 122067182 281598862 192251969 920219729 685097645 29592557 691740164 868838278 418807544 428142800 902419092 965993467 140113105 79213361 519762398 893860727 220059095 998120269 975269268 662235717 486307671 338370105 378610966 163091630 890844482 997432376 280856350 81866966 679275202 897789362 246216644 532803555 41260287 596943234 659932705 167036027 307476694 60081926 490142300 542986495 713199217 675573324 812140416 637964511 206014003 414918047 903297209 228902962 385144989 560637528 163789960 763281688 756425389 229515163 688380735 161017478 548806448 160366715 208493418 41524303 140113105 486307671 774149146 726124644 980134651 823933296 935910737 661932839 437863021 760624728 500268473 198703751 18794770 92160628 660639438 729352677 216195055 117347524 665446719 721120553 763183908 387518405 563823514 577758652 319424815 216195055 561553313 832364259 392826688 751316591 560637528 297175900 13384724 812752908 827132364 724422672 667169560 377651896 113804160 469035792 468107571 335743200 641205608 198016418 334677549 663946492 909186692 527897224 373683372 216195055 789495739 703311448 21873594 7545447 456863895 348123399 574417829 38372578 181721636 327982936 644187365 284700142 554782737 618312173 375673341 942384956 568090820 574924220 336862767 883564101 537867109 830544982 728357838 958339854 281083465 276260520 987705926 334677549 660738659 385144989 155906400 647290016 138790019 543006155 378409769 254756796 363811064 41260287 524972471 935910737 519762398 416739210 555828167 908463563 532803555 426480224 206287347 22576092 280856350 71713295 571736161 214924123 622823007 387518405 391779414 470690645 286319692 293155218 590783394 592274818 979285058 842871738 198016418 265395517 57551192 130580 345072009 593282222 458547544 88469907 891573253 789404113 198016418 567600315 306767836 56105859 894991717 223030820 819963767 871898006 985045640 579783784 203018461 520011864 675786233 167415720 456863895 638011115 623090438 321467204 923159887 554782737 170824557 458547544 916321789 730909832 716182336 420773560 149830598 271516194 109891495 537867109 100130908 162425880 689608865 378610966 461649452 420342620 191697350 555548888 92112290 618312173 819963767 189854783 689608865 303139271 641164921 -1 734712823 867933639 679275202 333772685 283107224 819963767 211362614 239254051 96109344 337502849 155997760 389956215 208028672 548806448 561494895 628220249 632336991 57551192 789495739 363457997 94630229 758575350 -1 541460419 594204193 603690869 922220234 974521569 211550817 723200871 495712606 490142300 770278321 708274346 750156197 669742991 406568384 830994144 690664050 645276436 847840320 73525554 79213361 938954818 669655791 647427996 741339101 902419092 832364259 751964866 661932839 72263116 177905368 902419092 634983639 75228974 979580407 723200871 883564101 641205608 591700510 280856350 488751710 177905368 22393976 208877360 610069705 194126353 339350524 782927012 702444538 408497768 122896725 306767836 595427792 730756715 719457202 850101344 635671105 433348815 368764047 491543933 593587398 660040051 586392635 354949635 655834254 563823514 679670176 882812597 26375227 979580407 338370105 379213018 927530478 861383306 638076633 273365488 571736161 337458711 745215401 244155041 406568384 786075537 368704535 894991717 209977170 140113105 760624728 395983136 693375965 238951985 638293140 54153332 428747955 590138438 28416726 194126353 238442797 159647580 659932705 358362276 705622548 192251969 -1 119601349 140113105 416739210 822261941 138533159 92112290 647911422 247165890 542986495 28416726 365407761 676685933 663946492 -1 610932880 685097645 459789430 251692591 229405480 150137560 578238211 252012472 880446976 785866095 73525554 765137854 569422962 679521131 229515163 751316591 490142300 563675995 673965031 181721636 939946968 95779603 46945925 725418770 817331802 690664050 330318834 721867658 418807544 830544982 668281990 623090438 907772025 681823792 807820896 198703751 183843307 638293140 59501988 194126353 109891495 681823792 595427792 302277738 466852129 535432483 284696682 590138438 428142800 161017478 491294665 284387166 495712606 194126353 669655791 34685076 140395123 406717194 444874800 842306692 555548888 769837665 346188490 541460419 367754743 820211254 790809628 601762202 181721636 336862767 982554231 612885490 951926549 579690895 627376276 174295016 45426260 49212342 406483013 806195787 716182336 728492414 339350524 739554266 965993467 330318834 214317232 590603969 375673341 908705907 686385319 992563691 610613670 977467597 317871021 676685933 211362614 186539666 415965469 627561325 785247749 729352677 211362614 560556517 709403855 452820542 627589268 750769230 830162158 284387166 469743398 748186132 600962339 577758652 966561320 368704535 494751627 957643716 288628682 28416726 823787812 181721636 553190572 432069691 13841075 811841566 707186544 790809628 769545495 885164572 175554418 352508141 72643683 54164180 307476694 352607876 198628726 693375965 428747955 475822349 561553313 59706771 560637528 453407680 110556435 276260520 422331486 307476694 708274346 745215401 596367148 505655512 548806448 297175900 183843307 355126439 592274818 408497768 268947673 560637528 659932705 43897314 352607876 590603969 979580407 560814638 688380735 49212342 175590565 777440440 601762202 695553778 885164572 757544011 71713295 459789430 -1 223785502 993786079 610895287 461274569 967987535 647290016 175590565 74820195 363811064 284696682 47116225 820211254 29592557 571736161 894267291 135519629 428747955 894267291 286319692 435984127 167036027 36050763 18299476 470690645 291386915 957643716 647427996 812752908 686385319 -1 113811391 373771611 541463939 980134651 182659876 942627653 488751710 681690682 666590606 73453883 721120553 728357838 801169129 413843857 750429264 807648187 424697572 888304663 7545447 927530478 379213018 922220234 160366715 307476694 375673341 469035792 346394348 656489207 122067182 87162480 751964866 79323336 739554266 519762398 -1 791183444 -1 199386661 718577411 273365488 879954113 659501910 974448855 288628682 919585635 156929061 594204193 312308223 831985335 868211619 60744503 387518405 330583346 206014003 420425052 683531283 437517579 373771611 254756796 59706771 448707988 4610166 54153332 198628726 59706771 46945925 750156197 340301060 229515163 188196698 586985028 812140416 675573324 968396048 938954818 812140416 728492414 471865558 201066749 135519629 984117471 415965469 290604263 113811391 262575582 782619049 493264770 638076633 254167164 333260763 155376172 859930182 88469907 868211619 254167164 232018015 475822349 243341711 600962339 495241145 893897082 192251969 790809628 580884227 627376276 922171930 726124644 79323336 679275202 553190572 -1 777440440 708274346 117303447 774937853 476084224 365407761 -1 520011864 543122079 395983136 495241145 203580162 590138438 750429264 977467597 526755095 989696303 795730704 901304975 281598862 647427996 525617132 270206207 713199217 718229961 890844482 827132364 885077908 998120269 578238211 873072247 122067182 765137854 937638157 675573324 -1 683489839 723200871 -1 586985028 270206207 979580407 980936845 11796756 244195221 254167164 563675995 171504845 91064641 695553778 247165890 668281990 87162480 705118513 112624754 -1 471865558 984895249 610932880 610069705 408244002 713199217 489295045 472516679 425469326 880446976 592274818 961821360 891436447 731745766 288628682 96109344 244883660 -1 274831438 699856917 363457997 834500260 560556517 251692591 368764047 208493418 579783784 578238211 123550994 381881872 468107571 32796250 995194212 60081926 750769230 734712823 92160628 4610166 211362614 882812597 974448855 78898063 208028672 679670176 36050763 -1 672907310 880844104 115470851 593282222 697184458 902419092 182429059 432069691 469743398 858159813 907772025 457715535 691504106 850636024 768744535 174295016 782594982 229515163 168494769 533367205 306767836 682038125 763856958 865880334 493264770 757544011 241693686 938446553 159056677 43897314 951926549 692204091 957144144 704672739 29734308 495336832 457715535 216195055 857269083 780117964 156929061 495336832 771459106 880446976 188196698 358191652 830162158 281598862 495712606 375673341 413494386 159056677 763856958 542661640 22393976 34030354 372510013 861208333 901304975 333260763 254756796 238951985 163091630 533367205 188196698 644336340 327789615 100130908 337502849 780117964 163789960 812140416 28416726 486307671 283107224 22576092 769854437 229821643 317871021 199386661 991067365 138790019 831985335 327982936 297133830 416739210 432069691 863278761 115470851 232531633 750769230 763281688 533560917 673965031 72794624 209977170 867933639 46485154 75228974 718229961 512615132 165753 209977170 260307180 372510013 435984127 555548888 604148770 673965031 681690682 372510013 864350394 92160628 446355059 818974853 33812208 586392635 428142800 349032071 453407680 293155218 693375965 505655512 880446976 77564723 993786079 748526814 623090438 471865558 703311448 590783394 692204091 146171038 761888635 745215401 707186544 602811046 779829204 174295016 729941138 518109595 771459106 413494386 46011383 740364356 661932839 779829204 194126353 723200871 523542917 379109457 542986495 675786233 150137560 32796250 711501588 503810504 542661640 159647580 -1 466852129 751316591 365035648 563732029 434526689 303139271 819963767 757544011 999101537 950862675 831985335 163789960 493264770 582319429 785376602 748186132 730909832 670408229 470803824 644187365 637964511 46945925 373683372 774937853 348123399 118534662 756425389 160366715 246216644 63562141 622823007 290604263 13384724 146171038 408244002 284696682 354949635 297133830 811841566 638293140 577758652 248636995 660639438 579690895 170824557 395983136 386381016 408497768 721867658 957144144 669125354 -1 493264770 53028773 308705211 580470806 280856350 661932839 298868262 524972471 163789960 477076784 229515163 645695407 223030820 542661640 848715178 182026506 203018461 163983150 451474906 29592557 555828167 818014838 472516679 415965469 690863334 526755095 95779603 740224085 177905368 162425880 591700510 726124644 863278761 34030354 695553778 532861718 461274569 406483013 413494386 669742991 107596959 284696682 453407680 273365488 638293140 522063456 639572212 641205608 659932705 11796756 791932302 845459462 107808575 661932839 41524303 365407761 622823007 588150191 248636995 36050763 107596959 243995015 791932302 673965031 53028773 567416830 554782737 705622548 910994573 560455121 470803824 774149146 882812597 503810504 814490763 594204193 167415720 675573324 264549124 263636646 675786233 22576092 665446719 53590481 871898006 296417374 603620710 901304975 165753 868211619 770278321 435984127 958339854 146197290 980936845 112624754 175590565 406430184 219896364 786075537 325287502 413494386 864350394 340301060 567416830 243341711 211333607 336862767 641205608 296417374 830994144 174295016 206287347 471865558 43897314 785866095 572589546 491294665 38372578 987705926 764751417 590138438 199386661 45426260 942045496 561553313 572311287 834500260 592274818 603620710 863278761 782594982 264549124 961821360 217928587 475822349 156929061 490869221 -1 784597145 724422672 19140171 345102555 -1 638293140 -1 495336832 239987054 669125354 306767836 834500260 627561325 297133830 182429059 211362614 938446553 47116225 72794624 488751710 41524303 161017478 842306692 817331802 400907045 228137178 18299476 330785266 188196698 251692591 660639438 336862767 681823792 117303447 407009263 817693389 468199498 922220234 374972287 284387166 42277380 859063396 761888635 595427792 459789430 950862675 697184458 902419092 961821360 647427996 72794624 206287347 549323513 965993467 57551192 765954927 833246783 489295045 47116225 189854783 494923774 848715178 28416726 327982936 893897082 142117376 770680522 751316591 453407680 769854437 239987054 989696303 228137178 842871738 354949635 321331882 433756914 535432483 600962339 982693874 666590606 493264770 135519629 591284702 163091630 456487084 47116225 175144765 685097645 13384724 188196698 456487084 860724917 177905368 750763843 45426260 281598862 127278512 758575350 321467204 656206261 312308223 337458711 719457202 904818318 828722364 749101296 842871738 381881872 832364259 662235717 619868736 833220245 123550994 249558965 930790502 -1 819523467 675786233 635671105 175144765 456487084 723933984 890844482 92160628 765137854 59501988 622823007 301334993 432069691 976942240 365035648 526755095 659501910 741463146 891436447 854062217 110556435 110556435 758575350 329959527 424146759 533367205 626807589 13841075 306767836 656489207 491543933 243995015 665446719 938446553 965993467 641164921 628220249 275463593 262575582 624015614 301714930 198628726 354949635 860724917 561553313 424697572 22393976 407009263 770680522 11796756 765137854 -1 961821360 914291169 679521131 434526689 804352169 861383306 375673341 377651896 676709331 37724537 408497768 456487084 411907778 79097209 566034579 476084224 494751627 790809628 993786079 721867658 468199498 154693260 579690895 548806448 659501910 527897224 59706771 563675995 991067365 406483013 662235717 252012472 495336832 997299598 46011383 641205608 130431610 520086201 942297502 -1 306767836 254756796 679521131 378409769 239254051 647427996 656489207 274831438 57551192 919585635 627376276 594204193 769837665 574417829 432069691 590603969 433756914 112302971 417425319 29734308 659501910 330583346 937633254 211550817 444874800 686385319 689897360 95779603 203018461 525617132 155906400 726776295 818829472 551345512 181721636 893652215 939563959 203493552 755527023 846213413 503810504 169614935 553190572 669655791 786892734 507969865 344240078 118534662 365035648 782927012 208493418 760593154 786892734 488751710 988919874 115470851 740224085 914291169 700120477 377651896 67592009 262575582 817331802 499941413 814490763 507142051 704672739 523542917 86361620 378409769 389956215 321331882 938914563 731745766 325845006 372510013 976942240 885077908 444874800 675573324 317871021 161017478 533560917 234968285 579690895 345072009 288628682 591284702 387384744 628984381 49208976 660639438 244155041 767047665 721867658 18794770 858159813 645695407 818829472 435984127 319379178 716182336 647290016 582861386 367754743 399202754 543122079 806195787 245677831 532861718 699856917 538432928 457715535 142117376 72643683 711501588 976942240 958339854 43897314 163983150 880446976 820211254 665446719 209977170 871898006 910794274 406430184 769854437 432504521 596367148 572311287 346394348 163983150 330318834 29734308 526755095 130431610 491978273 883564101 799467751 305936785 16475116 614297261 893860727 461649452 867933639 638011115 922171930 701070480 21873594 337458711 721867658 709403855 982581137 858159813 12903603 197307546 579783784 998120269 935910737 271516194 79213361 603620710 427675535 63562141 750763843 965993467 691214891 645276436 750429264 422331486 750156197 203580162 711501588 960643177 154693260 836680980 588150191 444874800 541460419 330318834 766504018 927530478 592274818 349772488 817331802 295958449 183843307 699856917 32466209 764751417 263798126 464037621 701070480 217928587 22576092 632336991 782927012 893897082 828722364 691504106 217928587 705118513 622823007 864350394 692204091 451474906 663307073 197115342 562309509 649175882 580918883 223785502 801169129 469384372 197115342 602811046 533367205 638076633 614593757 749101296 96109344 327789615 914662962 832364259 551345512 254167164 145847415 263798126 823933296 633637325 893897082 47116225 789495739 859962837 833246783 117347524 448316745 859930182 459789430 590603969 562288215 260307180 453407680 420425052 728357838 234968285 363457997 675573324 723933984 203493552 431837446 689897360 658212287 387518405 724422672 66483968 372910848 762227828 594204193 717390689 788878491 228137178 281598862 659501910 367754743 207023050 167036027 164542502 847840320 262575582 286319692 367754743 91064641 327982936 749101296 756425389 472407762 987705926 437517579 428747955 53590481 770278321 527897224 174295016 663946492 763281688 217928587 663946492 275463593 543122079 845459462 373771611 325845006 223785502 174295016 999101537 891573253 697374453 968396048 164542502 471865558 352508141 864350394 524542574 36050763 406717194 122896725 968396048 346188490 685423362 378409769 32796250 725418770 338370105 167036027 662235717 327789615 67592009 270206207 368779111 -1 415965469 84062198 330583346 897789362 768744535 127278512 79097209 448707988 251692591 976942240 494923774 241693686 660738659 790809628 367754743 229405480 155997760 541463939 239987054 669742991 883564101 854062217 519762398 291386915 428142800 902419092 649175882 697184458 29272319 386935154 387518405 695553778 11796756 992563691 427618367 411907778 113804160 842871738 582319429 662235717 468199498 702444538 363811064 265395517 414918047 664490073 503810504 728492414 75228974 638293140 938954818 992563691 711501588 368779111 912506727 86256730 78898063 118534662 201066749 488751710 406430184 760624728 708274346 999101537 329959527 415965469 281083465 854062217 72643683 188196698 693375965 691740164 610932880 424697572 575485118 381881872 838379139 281598862 169614935 779829204 555548888 11796756 66483968 818014838 858159813 7545447 308705211 903297209 281598862 368779111 357329820 189854783 -1 750156197 660639438 673965031 935910737 -1 553190572 957144144 716182336 769854437 984117471 19140171 891573253 574417829 74820195 823787812 806195787 970265761 894991717 950235340 750769230 777440440 372910848 984895249 377651896 748526814 683531283 885077908 250810872 118534662 107839247 679521131 554782737 481127177 590603969 100130908 708274346 416739210 46011383 337502849 248636995 290604263 145847415 260307180 365407761 599555786 549323513 883564101 -1 524542574 38372578 275463593 431837446 393835525 595427792 26905429 859962837 704672739 95779603 651109313 859962837 658388576 728357838 454563819 908705907 823933296 763183908 591700510 710730165 555828167 345392984 553190572 -1 264549124 43897314 722874144 632336991 301714930 503810504 295504204 740364356 634536293 914662962 47116225 967987535 453407680 451474906 818014838 894267291 790909002 974521569 664490073 345392984 162425880 784371166 325845006 29287119 71713295 533367205 620059513 365679164 2433982 329959527 73453883 937638157 848715178 59501988 695553778 275610416 914662962 249558965 451474906 730756715 602811046 507969865 823787812 637964511 560455121 446355059 901803305 679275202 822261941 885077908 72621546 338370105 416756465 87162480 741339101 791183444 505655512 420342620 769837665 149052945 604148770 71713295 344240078 116545387 265395517 43897314 268947673 691504106 950235340 717390689 701070480 -1 980936845 622823007 488751710 549323513 117303447 117347524 711503207 -1 276260520 669125354 664295306 489295045 614297261 338370105 938446553 333772685 281598862 406483013 860724917 669125354 850351456 977619929 831985335 748526814 433114786 710113373 100130908 16475116 891573253 861115508 885164572 857102413 238951985 740364356 333260763 713199217 857102413 229515163 973579758 13841075 79323336 472407762 520011864 610069705 786969334 739554266 387384744 690664050 112624754 785866095 7545447 659932705 296417374 764751417 946112218 977467597 384604556 49212342 620059513 41260287 728492414 726776295 628984381 243341711 365407761 865880334 848715178 197307546 29287119 667300705 223785502 774149146 363457997 84062198 470690645 904818318 769545495 610895287 28576479 942384956 726124644 670979891 705622548 551345512 562309509 434526689 368935143 115639466 71713295 822261941 555828167 997432376 676709331 563823514 639572212 507969865 327982936 914662962 26905429 641164921 788878491 660738659 771459106 966503495 595427792 675786233 610613670 591284702 693375965 217928587 761888635 555548888 740364356 354949635 375673341 119601349 438872920 537867109 63562141 260307180 248636995 100130908 838379139 953838288 982581137 891436447 37081879 555548888 102379477 223785502 159056677 631700842 113804160 764751417 833220245 819963767 94630229 507142051 198628726 785247749 433439854 612885490 461274569 766504018 982554231 34685076 592274818 232531633 519762398 849123482 465892383 713199217 719457202 214317232 4610166 19140171 244883660 574924220 39885396 174295016 563732029 110556435 914291169 765954927 965067805 92102199 577758652 306767836 919585635 428747955 32466209 288628682 67075526 329574367 254528769 689897360 251692591 165622114 42277380 207023050 586392635 368935143 198016418 399202754 580884227 868211619 295805912 858159813 644187365 533367205 60744503 95443860 142117376 582319429 217928587 49212342 486307671 894267291 658212287 907456227 846213413 378409769 16475116 -1 78898063 577758652 308232133 910794274 385144989 628984381 312308223 765954927 319424815 975269268 631700842 849035201 741463146 669655791 811841566 244155041 406568384 520011864 480210823 438872920 352508141 902419092 363579344 973579758 386935154 114396999 414918047 935910737 373683372 456863895 662235717 110556435 817331802 860724917 903297209 514721585 661932839 437517579 572311287 318110611 659501910 306767836 590138438 543122079 670979891 953838288 17012234 114396999 527897224 47116225 575541534 67592009 -1 667841561 868838278 980134651 413494386 473150723 -1 53028773 177905368 710113373 164542502 84062198 325845006 861208333 721120553 894267291 965993467 499941413 57551192 415965469 731936598 880446976 215802236 860724917 763856958 209977170 295958449 205644911 111985669 566096351 750769230 217928587 345072009 807648187 681690682 562309509 495712606 301714930 276260520 710113373 219896364 156929061 433348815 993786079 191697350 977467597 685423362 500268473 499941413 234968285 632336991 468107571 457715535 672907310 679521131 392826688 728492414 95779603 433756914 53028773 688380735 494950691 724422672 60081926 63243152 770278321 59501988 249558965 84062198 330785266 660639438 660738659 395983136 399202754 537867109 618312173 355126439 332773543 72263116 692204091 537867109 631700842 554782737 325287502 159056677 132774876 902419092 484471406 276260520 753145692 252012472 189854783 543006155 520011864 823933296 168494769 -1 961821360 229821643 708274346 833246783 43897314 596943234 659501910 67075526 338370105 288628682 335890204 997299598 355126439 -1 745924515 834500260 575485118 930790502 -1 448707988 46485154 481127177 728492414 888304663 873072247 786969334 28576479 213926602 603620710 942384956 981763217 979285058 660738659 741339101 102379477 273365488 59501988 859930182 751316591 711501588 686865014 406430184 92102199 79097209 507969865 725418770 444874800 323513395 891436447 555548888 262575582 260307180 406430184 569422962 198703751 406430184 392826688 96109344 34584857 114396999 531136661 182026506 220059095 239987054 785247749 238442797 927530478 420773560 325845006 470803824 999674172 418807544 41524303 208028672 163983150 -1 452820542 591700510 908705907 847840320 379109457 73453883 308705211 337502849 691504106 268947673 28416726 92160628 246216644 864561721 22576092 336688564 201066749 586392635 854062217 237773442 790909002 868838278 627376276 602811046 335743200 329959527 505655512 713199217 21873594 349772488 393835525 729941138 672907310 186539666 456401701 22576092 411907778 864350394 386381016 387384744 635671105 960643177 731745766 435984127 838379139 745924515 161017478 644336340 416756465 864561721 162425880 719457202 907772025 79213361 217928587 699856917 863667577 92112290 999101537 603690869 968396048 686865014 600962339 563732029 102379477 644187365 594204193 54153332 368764047 916321789 531136661 349032071 601762202 203493552 676685933 -1 746419439 198703751 198628726 481127177 791183444 427675535 110012494 966503495 610069705 274831438 559785274 197307546 995194212 560556517 490142300 693375965 748526814 456401701 307476694 171504845 392826688 480210823 535432483 958339854 548806448 799467751 203580162 451474906 734712823 389956215 334677549 234968285 63562141 691740164 903297209 363457997 296417374 984182750 691740164 566096351 667169560 599555786 194126353 771459106 38372578 363579344 667841561 142117376 786075537 660040051 626837013 115639466 214924123 373771611 118534662 881489135 94630229 92112290 458547544 695553778 330785266 493264770 864350394 391779414 789495739 295805912 893860727 373683372 981763217 21873594 114396999 784597145 318110611 634983639 466034328 645695407 79213361 953838288 520011864 367754743 329574367 499941413 275463593 214317232 217928587 355126439 491543933 466034328 270206207 670408229 873072247 182659876 79213361 452820542 722874144 163091630 100130908 722874144 268947673 828722364 79097209 908705907 485683712 399202754 979580407 91064641 999101537 627589268 726776295 995194212 950235340 582861386 638011115 741339101 471865558 673965031 859962837 167415720 950629972 446355059 337502849 867723620 989747990 355126439 -1 368704535 263798126 697374453 789404113 904818318 111985669 561553313 416739210 800463769 594204193 484471406 161017478 942384956 22393976 818014838 301334993 115470851 336688564 336688564 244195221 262575582 815472010 755527023 164542502 567416830 363457997 524972471 580918883 491978273 859962837 86256730 728357838 453407680 345392984 977619929 112302971 801402068 122067182 318110611 75228974 880844104 29734308 520011864 564190579 970265761 477076784 764751417 468199498 297175900 658212287 938914563 757544011 930790502 559785274 38372578 -1 974448855 873072247 59706771 520086201 750429264 198016418 26375227 845211351 740364356 73525554 138533159 836680980 165753 740224085 414918047 194126353 111122929 77299524 807262913 533367205 171221433 665446719 84062198 344240078 -1 18299476 689608865 734712823 154693260 614459776 443342808 565554630 922171930 505655512 368779111 910794274 682038125 836680980 494923774 590603969 758575350 345102555 107596959 937633254 579783784 691214891 416739210 847840320 229405480 123550994 940104206 398981201 904818318 234968285 885164572 112624754 130580 22393976 59501988 523542917 893897082 628984381 614593757 681690682 448707988 28576479 882812597 18404492 922220234 740364356 306767836 182659876 87162480 252012472 966561320 894991717 728492414 880844104 431837446 4610166 116545387 894991717 327982936 416739210 608724072 281083465 508037594 849123482 156929061 306854073 586985028 352508141 801169129 283107224 43897314 142117376 154693260 355756362 401672699 123550994 472516679 339350524 312308223 296417374 756425389 365407761 162425880 197307546 263636646 655834254 703311448 542986495 806195787 385144989 580470806 161017478 593282222 239987054 740224085 679521131 645695407 774149146 70161655 961821360 306854073 229821643 974448855 689897360 901803305 916321789 461274569 604148770 784371166 1713096 490142300 542986495 499941413 760593154 127278512 466034328 138533159 403334160 453407680 561553313 527897224 263636646 29287119 679275202 523542917 842871738 748186132 850636024 789495739 470803824 95443860 613084013 566034579 861208333 560814638 580918883 271708247 647911422 284696682 833220245 685097645 673965031 902419092 499941413 927530478 13841075 628220249 995194212 34584857 503810504 260946873 427675535 784597145 14405655 725418770 847840320 623188968 595427792 613084013 723933984 854062217 634983639 893897082 203580162 819963767 741339101 988919874 734712823 770278321 239987054 574417829 520086201 122896725 142117376 79097209 686865014 647427996 612885490 2433982 666590606 681690682 667169560 937633254 122896725 437863021 260307180 86361620 443342808 938914563 688380735 349772488 861383306 420773560 458547544 893860727 574924220 670979891 713199217 975269268 664490073 213926602 163789960 145847415 997299598 408497768 428747955 721867658 142117376 575485118 413494386 923159887 132774876 561494895 375673341 232018015 87162480 79323336 206014003 17012234 94630229 993786079 520011864 438872920 81866966 902419092 586392635 219896364 668250239 490142300 595427792 663667470 867723620 346394348 658212287 92160628 635671105 729941138 782594982 919585635 92160628 339350524 381881872 603690869 590783394 807648187 384604556 818014838 785376602 38372578 203018461 109891495 84062198 167415720 579783784 381881872 894991717 561494895 490142300 861208333 416756465 428142800 818014838 858159813 854398124 984182750 29272319 428747955 307476694 79323336 888304663 725418770 284859244 791183444 786969334 901803305 988919874 979285058 762227828 786969334 745924515 280856350 107808575 95443860 681823792 980134651 977467597 608724072 980936845 748186132 393835525 890844482 746419439 780117964 156929061 271708247 591700510 663307073 22576092 660738659 403334160 84062198 786892734 503810504 416756465 675573324 17012234 295958449 505655512 873072247 579783784 614593757 73453883 644187365 275610416 352508141 291386915 368764047 275463593 658388576 690664050 254167164 659501910 976942240 658212287 790809628 329542777 758575350 401672699 336862767 594204193 620059513 406568384 2433982 518109595 903297209 355126439 263798126 580470806 670979891 807820896 112302971 667300705 593587398 867723620 22393976 84062198 571736161 508037594 154693260 228137178 459789430 330785266 447434673 363457997 229515163 938954818 384604556 755527023 468107571 764751417 663667470 452820542 850351456 927530478 352508141 770278321 39885396 852782081 745215401 903297209 993786079 3090244 757544011 602915291 912506727 491543933 512615132 567600315 241693686 493264770 538432928 960643177 295958449 554782737 457715535 368764047 989696303 849035201 451474906 470690645 815472010 812752908 685097645 974521569 72621546 102379477 116545387 786075537 622918995 666590606 495712606 216195055 363811064 411999902 757544011 466852129 70161655 692204091 571736161 29287119 512615132 784597145 890844482 368935143 471865558 244155041 271516194 368935143 130431610 750429264 421927353 491978273 373683372 18794770 238951985 408497768 745215401 764751417 250810872 730756715 679670176 631700842 865880334 907456227 984895249 77299524 39885396 415965469 704672739 262575582 789495739 691504106 785247749 254528769 400907045 246216644 662235717 849035201 560455121 116545387 891436447 194126353 966503495 183843307 999101537 761021239 127278512 57801759 836680980 142117376 807262913 645695407 264549124 281598862 731936598 622823007 668281990 562309509 691214891 16475116 760624728 888304663 486307671 750156197 789495739 685097645 590783394 72794624 997299598 701070480 469384372 107808575 766504018 243995015 349032071 208493418 578238211 801402068 791183444 950629972 198016418 914662962 290604263 991188064 691214891 70161655 378409769 508037594 307476694 626837013 237773442 130580 770680522 603690869 563675995 591700510 689608865 494950691 274831438 155997760 669742991 336688564 750769230 702444538 372510013 248636995 363457997 336862767 340301060 499941413 709403855 26537314 63243152 398981201 614297261 848715178 943374902 891436447 493264770 667300705 858159813 273365488 686385319 432069691 433114786 647911422 163983150 34584857 110012494 977467597 244195221 72621546 685423362 213926602 818014838 426480224 614593757 13841075 4610166 920219729 373771611 28576479 384604556 336688564 974521569 22393976 507142051 614297261 77564723 788878491 495336832 859930182 107808575 165753 937633254 175590565 909186692 848715178 490142300 593587398 710730165 651109313 34685076 477076784 564190579 580884227 603690869 489295045 580884227 586392635 245677831 -1 66483968 563675995 198703751 861383306 111122929 92102199 43392732 63243152 790809628 745215401 340301060 -1 566096351 284387166 154693260 372510013 858159813 41260287 417425319 751964866 73525554 522063456 993786079 2433982 700120477 980134651 321467204 495712606 604148770 113804160 577714620 -1 992563691 330583346 893652215 633637325 565554630 975269268 43897314 146171038 165622114 46945925 567600315 290604263 79323336 590603969 658212287 416739210 70161655 155906400 182429059 97299507 562309509 39885396 305936785 728357838 675573324 175554418 189854783 491543933 549323513 575541534 980936845 459789430 416756465 122896725 209977170 927530478 722874144 647427996 688597242 779829204 175590565 623090438 297133830 730756715 697374453 998120269 563732029 346394348 161017478 957144144 770847694 199770581 942297502 29272319 937638157 119601349 604148770 785376602 281083465 214317232 922171930 56105859 22576092 801169129 183843307 155376172 471865558 335743200 444874800 909186692 561553313 885077908 822261941 819963767 995194212 254528769 864561721 641205608 466034328 801402068 254167164 688597242 638076633 345102555 614459776 140395123 923159887 563732029 765137854 283107224 888304663 667300705 555828167 41260287 669655791 73525554 710113373 857102413 422331486 333260763 213926602 -1 420425052 228902962 470690645 365679164 997432376 974521569 620059513 334677549 818014838 940104206 568090820 491978273 337502849 215802236 167036027 680666684 857269083 748186132 682038125 448707988 555548888 163789960 984182750 703311448 363457997 765137854 651109313 270206207 789495739 146171038 344240078 32796250 81866966 385144989 415965469 986331373 161017478 745924515 624015614 41524303 29287119 357329820 162425880 130431610 596367148 451474906 146171038 329542777 705118513 801326287 77299524 96109344 942045496 411999902 725418770 345072009 188196698 919585635 208877360 263798126 960643177 691214891 214317232 319424815 433756914 914662962 60978603 543122079 961821360 329959527 817331802 403334160 520011864 659501910 175554418 960643177 32466209 891436447 32796250 624015614 891573253 81866966 641164921 888304663 500268473 365035648 987705926 780117964 495241145 667841561 246216644 789404113 891573253 739554266 553190572 26375227 968396048 769837665 719457202 665446719 882812597 470690645 494751627 861383306 164542502 348123399 745924515 562309509 537867109 823787812 788878491 495712606 827132364 686385319 295958449 912506727 937633254 627376276 942627653 119601349 119601349 753145692 138790019 590603969 312308223 795730704 995194212 88469907 812140416 769854437 168494769 627589268 974448855 438872920 542661640 563675995 939946968 938954818 265395517 819523467 372910848 -1 763183908 675573324 673965031 638293140 774937853 834500260 486307671 387384744 57606083 344240078 393835525 138533159 795730704 512615132 939946968 791932302 216195055 345072009 867933639 461649452 812752908 942627653 982581137 425469326 702444538 861115508 401672699 469035792 321467204 29734308 2433982 194126353 784597145 686385319 38372578 422331486 741463146 885164572 46410909 386935154 533367205 16475116 -1 198628726 427618367 974448855 34685076 690664050 682038125 927530478 622737539 651109313 19140171 894991717 946112218 72643683 957144144 456863895 785376602 47116225 920219729 765137854 891436447 660738659 107839247 613084013 142117376 138790019 832494905 610895287 96109344 393835525 571736161 107839247 363457997 357329820 603620710 586392635 614297261 34584857 378409769 554782737 238951985 -1 579991057 406717194 631700842 861208333 658212287 203580162 638011115 363579344 572589546 500268473 96109344 244883660 832364259 565554630 348123399 70161655 117347524 890844482 232531633 777440440 774149146 337502849 251692591 769854437 217928587 660040051 691214891 769545495 79323336 568090820 341012648 447434673 87162480 644187365 232531633 319424815 37081879 444874800 836680980 660040051 549323513 475822349 614459776 812140416 812140416 262575582 777440440 424697572 603620710 814490763 850101344 610932880 626807589 -1 879954113 349032071 669742991 624015614 638293140 49208976 281083465 43897314 999101537 951926549 532861718 330583346 413494386 417425319 593282222 888304663 910794274 857102413 472516679 679670176 291386915 183843307 441949925 664295306 464037621 662235717 871898006 568090820 891573253 63210631 237773442 660639438 169614935 469384372 211362614 46410909 491294665 593587398 749101296 41524303 472516679 765137854 562309509 395983136 987705926 974521569 854062217 363811064 271708247 595427792 500268473 750156197 150137560 276260520 46945925 37081879 327982936 183843307 387518405 683489839 804352169 372910848 194126353 -1 662235717 689608865 507142051 421927353 782619049 922171930 728492414 469384372 672907310 560637528 111985669 721120553 457715535 368935143 649175882 543122079 186539666 729352677 691504106 542661640 693375965 712694937 782927012 87162480 883564101 213926602 937638157 244883660 54164180 92160628 854398124 916738849 560455121 542986495 850636024 373771611 156929061 623188968 456863895 818014838 998120269 94630229 312308223 100130908 363579344 352607876 161017478 730824918 893652215 373771611 695553778 985045640 189854783 784597145 29287119 43897314 763281688 937633254 716182336 765954927 345072009 401672699 46410909 335890204 368704535 769545495 984182750 690863334 238951985 688597242 957144144 457715535 966561320 709403855 74820195 880938198 713199217 992563691 12903603 970265761 330785266 211550817 688597242 189854783 861208333 916321789 699856917 100130908 208877360 63210631 47116225 87162480 480210823 -1 827132364 845211351 850351456 201066749 845211351 609637013 365679164 566034579 871898006 337458711 682038125 211070558 155376172 849035201 130431610 660639438 609637013 451474906 117347524 860724917 623188968 565554630 819963767 638011115 622918995 942297502 861383306 567600315 78898063 610069705 228137178 107839247 175590565 297175900 871898006 977467597 247165890 575485118 60978603 365407761 12903603 725418770 919585635 238951985 135519629 243995015 697184458 86361620 303139271 46410909 537867109 658388576 34584857 63243152 627561325 284696682 18794770 628220249 92160628 708274346 493264770 888304663 244883660 42277380 420425052 641164921 97299507 938446553 668250239 723933984 32796250 466852129 130431610 782594982 861208333 904818318 503810504 216195055 466034328 206287347 795730704 244195221 116545387 819963767 454563819 192251969 333260763 454563819 207023050 116545387 828722364 363457997 470803824 658212287 182026506 765954927 695553778 372510013 666590606 965993467 730824918 770680522 779829204 211333607 914291169 165622114 170824557 782927012 623188968 801326287 464037621 77299524 967987535 708274346 494950691 679521131 770847694 -1 29272319 722672739 72621546 182659876 679670176 663307073 54164180 71713295 7545447 170824557 3090244 724422672 820211254 731745766 864350394 997299598 363811064 57801759 414918047 116545387 4610166 284700142 683531283 349032071 453407680 679521131 681823792 522063456 601762202 431837446 942627653 170824557 464037621 70161655 903297209 73453883 610895287 560814638 488751710 997432376 988919874 723200871 789495739 703311448 942297502 859930182 288628682 175590565 346394348 782594982 428142800 122067182 271708247 633637325 984895249 493264770 950629972 358191652 712694937 864350394 739554266 614459776 199770581 464037621 613084013 769545495 438872920 916738849 206644601 206287347 263636646 566096351 790809628 590783394 745215401 433114786 122067182 970265761 888304663 527985132 729941138 746419439 281598862 132774876 560637528 451474906 761021239 214317232 156929061 579783784 667169560 647427996 368764047 456863895 923159887 968396048 186539666 349032071 34030354 122896725 623188968 284700142 582861386 175554418 976942240 249558965 107839247 586392635 601762202 454563819 675786233 788878491 575541534 626837013 330318834 46410909 670979891 542661640 63210631 893897082 692204091 494950691 43392732 500268473 149830598 627589268 2433982 982581137 721120553 345102555 381881872 885164572 566096351 363579344 543122079 341012648 438872920 470803824 627561325 199770581 922220234 758575350 664490073 647290016 268947673 507142051 229821643 327789615 702444538 162425880 815472010 647427996 804352169 670408229 914206506 641164921 882812597 811841566 358191652 561494895 806195787 763281688 879954113 337458711 745924515 580283317 183843307 742174392 434526689 818829472 668281990 149830598 264549124 763856958 130580 577758652 535432483 938954818 433348815 365679164 42277380 580470806 470803824 109891495 522063456 560556517 494950691 867933639 729352677 70161655 661932839 742174392 295504204 658212287 852782081 667841561 563675995 982693874 920219729 953838288 644187365 330785266 208493418 111985669 346188490 861115508 165753 34584857 155376172 710113373 490869221 408497768 984117471 622823007 782619049 560637528 756425389 22576092 199770581 818974853 622737539 823787812 770680522 832364259 250810872 789495739 3090244 685423362 953838288 473150723 337458711 373683372 406717194 675573324 181721636 984182750 177905368 344240078 565554630 871898006 355126439 416739210 627561325 211333607 910994573 325287502 610613670 384604556 664490073 216195055 845459462 57551192 72794624 -1 807262913 368704535 679521131 912506727 790809628 416739210 967987535 601762202 197115342 420425052 73525554 437863021 828722364 73453883 779829204 689897360 188196698 420773560 577714620 43897314 662235717 49212342 275463593 268947673 113811391 912506727 327982936 411999902 647290016 -1 961821360 942627653 -1 656206261 691504106 337502849 863667577 346394348 471865558 768744535 574417829 488751710 563823514 456401701 373683372 297175900 307476694 413843857 614593757 807648187 199386661 113804160 244155041 448707988 386381016 406568384 491543933 847840320 514721585 481127177 562309509 774937853 950629972 301714930 572311287 780117964 935910737 229405480 100130908 149052945 525617132 702444538 194126353 832364259 578238211 685423362 786969334 319424815 525617132 995194212 708274346 979580407 243341711 201066749 165622114 17012234 286319692 637964511 209977170 264549124 77564723 182026506 273365488 138790019 223785502 729352677 965067805 590138438 670408229 750429264 527897224 495336832 14405655 368704535 248636995 122067182 742174392 647427996 201066749 275610416 273365488 211070558 352607876 686649778 580470806 107839247 163983150 365035648 683531283 927530478 291386915 197307546 417425319 472516679 462383923 580884227 633637325 669655791 229515163 345072009 505655512 785247749 16475116 863278761 111122929 154693260 55517047 481127177 403334160 17012234 725418770 244155041 12903603 991188064 697184458 154693260 115470851 189854783 358191652 276260520 476084224 984117471 508037594 626807589 198703751 437863021 457715535 -1 420342620 560455121 567416830 575541534 719457202 670408229 769545495 399202754 716182336 86256730 297175900 907456227 726776295 420342620 452820542 186539666 175884183 883564101 132774876 469743398 560556517 741339101 254528769 183843307 140395123 638011115 708274346 591700510 503810504 988919874 34584857 57551192 799467751 163091630 29287119 386935154 937638157 163789960 716182336 986331373 801169129 208028672 57606083 724422672 95779603 708274346 577714620 37081879 275610416 830162158 145847415 238951985 686385319 29287119 580283317 491543933 622737539 119601349 982554231 418807544 468199498 673965031 725418770 95443860 325845006 452820542 408244002 693375965 919585635 939946968 635671105 456487084 992563691 206287347 651109313 86361620 372910848 675786233 669742991 846213413 937633254 26537314 505655512 537867109 580884227 670408229 456401701 447434673 628984381 349772488 548806448 398981201 564190579 66483968 305936785 610613670 861208333 968396048 627589268 984182750 219896364 365035648 596367148 375673341 989747990 567416830 146197290 470690645 171504845 375673341 424146759 46485154 338370105 565554630 288628682 830162158 566034579 94630229 238442797 608724072 582319429 679670176 916738849 79213361 70161655 974521569 223785502 132774876 596367148 32466209 -1 697374453 399202754 710730165 690664050 965067805 11796756 599555786 286319692 215802236 73453883 47116225 569422962 156929061 188196698 377651896 586392635 286319692 909186692 602811046 135519629 216195055 500268473 543006155 321331882 815472010 363811064 78898063 602915291 567416830 726776295 223785502 -1 763183908 335743200 742174392 198016418 288628682 908463563 845211351 372910848 991067365 908705907 175554418 165753 729352677 363811064 533560917 966561320 425469326 675573324 491978273 321331882 411907778 566096351 859063396 321467204 525617132 763183908 337458711 555828167 721867658 418807544 982693874 946112218 572589546 34584857 580470806 421927353 663307073 718229961 260307180 880844104 982581137 372910848 849123482 997432376 270206207 281598862 -1 46485154 88469907 785866095 186539666 56105859 951926549 201066749 745924515 622918995 491543933 644336340 219896364 724422672 431837446 726776295 411907778 456401701 997432376 214317232 864350394 609637013 203018461 470803824 561494895 507969865 481127177 118534662 433439854 914291169 791932302 406568384 591700510 406717194 414918047 590783394 531136661 238442797 281598862 84062198 660738659 624015614 92160628 43392732 596943234 749101296 275463593 572311287 201066749 327982936 722672739 488751710 748526814 57606083 79213361 705622548 820211254 902419092 742174392 -1 17012234 846213413 427675535 247165890 554782737 468199498 470690645 102379477 595427792 26537314 663946492 385144989 664490073 385144989 37724537 909186692 319424815 249558965 763183908 7545447 477076784 554782737 303139271 688380735 748186132 145847415 673965031 14405655 293155218 246216644 667169560 420342620 197307546 765137854 330318834 175144765 538432928 659932705 564190579 638011115 115639466 719457202 2433982 823787812 182659876 894991717 192251969 785247749 564190579 626807589 659501910 81866966 37081879 663307073 691504106 801402068 36050763 92102199 833246783 346394348 974448855 73525554 444874800 159647580 220059095 424146759 -1 281598862 155997760 942384956 725418770 681690682 352607876 981763217 614459776 238951985 392826688 295504204 63562141 751964866 799467751 847840320 46945925 666590606 807820896 700120477 811841566 753145692 590603969 812752908 818014838 432504521 708274346 760624728 293155218 -1 203580162 966561320 614459776 490142300 541460419 790809628 815472010 609637013 251692591 163983150 938954818 307476694 533367205 562309509 137132982 938954818 508037594 114396999 46945925 75228974 804352169 59706771 461274569 77299524 532861718 288628682 774937853 686865014 175884183 907772025 459789430 661932839 894991717 433114786 346394348 551345512 748526814 631700842 850351456 290604263 216195055 79097209 231771136 341012648 81866966 137132982 175144765 507969865 505655512 769854437 832364259 651109313 577714620 223785502 683531283 341012648 993786079 268947673 301334993 695553778 779829204 395983136 149052945 95443860 368764047 203580162 817693389 812140416 635671105 984895249 79323336 229821643 345072009 908463563 641205608 251692591 750156197 965067805 238442797 610895287 171221433 551345512 472407762 417425319 532803555 339350524 238951985 74820195 910794274 953838288 728492414 880665324 163789960 100130908 96109344 201066749 368779111 475822349 586392635 208028672 232018015 980134651 270206207 298868262 728357838 72263116 302277738 384604556 345072009 14405655 997432376 985045640 881489135 746419439 276260520 560637528 411999902 745215401 572311287 162425880 904818318 681690682 769837665 938914563 680666684 341012648 102379477 700120477 335743200 850101344 60081926 942384956 155906400 858159813 756425389 338370105 688597242 849123482 701070480 142117376 365407761 330583346 7545447 456401701 991067365 512615132 568090820 668281990 668281990 770680522 699856917 543006155 974521569 879954113 950862675 561494895 916321789 729178187 288628682 118534662 680666684 901304975 175884183 849123482 707186544 830162158 721867658 3090244 693375965 293155218 632336991 182026506 525617132 372910848 519762398 937638157 211070558 916321789 740224085 662235717 982693874 500268473 939563959 724422672 250810872 365679164 716182336 801402068 118534662 580283317 308232133 46410909 475822349 861383306 416756465 686865014 852782081 446355059 163091630 922171930 280856350 163091630 365035648 413494386 518109595 807820896 241693686 408497768 976942240 565554630 549323513 628220249 514721585 363457997 690863334 507969865 968396048 384604556 707186544 201066749 432069691 264549124 -1 644187365 807648187 785247749 610895287 333260763 975269268 731745766 239254051 567416830 946112218 623090438 634536293 940104206 284387166 723933984 676685933 494751627 626807589 590138438 518109595 398981201 13384724 980936845 771459106 774149146 84208996 485683712 858159813 668281990 377651896 406568384 395983136 -1 140395123 29272319 770278321 406568384 54164180 901304975 92160628 229821643 270206207 284700142 214924123 428413005 33812208 433348815 965993467 850351456 804352169 612885490 238951985 626807589 14405655 49212342 852782081 859962837 560455121 387518405 340301060 79323336 250810872 303139271 538432928 146171038 656206261 263636646 301334993 903297209 682038125 254167164 47116225 56105859 721867658 424146759 149830598 417425319 682038125 378610966 965993467 789404113 885164572 428413005 975269268 130580 675786233 260946873 122896725 428747955 264549124 63210631 37081879 660738659 560637528 992563691 354949635 75228974 939946968 819963767 631700842 946112218 985045640 163789960 828722364 57606083 560556517 119601349 95779603 18299476 908705907 596367148 966561320 691740164 818974853 930790502 828722364 520011864 206644601 756425389 719457202 275463593 169614935 211550817 447434673 554782737 989696303 830162158 760624728 908463563 726124644 697374453 644336340 36050763 480210823 751964866 758575350 937633254 697184458 632336991 524972471 72643683 209977170 723200871 902419092 330583346 861115508 741339101 908705907 37081879 580884227 785247749 92160628 554782737 987705926 469035792 697374453 526755095 768744535 481127177 -1 56105859 859930182 785247749 198628726 252012472 334677549 72643683 243995015 87162480 411907778 859063396 602811046 448316745 275463593 695553778 72263116 532861718 43392732 130580 56105859 424146759 740364356 329542777 433114786 676685933 60744503 750156197 398981201 574417829 880938198 19140171 162425880 731745766 284696682 879954113 823933296 330785266 2433982 480210823 628220249 647290016 194126353 982581137 555828167 729178187 452820542 888304663 145847415 229405480 746419439 112302971 819963767 295504204 391779414 60081926 680666684 238442797 817331802 758575350 894267291 831985335 243995015 140113105 656489207 739554266 901803305 223785502 984182750 681823792 760624728 461274569 63243152 -1 620059513 740364356 22393976 365679164 750769230 914662962 201066749 958339854 726124644 232531633 750769230 739554266 146171038 938954818 562309509 711501588 74820195 477076784 447434673 742174392 938446553 693375965 70161655 -1 782619049 171504845 672907310 647427996 19140171 620059513 610895287 600962339 32466209 17012234 973579758 18299476 73525554 164542502 634983639 512615132 456401701 718229961 668250239 574417829 192251969 660738659 110556435 312308223 833220245 991067365 806195787 149830598 979580407 574924220 468199498 155997760 377651896 251692591 861208333 711501588 614593757 647427996 980134651 588150191 832364259 77299524 832494905 603620710 150137560 46410909 138533159 114396999 673965031 679521131 830994144 33812208 663307073 594204193 472516679 958339854 527897224 252012472 333772685 691214891 610069705 659932705 485683712 595427792 690664050 818014838 327982936 271516194 135519629 811841566 683531283 655834254 115639466 974521569 142117376 953838288 832494905 167415720 84062198 330785266 537867109 53028773 842871738 834500260 757544011 262575582 888304663 852837035 548806448 372910848 79323336 132774876 199770581 859930182 907456227 689897360 346394348 111122929 238442797 447434673 950862675 34685076 448707988 318110611 63562141 60081926 167036027 220059095 46011383 75228974 670408229 441949925 448316745 426480224 908705907 122896725 214317232 565554630 721120553 561553313 967987535 424697572 84062198 957144144 217928587 846213413 244195221 365035648 349032071 352607876 159647580 645695407 434526689 110012494 37081879 169614935 295805912 624015614 590138438 468199498 970265761 245677831 976942240 363811064 431837446 229821643 481127177 29734308 113811391 854062217 730756715 977619929 850636024 741339101 197307546 693375965 327789615 63243152 115470851 488751710 432504521 11796756 658388576 757544011 325287502 49208976 563675995 247165890 422331486 254528769 181721636 857102413 138790019 459789430 -1 627561325 730824918 881489135 408497768 683489839 417425319 590603969 765137854 575485118 95443860 548806448 393835525 819523467 175590565 254167164 215802236 317871021 645276436 271708247 554782737 438872920 850636024 19140171 432069691 330583346 867723620 731936598 695553778 413494386 938446553 885077908 344240078 758575350 174295016 665446719 627589268 -1 197115342 11796756 930790502 100130908 937638157 349032071 234968285 72643683 741463146 579690895 786075537 88469907 341012648 590603969 26375227 542986495 140113105 329542777 541460419 551345512 795730704 543122079 984895249 424146759 26537314 763856958 812140416 130580 201066749 675786233 109891495 541463939 894267291 938954818 950235340 355756362 74820195 358191652 156929061 537867109 998120269 -1 647290016 857102413 345072009 228137178 118534662 387384744 60744503 53028773 118534662 155906400 549323513 688380735 215802236 960643177 122896725 923159887 406568384 764751417 149830598 161017478 284696682 22576092 923159887 977619929 28416726 60081926 503810504 563732029 659932705 788878491 590603969 307476694 543122079 595427792 46410909 192251969 117303447 503810504 140395123 26375227 32796250 78898063 59501988 868838278 365407761 192251969 957144144 19140171 461649452 532861718 372510013 4610166 742174392 21873594 42277380 229515163 868838278 155376172 637964511 741339101 586985028 401672699 246216644 46485154 542986495 118534662 -1 305936785 392826688 535432483 162425880 532861718 170824557 146171038 812752908 711503207 623090438 542986495 610069705 175144765 560556517 849123482 785376602 614297261 907456227 830162158 374972287 659932705 427675535 679275202 435984127 424146759 864350394 567600315 582319429 958339854 444874800 541460419 113804160 116545387 117303447 -1 711501588 205644911 26375227 922171930 888304663 592274818 610932880 393835525 495712606 115470851 107839247 175554418 847840320 232531633 623090438 880665324 456487084 688380735 912506727 785376602 365035648 29734308 111985669 63243152 150137560 763183908 123550994 165753 784371166 690863334 168494769 232531633 508037594 368704535 610932880 352508141 689897360 946112218 885164572 830162158 891436447 112302971 357329820 116545387 107839247 495241145 477076784 206287347 140395123 55517047 919585635 566034579 724422672 893652215 977467597 786969334 904818318 750429264 572589546 -1 670408229 788878491 424697572 524972471 22576092 701070480 846213413 822261941 859962837 -1 518109595 549323513 659932705 635671105 920219729 512615132 37081879 476084224 542986495 767047665 21873594 579783784 319424815 297175900 386381016 769545495 774149146 724422672 46011383 72794624 656206261 406568384 880446976 433439854 750156197 669742991 672907310 494751627 3090244 167036027 437863021 664490073 435984127 721120553 206644601 627376276 457715535 503810504 771459106 777440440 999101537 84208996 286319692 424146759 890844482 543122079 238951985 254756796 622918995 753145692 628984381 411907778 637964511 469384372 112624754 950629972 159056677 649175882 466852129 401672699 443342808 110012494 750156197 79097209 560814638 248636995 632336991 864561721 318110611 520011864 416756465 728492414 979285058 512615132 284859244 711501588 42277380 697184458 149052945 305936785 780117964 375673341 275463593 725418770 306767836 974448855 146171038 346394348 333772685 731936598 271516194 243341711 832364259 29287119 688380735 107808575 908463563 37081879 107839247 49208976 74820195 91064641 344240078 801326287 801402068 690664050 56105859 494950691 811841566 338370105 399202754 689897360 753145692 354949635 130580 57606083 110012494 908705907 785866095 346394348 563732029 705622548 730824918 957643716 670979891 363579344 560814638 542986495 997432376 722874144 378610966 379213018 519762398 784597145 88469907 880938198 731936598 961821360 769854437 577714620 406717194 281083465 807262913 214924123 910794274 229515163 63210631 574417829 330583346 113804160 857269083 782594982 123550994 420342620 149052945 -1 197115342 295958449 845211351 981763217 961821360 117347524 902419092 182659876 490869221 199386661 127278512 472407762 149830598 520011864 916321789 229515163 790809628 229515163 416739210 175144765 472407762 488751710 59501988 206014003 863278761 857269083 46945925 673965031 634536293 39885396 979285058 645276436 122896725 146197290 298868262 443342808 610895287 664295306 768744535 939946968 95779603 355756362 495712606 819963767 171504845 807262913 976942240 830162158 799467751 71713295 569422962 231771136 491978273 890844482 620059513 612885490 849035201 -1 100130908 470803824 893860727 260946873 420425052 857102413 602811046 251692591 667841561 77299524 86361620 260307180 302277738 780117964 724422672 163789960 107839247 171221433 852782081 580918883 788878491 777440440 -1 566034579 567600315 845459462 211550817 26537314 427618367 156929061 881489135 647911422 882812597 57606083 791183444 411907778 12903603 71713295 679275202 995194212 721120553 845459462 858159813 638011115 520086201 904818318 722672739 330583346 472407762 864350394 437863021 203018461 456863895 791183444 86361620 472516679 208493418 507142051 -1 19140171 667169560 662235717 988919874 555828167 579783784 704672739 211362614 527897224 679275202 367754743 406430184 191697350 84062198 414918047 63243152 728492414 29592557 665446719 33812208 29272319 451474906 622918995 627376276 312308223 970265761 991188064 710113373 325845006 914291169 801169129 953838288 495712606 988919874 627589268 368779111 97299507 574924220 771459106 680666684 110012494 406483013 728357838 923159887 705118513 675573324 782619049 770680522 508037594 938954818 192251969 284700142 601762202 942627653 96109344 966561320 276260520 609637013 400907045 229821643 183843307 26375227 251692591 563675995 937638157 470803824 100130908 710113373 203493552 334677549 795730704 779829204 475822349 893897082 96109344 591700510 472407762 563823514 609637013 488751710 91064641 937633254 667300705 661932839 215802236 228902962 662235717 254167164 472407762 791183444 533560917 700120477 807820896 161017478 205644911 107808575 989747990 495336832 939563959 965067805 942384956 18299476 -1 639572212 845459462 140395123 175590565 461274569 214317232 970265761 209977170 812140416 288542157 163091630 254756796 958339854 260946873 349032071 66483968 95443860 785376602 950862675 260946873 159056677 718577411 192251969 448316745 638076633 755527023 336862767 -1 341012648 910994573 602811046 661932839 368764047 801326287 -1 346394348 722874144 283107224 485683712 658388576 937638157 560455121 175884183 555828167 468199498 363579344 247165890 637964511 407009263 484471406 155997760 763856958 745924515 355126439 251692591 11796756 466034328 477076784 989696303 998120269 208877360 217928587 377651896 275463593 623188968 923159887 965067805 111985669 346188490 389956215 107808575 901803305 72263116 110556435 33812208 317871021 849035201 75228974 307476694 182659876 891436447 991067365 132774876 760624728 275610416 702444538 503810504 95779603 822261941 661932839 722672739 86256730 982581137 651109313 155906400 815472010 970265761 159056677 980936845 453407680 753145692 408497768 468107571 622823007 432069691 284700142 189854783 599555786 398981201 819523467 317871021 182429059 18404492 763281688 577714620 29287119 495241145 468107571 711501588 372910848 284696682 590138438 770680522 672907310 337458711 155906400 372510013 531136661 836680980 683531283 446355059 579783784 495336832 745215401 38372578 469035792 458547544 768744535 782594982 473150723 427675535 786075537 965067805 977619929 908463563 274831438 332773543 319424815 859930182 223785502 392826688 880446976 400907045 36050763 379109457 49208976 308232133 577758652 950629972 966561320 352607876 295958449 672907310 571736161 543122079 420342620 514721585 750769230 209977170 721867658 424146759 457715535 801169129 535432483 641205608 790809628 789404113 644336340 919585635 245677831 623188968 46011383 908705907 527985132 308232133 53028773 507969865 909186692 922171930 707186544 707186544 354949635 135519629 67592009 520011864 686649778 812140416 579783784 472407762 433756914 84208996 578238211 41260287 982693874 198628726 665446719 -1 768744535 647427996 559785274 437517579 633637325 378409769 427675535 270206207 201066749 491294665 634536293 560455121 668281990 29272319 686385319 582319429 761021239 970265761 914662962 26537314 850636024 368764047 818829472 339350524 63243152 100130908 527985132 406568384 219896364 613084013 113804160 799467751 901304975 667841561 982581137 468199498 669742991 232018015 756425389 784597145 424697572 580918883 690863334 192251969 542986495 -1 708274346 22393976 43897314 252012472 384604556 97299507 699856917 673965031 466852129 822261941 63243152 784371166 317871021 95443860 801326287 500268473 965993467 980134651 41260287 762227828 189854783 647911422 211070558 562309509 432069691 36050763 245677831 -1 456401701 488751710 622737539 346394348 447434673 998120269 494923774 818974853 958339854 428413005 790909002 238951985 4610166 861115508 395983136 110012494 864561721 333772685 189854783 579783784 867723620 427675535 86361620 774937853 375673341 341012648 760624728 79323336 850101344 399202754 790809628 354949635 75228974 548806448 37081879 953838288 734712823 914206506 175884183 291386915 850101344 543006155 329542777 137132982 850636024 782927012 378610966 333260763 907456227 601762202 527897224 833220245 672907310 647911422 751316591 32796250 38372578 368779111 175884183 393835525 912506727 982693874 523542917 718229961 170824557 470803824 211070558 -1 637964511 817331802 672907310 861115508 766504018 72263116 525617132 454563819 997299598 57551192 849035201 491294665 60978603 95443860 206644601 676709331 110556435 407009263 814490763 406483013 903297209 110012494 381881872 991067365 457715535 182659876 378610966 741339101 820211254 721120553 631700842 206644601 443342808 786892734 812140416 457715535 95443860 582319429 207023050 942627653 138790019 633637325 318110611 220059095 461649452 908463563 567600315 378610966 214924123 413494386 281083465 473150723 686385319 603690869 912506727 751964866 214317232 997299598 78898063 885164572 432069691 750429264 665446719 572589546 461274569 329574367 111985669 260946873 26537314 938954818 368704535 579991057 345392984 596367148 563675995 424697572 565554630 564190579 881489135 137132982 249558965 254528769 717390689 67075526 965993467 325845006 107808575 416739210 37724537 986331373 189854783 670408229 494950691 571736161 211333607 60081926 468199498 729352677 868211619 197307546 60744503 764751417 828722364 721867658 523542917 203018461 559785274 18299476 791932302 355126439 468107571 718229961 164542502 433756914 284387166 271516194 669655791 234968285 525617132 74820195 -1 465892383 159647580 748186132 488751710 927530478 346394348 512615132 407009263 -1 338370105 363579344 600962339 325845006 859962837 296417374 748186132 401672699 205644911 828722364 637964511 961821360 22576092 223785502 417425319 590603969 791932302 812752908 417425319 993786079 275610416 582861386 251692591 276260520 785247749 159056677 354949635 374972287 577758652 238442797 603690869 319379178 238951985 930790502 660639438 777440440 401672699 384604556 927530478 647911422 951926549 223030820 182429059 560814638 649175882 901803305 514721585 446355059 3090244 683531283 908705907 276260520 741339101 49212342 -1 79213361 812140416 137132982 753145692 466852129 644187365 214924123 790909002 189854783 453407680 937633254 864350394 979285058 910794274 159647580 774149146 526755095 907456227 327789615 771459106 668281990 663307073 63243152 16475116 790909002 291386915 563732029 675573324 718229961 92112290 704672739 493264770 577714620 721867658 937638157 817693389 164542502 622737539 1713096 984895249 363457997 297175900 122067182 100130908 580918883 819963767 334677549 216195055 468107571 -1 524972471 464037621 329959527 330318834 690664050 208493418 28416726 43897314 780117964 171221433 271708247 580283317 769837665 791932302 491294665 763183908 485683712 271708247 806195787 345102555 575541534 468107571 882812597 666590606 149830598 580884227 914206506 161017478 780117964 358362276 91064641 201066749 669742991 525617132 275463593 283107224 251692591 637964511 974521569 782594982 641205608 904818318 575485118 555548888 980936845 532803555 220059095 966503495 135519629 411907778 87162480 411907778 466034328 859063396 288628682 248636995 146171038 842871738 997299598 346394348 568090820 206014003 427618367 273365488 327789615 676685933 171504845 3090244 321467204 641205608 858159813 372910848 211333607 155376172 355126439 477076784 32466209 329542777 84208996 750156197 614593757 527985132 603620710 177905368 168494769 689608865 156929061 890844482 695553778 424146759 244155041 254756796 702444538 260307180 663307073 806195787 358362276 284859244 94630229 142117376 705118513 859962837 41260287 461649452 469743398 580918883 472516679 372910848 819963767 330318834 939563959 155997760 586392635 914291169 72794624 626807589 812140416 603620710 721120553 175554418 667169560 219896364 644336340 59501988 602915291 426480224 632336991 197307546 406483013 830994144 930790502 602915291 435984127 577714620 763856958 182429059 631700842 295504204 807648187 595427792 660639438 378610966 868211619 363579344 175554418 989747990 758575350 228137178 578238211 613084013 354949635 415965469 254528769 685097645 739554266 306854073 512615132 244155041 857269083 976942240 363811064 78898063 214317232 704672739 721120553 817331802 159056677 705118513 92112290 582861386 713199217 707186544 137132982 998120269 63243152 54164180 206644601 32466209 263798126 49212342 274831438 644187365 689608865 77564723 206644601 703311448 574417829 363811064 592274818 533560917 170824557 406430184 622823007 854062217 784371166 982693874 590138438 122067182 352607876 763856958 599555786 614459776 499941413 495241145 893652215 263636646 234968285 140395123 537867109 327982936 731745766 188196698 527897224 271708247 349032071 685423362 174295016 374972287 155906400 302277738 155997760 815472010 700120477 319379178 639572212 922220234 46011383 420425052 763856958 112624754 673965031 988919874 385144989 830994144 208493418 88469907 245677831 155997760 462383923 29592557 486307671 730824918 280856350 721867658 243341711 628984381 171504845 871898006 491294665 379109457 718229961 284387166 12903603 697374453 406717194 561553313 664295306 480210823 692204091 596367148 387518405 551345512 586985028 555828167 984182750 784371166 88469907 649175882 469384372 627561325 95443860 115639466 980134651 372510013 910994573 580884227 491978273 914206506 991067365 679275202 770847694 729352677 852782081 55517047 535432483 16475116 765954927 750156197 782927012 748526814 601762202 174295016 175884183 609637013 113804160 535432483 46945925 155906400 135519629 741339101 555548888 171221433 32466209 880446976 586392635 885164572 693375965 163789960 734712823 845211351 220059095 72621546 960643177 17012234 475822349 861115508 295504204 149052945 421927353 215802236 111122929 562288215 577714620 881489135 997432376 647911422 229405480 543006155 211070558 708274346 43897314 297175900 203580162 262575582 998120269 666590606 868838278 345102555 801169129 627589268 596367148 823787812 741463146 420425052 275463593 493264770 880446976 168494769 386381016 244155041 490142300 18404492 420425052 950629972 669125354 820211254 41260287 958339854 358362276 494923774 92160628 321467204 927530478 500268473 243995015 644336340 163789960 275610416 923159887 406568384 32466209 893897082 641205608 946112218 979285058 206287347 507142051 610932880 239987054 883564101 484471406 49212342 852837035 427618367 984182750 693375965 845459462 582861386 427675535 75228974 123550994 140113105 718229961 73525554 507969865 254167164 740364356 679670176 850101344 46945925 16475116 393835525 860724917 902419092 626837013 14405655 111985669 188196698 641205608 395983136 622737539 645695407 466852129 159647580 672907310 658212287 984117471 590603969 750429264 882812597 254528769 26537314 527897224 468107571 446355059 427675535 639572212 764751417 850636024 198016418 861208333 702444538 34030354 484471406 980134651 507969865 846213413 682038125 22393976 688597242 608724072 697374453 248636995 149052945 232531633 852782081 470690645 614593757 860724917 273365488 49208976 243341711 614297261 47116225 168494769 295805912 307476694 551345512 724422672 986331373 836680980 286319692 60744503 275610416 164542502 690863334 987705926 433756914 789495739 456863895 414918047 219896364 909186692 699856917 592274818 849123482 335743200 628220249 437863021 107596959 262575582 46011383 902419092 901304975 541460419 533560917 338370105 957144144 729941138 667300705 468107571 859962837 114396999 244155041 668250239 902419092 234968285 244195221 345072009 372910848 571736161 563675995 857102413 830162158 117347524 389956215 115470851 365035648 567416830 495336832 327789615 977619929 -1 789404113 234968285 572311287 387384744 434526689 907456227 916738849 830994144 986331373 229515163 522063456 372510013 817693389 333772685 673965031 392826688 420342620 244883660 1713096 34685076 280856350 562288215 669742991 774149146 601762202 902419092 118534662 594204193 111122929 784597145 726124644 60744503 34584857 993786079 283107224 45426260 219896364 880665324 113811391 560814638 748186132 57801759 301714930 408244002 718577411 327982936 578238211 117347524 591700510 885077908 70161655 297133830 2433982 403334160 325287502 4610166 721120553 41260287 864350394 977467597 850636024 408244002 882812597 466852129 686385319 818829472 893652215 686385319 686649778 950862675 74820195 690863334 254756796 444874800 329959527 349772488 7545447 880938198 979285058 683531283 579690895 729941138 651109313 293155218 171504845 907456227 -1 801169129 301334993 159647580