You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
advent-of-code/2016/ruby/day_03.rb

2017 lines
32 KiB

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