def valid_triangle?(a, b, c) a+b > c && a+c > b && b+c > a end if __FILE__ == $0 candidates = DATA.read.lines.each_slice(3).flat_map do |a, b, c| a = a.scan(/\d+/).map(&:to_i) b = b.scan(/\d+/).map(&:to_i) c = c.scan(/\d+/).map(&:to_i) a.zip(b).zip(c).map(&:flatten) end p candidates.select {|sides| valid_triangle?(*sides)}.size end require 'minitest' # require 'minitest/autorun' class TestDay3 < Minitest::Test def test_day_3 refute valid_triangle?(5, 10, 25) end end __END__ 566 477 376 575 488 365 50 18 156 558 673 498 133 112 510 670 613 25 84 197 643 910 265 611 894 252 545 581 3 598 98 742 574 628 746 193 129 677 265 187 445 169 288 242 128 569 744 439 685 748 471 256 23 157 218 343 491 777 905 633 778 867 840 672 772 947 500 763 420 449 665 653 23 558 858 745 407 904 766 194 576 11 541 423 179 690 274 174 747 279 741 538 336 507 698 667 689 920 467 405 861 35 575 631 992 317 573 981 817 536 44 816 205 653 45 631 683 509 300 418 712 192 865 666 133 859 32 331 54 572 432 259 552 456 267 766 931 643 902 840 557 465 318 175 491 863 329 463 795 564 589 213 805 340 323 123 602 812 499 898 931 555 899 835 341 316 487 789 677 790 797 341 502 123 502 196 136 702 617 82 939 581 362 801 834 951 464 941 843 7 756 971 273 297 661 270 620 387 776 96 80 891 125 92 376 175 141 435 247 949 719 586 478 578 662 801 446 202 556 596 336 5 855 202 558 541 314 17 43 295 959 507 433 942 380 721 579 313 670 629 301 341 59 338 776 161 202 291 844 528 564 736 411 765 465 489 98 611 301 817 959 895 836 890 249 313 267 726 976 881 300 601 657 985 91 438 925 596 905 250 850 331 104 714 258 312 189 196 36 62 611 218 756 600 225 803 736 765 250 259 768 438 728 268 613 578 951 816 919 706 923 495 430 487 915 416 964 623 737 699 581 836 981 90 740 471 498 17 781 602 732 527 191 57 126 235 778 344 370 822 398 366 245 597 127 407 658 902 542 545 985 786 663 93 872 512 690 897 151 655 226 362 164 257 629 168 94 280 86 577 611 45 648 756 953 89 556 924 116 330 373 730 297 713 836 630 486 431 10 177 350 21 950 442 34 831 219 115 125 259 111 836 56 13 825 837 648 336 414 314 670 787 906 792 232 526 550 220 409 216 383 241 720 101 724 8 108 695 885 23 33 894 458 827 435 489 664 675 272 542 261 18 250 218 896 60 659 906 284 823 179 668 925 174 362 227 211 589 911 514 333 704 575 716 896 762 382 597 344 783 294 408 795 209 91 119 110 717 616 307 760 106 333 374 563 514 454 51 709 564 499 158 566 541 601 901 327 137 417 859 921 726 627 828 534 416 475 221 533 310 731 423 274 534 636 902 463 513 606 921 148 829 314 151 657 454 238 935 468 244 703 253 124 615 427 524 804 194 545 380 913 998 210 203 797 141 993 320 265 208 144 488 791 710 361 953 637 413 372 472 926 686 216 677 775 476 473 683 224 524 670 424 556 286 642 660 578 964 895 715 938 675 727 48 846 386 538 362 271 702 241 620 537 487 689 388 118 223 315 599 477 445 509 369 787 300 645 679 536 613 461 511 586 730 876 597 586 541 745 452 960 577 77 581 733 177 562 923 191 64 521 751 297 422 780 709 521 887 550 808 681 829 907 938 753 507 307 991 752 386 22 684 270 155 91 234 151 568 950 170 651 954 210 789 31 307 550 71 560 463 715 400 491 765 600 131 455 904 592 453 555 559 788 676 391 484 363 405 404 280 68 114 556 307 518 632 49 549 907 288 287 482 729 36 395 440 768 636 838 772 889 99 231 794 181 81 684 252 253 843 738 717 531 125 311 536 727 508 487 992 76 234 680 114 100 501 165 292 597 562 167 223 887 429 613 345 482 209 45 787 98 175 821 178 196 252 345 127 459 767 896 750 601 965 522 792 541 699 989 350 109 337 799 588 276 531 244 461 655 162 413 284 340 327 93 556 431 873 989 164 826 956 279 486 578 488 275 248 672 462 539 636 448 39 116 504 619 550 353 618 803 506 5 641 482 513 190 973 509 4 105 745 443 619 243 440 519 754 624 62 907 644 231 907 232 238 900 866 749 665 490 988 547 815 482 135 331 992 234 252 812 623 95 661 698 15 378 91 986 338 255 979 205 218 927 59 302 161 231 250 855 250 389 588 356 40 279 90 105 707 273 77 846 311 842 870 305 833 77 477 346 638 496 395 642 374 864 73 526 717 851 399 892 873 444 889 988 133 217 950 702 591 989 338 278 307 628 794 815 568 390 974 725 622 463 296 984 605 409 526 665 554 473 106 852 381 874 597 620 481 609 245 604 18 655 702 611 814 711 341 254 130 458 865 677 689 278 926 675 223 363 15 154 189 785 793 189 556 925 92 332 617 1 884 831 176 37 482 174 856 362 432 978 371 957 662 493 749 873 714 259 938 328 692 837 649 721 949 456 488 304 194 270 776 448 446 879 257 647 705 462 720 305 25 230 489 454 920 303 582 325 20 478 970 303 168 628 29 916 398 209 489 248 194 426 426 276 899 14 274 981 430 12 799 229 235 745 268 663 528 283 439 906 542 983 253 214 938 241 575 123 228 704 628 326 567 678 468 439 984 300 580 228 520 229 668 370 512 701 624 267 912 271 666 839 776 804 362 559 400 565 127 418 349 450 136 671 460 302 515 931 185 764 911 441 574 331 902 856 448 123 934 288 890 143 683 307 470 748 339 169 127 114 339 834 789 639 631 676 82 453 247 563 394 436 655 703 352 906 631 277 367 327 585 757 427 545 710 988 153 705 689 98 300 882 140 491 135 193 220 911 371 739 602 538 419 864 280 786 352 795 750 697 808 341 79 361 606 668 57 277 452 524 267 976 525 45 762 462 885 782 90 837 156 510 394 826 617 23 812 443 755 483 255 756 866 931 404 762 184 496 236 841 792 640 932 259 869 893 697 951 37 451 493 939 592 146 789 104 25 477 617 150 427 506 86 723 243 717 795 705 638 908 506 556 741 755 408 608 852 240 613 717 393 392 59 448 877 724 100 61 141 24 101 257 130 139 313 147 999 130 568 82 256 539 941 183 193 279 793 217 628 347 824 503 506 905 646 629 909 785 518 510 510 199 701 413 201 703 399 548 247 11 396 606 250 981 822 314 758 810 513 476 139 830 232 74 448 693 690 503 556 646 604 448 579 21 441 367 603 155 428 589 655 64 524 726 849 262 556 808 693 19 969 102 306 91 773 287 939 49 2 177 937 54 697 967 51 745 388 262 356 193 636 387 554 537 478 510 689 720 693 670 665 905 32 730 516 420 525 109 627 935 421 282 693 504 374 435 241 619 662 277 809 333 319 43 766 787 803 267 941 828 722 710 489 10 654 395 148 95 733 154 270 163 706 247 564 771 269 635 204 560 604 137 379 164 72 282 557 149 871 461 499 140 475 289 816 12 533 974 361 166 769 545 848 543 493 875 475 192 926 342 564 976 501 448 782 94 172 75 275 856 267 215 853 210 41 496 331 829 583 434 818 306 478 660 431 552 509 716 355 404 812 211 549 63 271 422 642 655 397 590 389 698 235 288 319 95 603 810 218 336 709 590 89 749 734 884 118 896 862 550 398 700 505 207 165 449 339 778 664 929 821 724 926 630 89 21 391 698 176 786 718 479 938 391 577 266 634 178 29 56 373 972 687 259 969 98 480 250 951 134 237 939 491 15 899 303 834 252 416 295 887 537 926 496 232 609 130 534 575 519 436 934 639 648 29 625 127 541 291 544 511 744 570 404 430 772 439 381 304 231 525 527 785 137 802 499 542 632 966 637 482 42 207 643 532 527 816 501 194 982 271 862 943 367 846 217 324 872 894 184 911 776 718 939 849 594 745 354 472 838 305 284 744 157 759 436 263 650 605 326 348 319 530 463 639 358 479 675 826 732 609 682 912 97 714 874 848 330 858 874 646 24 508 518 881 567 481 576 431 561 603 934 715 700 833 311 198 323 661 724 997 162 319 93 395 412 977 497 232 858 448 225 900 316 259 107 458 401 397 723 817 720 328 17 346 631 802 824 567 852 810 234 269 251 784 926 490 316 317 637 291 350 593 583 602 450 116 310 907 210 231 904 264 396 612 221 267 144 156 136 683 248 293 64 786 842 52 606 511 26 192 927 830 422 399 956 349 575 254 130 660 431 515 161 961 522 198 995 873 43 967 855 268 487 898 564 595 378 636 707 203 268 710 226 775 277 120 551 675 631 758 203 160 294 873 667 637 279 597 765 26 667 338 305 963 550 163 858 901 328 832 537 204 25 494 601 307 594 71 405 613 642 691 258 341 439 293 93 470 627 361 30 430 942 70 305 831 963 304 368 925 25 115 82 139 53 185 545 160 247 536 462 260 666 296 696 84 465 683 683 591 228 220 743 744 432 165 758 559 651 933 87 872 37 514 340 970 512 576 654 416 27 383 888 567 840 586 722 822 425 657 872 880 91 453 574 28 970 437 955 274 342 933 753 172 582 836 289 642 966 727 240 298 925 253 241 795 115 374 68 354 162 821 283 587 328 627 566 650 712 159 846 365 973 654 848 281 89 901 900 568 211 583 905 296 480 895 433 337 45 229 741 115 249 675 433 179 507 470 796 121 16 963 523 101 469 485 112 343 846 7 391 733 732 89 419 735 571 797 25 785 740 519 436 198 533 96 387 856 250 391 421 215 15 842 389 128 120 323 673 729 87 583 624 807 454 314 970 227 247 652 230 405 391 534 677 993 253 880 747 688 284 492 932 421 290 800 344 696 151 586 535 61 371 493 455 676 138 417 892 851 568 234 480 639 309 903 829 404 662 85 687 703 112 607 410 151 995 275 465 774 97 579 152 301 516 913 960 436 672 870 230 800 151 263 674 97 515 754 763 67 705 720 516 398 817 696 171 770 89 606 655 660 736 536 236 421 713 104 578 607 296 729 432 222 852 626 751 769 529 954 670 927 18 64 559 840 376 592 819 312 423 489 842 766 14 657 350 498 198 777 199 736 767 639 924 17 684 692 652 739 958 735 874 486 175 308 988 625 615 601 125 235 645 752 791 50 263 568 505 475 307 580 241 679 757 89 812 852 133 824 507 94 396 868 285 756 877 424 811 336 587 202 550 623 402 145 169 730 142 652 649 22 42 181 68 160 20 161 132 166 179 566 277 716 521 381 640 168 212 123 489 333 741 62 328 71 506 16 721 360 388 194 516 412 767 713 686 964 711 765 514 959 285 600 759 610 862 715 308 357 348 41 10 731 306 360 902 727 296 867 770 187 63 794 254 196 410 505 693 527 570 725 386 119 322 796 62 480 514 92 514 825 38 346 422 647 210 455 853 142 40 340 298 382 190 433 867 205 346 489 315 860 258 369 845 976 997 114 974 851 168 441 671 868 467 717 824 26 616 911 581 779 853 127 81 640 681 776 926 331 747 576 681 846 626 673 515 361 462 553 188 968 946 512 933 571 357 238 647 698 738 668 786 602 599 946 216 264 700 485 646 553 382 781 180 127 629 637 622 628 798 504 116 337 59 665 701 287 318 389 251 716 570 551 491 256 889 465 665 720 734 630 801 550 637 699 547 319 277 130 807 803 576 231 314 966 944 813 672 510 539 729 339 673 746 829 616 34 320 151 16 318 128 482 4 146 473 226 777 102 207 731 253 139 162 344 134 404 641 564 974 592 569 771 878 570 646 794 589 126 159 507 754 908 832 358 827 572 251 974 922 454 938 964 819 26 963 150 603 50 916 630 578 63 306 333 897 826 716 886 733 93 726 208 876 729 569 876 3 755 271 294 734 886 677 723 643 688 273 896 404 627 991 524 399 155 165 685 195 634 821 650 277 711 459 697 131 436 855 749 196 97 765 529 765 313 781 986 44 966 768 340 218 706 304 489 179 646 61 267 435 466 364 718 392 149 666 467 152 791 180 286 624 151 170 372 870 267 612 897 107 768 2 487 286 902 669 833 902 742 635 397 258 175 742 95 866 957 213 717 723 555 749 528 527 14 203 83 762 247 428 68 656 153 208 644 496 268 14 641 16 515 670 176 523 58 192 424 617 72 766 588 999 653 202 943 219 567 386 177 799 633 229 499 572 579 445 767 365 247 682 771 518 125 310 151 329 849 782 365 613 769 364 479 495 603 551 260 105 717 326 650 476 48 883 537 368 839 136 321 105 370 683 482 396 576 186 58 549 594 37 532 381 940 248 161 915 546 228 629 860 96 672 121 741 283 932 834 162 737 544 66 967 333 199 916 591 880 571 265 953 573 132 224 51 196 562 494 245 853 94 317 550 519 80 349 741 972 814 201 949 464 779 408 32 790 544 263 785 261 260 19 562 592 362 648 661 292 897 247 222 349 947 306 89 126 329 366 857 466 329 594 744 791 546 202 429 526 619 501 54 693 748 138 682 753 182 283 74 613 333 444 9 403 359 618 160 457 312 162 510 536 506 191 309 375 567 72 548 736 678 983 50 638 990 699 263 204 770 362 13 268 603 214 866 564 522 46 864 918 863 307 863 842 364 940 152 827 403 778 960 825 792 13 811 777 890 912 391 880 384 443 735 649 473 937 443 635 702 768 256 604 809 720 407 56 908 422 823 198 376 523 140 906 236 927 851 473 978 449 835 308 800 156 332 384 969 62 282 338 353 868 472 884 681 749 966 744 430 279 137 425 4 631 184 285 781 850 209 450 376 696 698 833 851 307 749 415 952 124 766 842 847 658 95 49 635 578 934 703 491 903 253 721 679 85 801 363 502 501 622 421 657 98 602 745 979 905 925 884 326 88 601 144 379 699 426 319 379 293 564 328 773 579 716 455 331 478 990 789 304 216 387 466 567 942 206 417 840 321 46 128 457 227 819 597 243 666 160 978 226 513 80 454 502 927 860 578 640 983 130 721 263 540 201 591 692 499 569 939 531 87 814 872 753 650 280 265 715 441 988 141 611 746 238 590 789 735 639 147 552 139 37 954 595 342 411 696 330 629 474 314 736 149 596 684 86 772 248 136 442 384 616 563 153 418 498 299 818 408 375 746 446 394 745 177 17 534 257 630 592 619 878 657 612 711 637 594 980 637 399 57 594 829 952 547 286 730 148 828 225 934 671 639 963 249 393 818 343 531 687 229 775 270 987 44 875 896 666 346 936 638 753 299 838 549 824 735 59 766 277 572 582 151 777 610 144 505 120 76 902 300 882 441 677 435 161 631 843 567 62 401 375 263 744 375 310 463 141 108 479 719 484 266 17 382 247 712 158 558 705 48 479 686 209 339 958 20 212 453 858 254 120 872 430 344 801 700 786 991 700 911 644 213 692 911 149 433 752 795 344 762 862 332 764 35 500 391 639 489 809 601 497 148 874 83 552 4 126 524 880 195 530 430 179 497 345 219 810 694 47 995 128 999 73 149 917 978 234 146 394 735 35 483 478 236 293 707 271 614 458 753 44 531 638 599 893 188 729 731 863 693 915 859 192 205 17 999 119 541 943 262 318 123 305 514 339 536 246 585 228 300 904 330 325 127 806 45 366 429 536 480 801 555 656 977 669 611 969 5 659 123 671 644 292 524 557 143 298 383 202 824 306 144 97 427 541 20 735 490 109 14 379 582 418 367 756 406 740 823 832 461 125 36 692 764 830 497 768 632 572 31 996 607 705 400 451 712 586 598 235 806 364 406 409 841 606 971 282 437 162 208 944 957 174 591 567 110 844 412 211 378 181 113 637 145 600 443 359 588 426 335 707 255 345 476 975 864 521 972 832 78 5 556 541 905 389 712 588 848 412 813 833 121 316 744 743 472 872 837 421 185 793 219 995 168 61 901 837 158 693 955 245 232 634 550 725 502 451 526 966 477 589 607 682 901 366 247 815 769 769 828 627 947 121 664 262 708 863 3 522 968 186 429 808 186 378 162 364 398 361 86 194 235 285 657 176 376 526 787 136 170 696 290 513 117 970 617 797 235 603 889 900 706 142 594 291 321 96 746 388 668 764 762 718 567 821 703 968 421 883 926 456 320 952 963 262 489 785 540 446 933 970 361 607 136 230 682 987 27 153 528 437 3 502 430 153 51 349 206 892 162 683 862 366 878 244 976 258 195 827 80 381 476 246 569 881 123 222 724 342 409 565 421 511 703 402 344 704 549 486 16 311 414 198 894 65 904 475 93 967 688 43 246 96 527 195 327 220 134 355 395 222 416 988 541 343 90 708 109 900 245 574 287 979 617 284 804 889 130 174 798 507 66 623 519 142 276 146 308 772 509 28 773 82 319 8 524 507 952 927 471 867 924 64 535 874 959 165 236 475 98 117 961 201 293 397 757 621 311 287 215 492 602 425 111 56 243 606 69 927 692 41 875 523 927 982 410 810 947 188 120 120 543 569 92 838 442 414 595 789 505 16 896 639 642 843 845 644 116 938 26 347 466 376 664 681 404 946 571 766 195 436 427 134 509 336 85 163 575 689 670 598 236 705 53 498 76 977 35 38 674 41 911 572 37 901 118 714 700 499 958 771 477 841 86 633 877 670 776 873 625 260 88 85 281 816 296 568 966 670 653 267 684 245 23 935 316 235 462 99 246 739 278 652 240 367 542 525 150 246 563 422 937 236 57 994 430 472 188 202 636 778 684 756 912 605 461 769 534 646 508 56 963 305 767 618 686 769 684 750 1 567 173 333 896 805 330 821 987 638 805 127 644 74 899 12 444 434 269 449 147 181 35 542 321 320 105 163 815 289 546 537 208 691 754 345 54 116 804 780 694 512 744 941 423 795 936 147 702 8 327 865 42 141 761 189 658 273 214 545 668 259 219 322 455 782 551 512 646 526 127 710 932 169 615 729 55 482 381 571 98 930 362 721 296 645 684 804 701 257 529 731 711 683 225 575 423 918 23 492 917 271 217 5 293 537 733 595 105 741 433 932 31 259 920 303 691 396 363 580 863 427 474 576 703 175 246 529 280 209 641 412 319 530 890 726 382 779 433 284 147 323 860 703 766 292 427 768 606 666 736 638 384 264 97 398 574 564 627 455 678 442 618 432 28 687 343 466 101 304 594 5 402 43 474 498 552 476 243 113 538 938 102 498 829 44 470 208 449 197 352 286 425 503 600 241 531 209 490 615 758 363 518 783 258 886 636 579 386 960 821 678 547 784 481 843 238 476 256 6 2 973 233 331 144 822 410 545 872 558 546 49 1 388 106 384 557 457 387 699 460 592 809 571 388 942 111 651 756 647 860 518 794 722 894 731 324 881 256 429 197 383 226 239 685 489 51 339 746 402 745 756 608 434 220 452 629 773 631 798 296 137 537 942 704 260 820 565 673 745 666 110 411 406 721 44 522 531 777 394 494 807 835 66 36 362 38 113 290 975 141 124 953 38 663 51 507 677 316 514 115 360 956 194 865 642 677 111 682 868 889 173 507 339 270 546 318 279 115 177 803 915 913 139 107 187 925 995 943 467 471 233 433 321 977 689 358 961 544 479 788 450 403 438 868 155 740 583 251 384 163 220 215 732 43 519 253 323 234 481 314 873 298 284 975 574 480 690 357 181 86 292 627 695 817 908 950 302 137 865 553 991 507 660 645 933 752 819 831 437 189 346 144 283 738 108 491 429 91 209 688 289 24 138 676 604 82 670 585 204 78 439 403 81 674 548 65 476 475 904 502 542 873 723 506 909 628 337 918 227 277 929 208 324 255 125 477 415 30 618 981 24 546 588 38 694 876 102 663 628 262 927 419 277 964 160 523 632 424 250 582 452 773 68 466 162 225 913 64 463 486 95 612 350 264 427 723 184 872 868 376 701 441 318 509 506 286 58 528 448 513 166 533 92 169 552 414 298 85 320 663 883 192 664 572 433 12 738 538 330 943 94 398 814 754 273 195 682 980 461 544 282 558 554 788 117 660 336 326 337 465 184 829 352 180 988 130 707 122 854 295 141 943 444 176 14 4 473 514 11 603 525 10 892 22 700 427 400 673 470 411 288 583 448 431 582 466 752 501 722 530 104 509 673 464 727 112 677 567 614 716 677 9 561 620 976 603 324 965 87 215 738 844 206 128 637 91 727 427 625 343 624 639 770 757 859 691 710 278 140 634 405 798 561 356 903 78 54 748 890 858 870 310 821 723 983 385 489 431 776 261 962 834 527 752 798 945 282 802 788 288 73 899 228 689 667 74 995 691 603 656 320 652 841 63 62 176 797 83 736 788 20 558 775 454 275 858 544 792 353 95 494 939 694 126 964 408 388 65 952 229 368 992 408 180 481 618 347 793 860 4 641 49 296 895 901 294 563 24 434 159 368 911 593 380 864 492 637 378 275 614 383 295 246 326 514 373 617 382 409 214 294 263 802 419 820 909 683 136 452 290 860 558 491 789 235 334 116 508 41 721 691 303 14 176 77 217 281 289 231 337 237 348 400 206 382 317 684 33 187 667 467 434 77 534 588 846 905 483 871 810 422 10 724 260 181 155 259 189 223 860 544 271 706 576 109 431 554 904 486 465 65 317 535 837 365 126 496 700 349 642 252 496 750 706 505 956 978 875 845 953 89 138 259 805 787 793 322 59 739 128 790 957 389 126 232 160 391 807 909 454 814 762 532 358 272 81 718 554 482 413 655 185 141 894 734 96 739 583 204 372 587 314 772 402 496 292 798 187 543 516 824 922 409 146 140 408 922 840 50 373 244 355 476 321 365 181 219 601 842 642 426 426 889 482 828 584 589 698 588 835 97 287 759 769 768 858 520 481 947 517 219 266 101 400 110 65 448 920 310 431 926 318 23 388 698 374 45 753 406 421 68 374 203 268 623 345 586 611 344 678 32 542 830 187 487 916 456 211 905 567 760 36 585 327 380 425 793 405 604 432 630 267 804 307 366 678 716 108 437 316 22 441 214 160 329 364 149 726 82 76 896 857 361 298 796 294 652 406 409 855 123 704 430 461 744 909 130 88 847 910 968 499 898 952 662 458 83 335 589 395 863 481 361 829 217 305 822 306 635 664 212 610 271 203 675 95 409 236 337 408 517 749 357 294 646 214 322 457 181 157 649 391 73 756 258 84 201 312 11 660 14 560 128 491 96 676 507 570 302 944 54 25 48 296 313 916 351 932 496 355 437 198 217 826 627 370 312 259 193 293 718 654 142 459 647 233 336 90 81 360 232 168 23 144 442 523 662 151 952 260 444 963 489 302 934 249 687 523 698 672 494 462 461 198 649 540 410 269 539 515 839 76 494 81 514 571 496 438 216 557 279 215 690 581 362 667 318 229 53 427 590 52 510 61 485 168 596 451 960 61 155 475 32 291 933 57 182 458 702 818 740 29 821 896 716 738 842 614 701 398 466 502 739 612 737 297 349 887 262 303 886 404 302 428 668 758 600 674 815 379 44 395 225 673 341 476 516 403 384 392 168 134 907 562 511 555 406 413 818 737 773 745 588 545 323 27 639 555 571 802 326 712 513 729 310 664 810 468 804 509 79 438 418 680 403 314 600 470 186 678 12 302 381 921 380 946 932 104 725 596 113 950 471 11 478 291 520 535 519 574 113 668 862 541 617 606 173 314 960 141 857 837 154 926 933 161 137 255 86 277 794 117 308 664 305 588 321 329 554 961 22 181 433 604 132 655 546 431 553 187 373 797 526 674 563 122 203 352 613 626 780 196 549 253 191 547 746 15 412 193 523 391 281 537 657 90 99 658 892 737 646 503 717 663 693 205 50 700 409 662 465 896 15 865 901 661 508 664 192 770 36 898 980 638 809 301 307 626 724 803 839 851 514 256 521 225 170 678 217 789 735 289 904 501 745 719 896 434 575 819 850 977 607 691 590 28 840 476 623 647 167 890 740 708 465 674 219 753 127 674 370 149 657 189 802 476 455 734 376 37 988 149 947 966 168 921 20 311 798 911 338 768 467 681 102 554 488 747 178 608 747 507 690 372 490 197 22 974 389 717 173 396 734 881 363 560 889 821 721 54 963 164 836 833 135 687 910 204 995 188 188 623 865 877 495 264 335 316 399 593 234 300 655 418 169 471 551 86 444 381 226 820 461 304 38 90 334 845 471 47 449 124 218 694 134 547 270 31 551 434 195 750 774 171 789 877 92 222 843 153 340 758 184 326 252 239 372 651 915 540 740 369 10 828 998 547 814 903 348 491 364 548 549 612 267 429 170 705 978 231 210 917 339 866 432 133 494 983 409 450 567 465 246 744 885 684 717 876 790 183 11 138 984 740 311 686 528 843 757 343 712 31 752 940 17 254 106 11 956 974 495 572 789 440 496 763 183 254 25 152 559 980 146 573 585 200 456 938 371 716 716 228 742 679 205 167 988 81 223 806 509 421 192 544 485 828 112 205 502 45 133 555 155 134 784 179 196 625 81 18 589 165 187 754 63 341 774 197 266 913 229 306 680 509 317 787 976 260 535 661 228 518 289 398 700 173 398 645 170 370 283 574 346 446 422 511 42 275 305 482 118 698 869 338 616 897 334 520 229 461 570 136 84 336 245 531 242 157 646 786 356 372 841 124 701 67 294 481 880 626 155 951 361 365 273 946 555 163 93 163 11 515 582 168 495 128 732 752 489 685 558 529 788 341 820 489 73 941 118 684 188 545 680 64 923 188 639 859 445 656 985 606 769 169 9 931 310 472 205 177 472 702 72 27 490 977 472 914 972 495 837 417 333 437 505 440 947 881 490 379 998 906 371 789 763 604 804 200 250 622 969 778 445 924 844 925 78 346 843 440 409 228 396 73 902 717 759 75 511 720 172 435 427 155 938 75 920 213 49 895 187 122 33 211 216 875 709 169 644 534 47 243 546 942 591 200 874 790 870 667 478 797 475 900 250 92 442 709 386 505 856 70 747 595 390 854 740 333 267 730 576 421 336 872 428 352 884 676 20 119 686 6 126 171 145 6 548 140 296 406 627 276 546 653 329 232 356 811 203 648 757 762 656 117 717 71 718 17 608 965 859 794 707 870 536 251 549 245 259 814 314 498 510 247 885 287 649 339 312 690 839 518 589 691 875 327 549 852 692 421 764 399 841 938 617 683 73 682 838 903 513 155 700 266 529 492 436 501 209 572 177 405 185 70 407 98 183 151 184 144 4 719 387 261 642 391 259 283 336 371 946 902 810 751 714 509 251 124 194 440 928 357 256 921 241 599 725 694 141 219 281 864 650 757 979 515 678 735 553 766 397 771 749 360 273 414 543 92 185 692 365 480 246 153 416 246 527 431 831 387 385 991 610 849 42 761 473 507 268 863 467 797 777 614 567 810 153 384 43 459 656 78 14 884 328 89 565 340 99 315 431 403 169 687 408 451 365 7 706 807 561 324 769 821 645 257 467 90 654 617 230 859 466 309 363 691 903 656 499 165 880 548 966 474 64 640 851 817 585 967 754 340 699 880 253 575 32 783 349 971 748 532 972 132 312 789 673 254 152 769 90 643 485 483 3 228 254 423 281 282 418 279 536 891 566 876 988 753 959 569 629 379 773 194 468 866 690 307 128 813 568 374 798 387 873 980 363 555 337 750 620 565 783 190 780 32 746 716 222 594 319 50 443 498 212 408 106 552 95 96 465 866 143 216 903 570 209 371 73 136 163 579 290 400 836 640 252 190 81 864 684 657 892 405 876 982 722 499 926 567 764 62 383 573 458 111 337 947 381 366 568 883 323 560 942 136 297 103 324 576