Added day 4.
This commit is contained in:
parent
4020feb344
commit
702dce7866
|
@ -1,10 +1,7 @@
|
|||
import std.stdio;
|
||||
|
||||
import day1.part1;
|
||||
import day1.part2;
|
||||
import day2.part1and2;
|
||||
import day3.part1;
|
||||
import day4.part1and2;
|
||||
|
||||
void main() {
|
||||
binaryDiagnostic2();
|
||||
bingo();
|
||||
}
|
||||
|
|
|
@ -0,0 +1,601 @@
|
|||
13,47,64,52,60,69,80,85,57,1,2,6,30,81,86,40,27,26,97,77,70,92,43,94,8,78,3,88,93,17,55,49,32,59,51,28,33,41,83,67,11,91,53,36,96,7,34,79,98,72,39,56,31,75,82,62,99,66,29,58,9,50,54,12,45,68,4,46,38,21,24,18,44,48,16,61,19,0,90,35,65,37,73,20,22,89,42,23,15,87,74,10,71,25,14,76,84,5,63,95
|
||||
|
||||
88 67 20 19 15
|
||||
22 76 86 44 73
|
||||
7 42 6 69 25
|
||||
12 68 92 21 75
|
||||
97 45 13 52 70
|
||||
|
||||
75 98 24 18 77
|
||||
17 93 46 49 13
|
||||
92 56 97 57 66
|
||||
44 0 65 54 74
|
||||
23 6 53 42 20
|
||||
|
||||
92 94 9 27 41
|
||||
73 28 62 90 40
|
||||
78 3 12 37 32
|
||||
8 86 91 16 30
|
||||
84 38 68 11 19
|
||||
|
||||
51 5 12 76 97
|
||||
72 31 15 61 71
|
||||
38 32 55 87 10
|
||||
91 4 85 84 53
|
||||
59 79 28 69 23
|
||||
|
||||
35 48 10 81 60
|
||||
25 86 24 43 15
|
||||
44 55 12 54 62
|
||||
94 89 95 2 23
|
||||
64 63 45 50 66
|
||||
|
||||
80 87 49 88 39
|
||||
33 81 95 68 55
|
||||
83 46 36 41 54
|
||||
90 74 3 52 7
|
||||
71 40 35 8 77
|
||||
|
||||
34 21 24 8 97
|
||||
99 23 94 70 9
|
||||
14 98 2 11 10
|
||||
16 38 92 13 35
|
||||
82 25 76 42 39
|
||||
|
||||
52 76 98 25 3
|
||||
24 41 13 39 56
|
||||
11 72 77 47 86
|
||||
50 32 26 88 48
|
||||
18 99 22 78 58
|
||||
|
||||
22 24 53 84 80
|
||||
26 97 42 95 11
|
||||
1 59 81 7 35
|
||||
47 14 40 63 30
|
||||
37 31 10 50 43
|
||||
|
||||
26 86 85 69 45
|
||||
81 43 96 12 42
|
||||
7 36 5 28 95
|
||||
55 90 54 4 46
|
||||
52 30 79 59 87
|
||||
|
||||
76 87 62 13 38
|
||||
40 44 75 2 37
|
||||
51 22 58 84 57
|
||||
1 29 82 67 35
|
||||
39 20 31 77 32
|
||||
|
||||
53 62 61 26 95
|
||||
78 44 9 5 97
|
||||
83 11 18 69 2
|
||||
94 66 8 14 27
|
||||
1 6 7 73 76
|
||||
|
||||
87 34 62 93 43
|
||||
49 20 63 29 22
|
||||
30 94 11 5 69
|
||||
74 9 89 41 37
|
||||
98 38 72 13 97
|
||||
|
||||
69 39 15 59 14
|
||||
42 84 56 23 1
|
||||
99 16 62 83 89
|
||||
32 36 33 24 3
|
||||
22 31 55 10 13
|
||||
|
||||
22 44 75 3 17
|
||||
51 79 37 59 19
|
||||
98 4 86 35 34
|
||||
36 20 85 5 23
|
||||
62 92 43 7 90
|
||||
|
||||
3 68 95 51 71
|
||||
20 62 47 4 30
|
||||
60 91 27 86 73
|
||||
14 76 66 97 85
|
||||
79 65 8 11 36
|
||||
|
||||
38 63 1 64 14
|
||||
10 52 17 90 98
|
||||
28 61 29 20 55
|
||||
49 58 43 3 7
|
||||
88 81 67 32 68
|
||||
|
||||
63 65 15 61 57
|
||||
47 94 6 14 49
|
||||
42 3 83 96 31
|
||||
23 77 1 70 18
|
||||
45 36 64 48 35
|
||||
|
||||
8 92 88 32 95
|
||||
26 41 34 11 48
|
||||
81 35 36 62 28
|
||||
64 33 52 97 82
|
||||
7 37 78 0 86
|
||||
|
||||
75 64 84 80 60
|
||||
17 5 55 95 70
|
||||
0 90 68 53 93
|
||||
8 50 38 9 65
|
||||
97 35 26 30 6
|
||||
|
||||
76 87 36 5 74
|
||||
79 94 82 48 20
|
||||
24 88 90 62 45
|
||||
9 40 78 22 68
|
||||
73 71 35 42 66
|
||||
|
||||
52 11 17 9 72
|
||||
45 13 90 0 80
|
||||
93 77 37 51 96
|
||||
3 68 94 61 1
|
||||
26 78 12 29 66
|
||||
|
||||
49 14 74 11 48
|
||||
73 58 54 3 40
|
||||
90 38 62 18 26
|
||||
53 93 19 41 94
|
||||
35 63 7 80 68
|
||||
|
||||
13 19 92 38 1
|
||||
63 69 4 99 36
|
||||
53 57 54 21 80
|
||||
97 17 2 44 29
|
||||
0 3 89 45 58
|
||||
|
||||
9 26 45 57 67
|
||||
72 10 59 79 88
|
||||
32 2 87 42 60
|
||||
62 98 1 93 28
|
||||
24 99 41 44 29
|
||||
|
||||
57 60 54 36 84
|
||||
28 5 32 66 77
|
||||
13 19 42 39 37
|
||||
56 89 74 50 55
|
||||
8 71 78 0 80
|
||||
|
||||
62 38 24 44 4
|
||||
17 8 70 77 86
|
||||
98 6 9 88 23
|
||||
85 63 78 60 72
|
||||
71 48 36 69 81
|
||||
|
||||
84 19 8 20 17
|
||||
40 88 33 52 81
|
||||
29 83 11 36 92
|
||||
66 6 73 32 82
|
||||
44 39 26 60 63
|
||||
|
||||
13 73 45 32 42
|
||||
69 20 83 8 84
|
||||
82 61 11 89 25
|
||||
6 92 99 52 57
|
||||
88 22 46 26 86
|
||||
|
||||
74 65 17 64 94
|
||||
19 34 40 69 80
|
||||
43 83 45 77 87
|
||||
41 49 13 51 89
|
||||
91 72 54 1 60
|
||||
|
||||
38 10 16 51 46
|
||||
80 60 64 62 70
|
||||
89 71 58 49 39
|
||||
37 5 35 88 40
|
||||
93 72 98 42 13
|
||||
|
||||
9 47 91 69 68
|
||||
27 1 49 60 13
|
||||
6 17 95 59 35
|
||||
26 14 75 57 11
|
||||
15 18 19 46 74
|
||||
|
||||
88 66 25 89 6
|
||||
63 4 56 73 8
|
||||
57 0 51 5 36
|
||||
68 96 84 67 53
|
||||
49 82 7 32 9
|
||||
|
||||
81 75 92 1 62
|
||||
0 96 27 63 46
|
||||
76 31 93 67 12
|
||||
74 78 59 5 60
|
||||
69 33 25 94 43
|
||||
|
||||
40 72 79 58 22
|
||||
16 24 99 96 44
|
||||
69 4 87 90 26
|
||||
34 43 56 15 35
|
||||
63 88 89 52 54
|
||||
|
||||
43 7 44 31 24
|
||||
71 18 84 17 64
|
||||
8 47 93 85 36
|
||||
72 29 22 67 74
|
||||
69 41 58 98 61
|
||||
|
||||
55 21 72 14 3
|
||||
75 12 69 91 54
|
||||
80 40 78 39 4
|
||||
44 88 84 76 25
|
||||
96 57 49 52 28
|
||||
|
||||
54 74 32 40 64
|
||||
5 94 71 80 22
|
||||
82 92 79 93 16
|
||||
53 33 98 85 14
|
||||
29 49 9 47 12
|
||||
|
||||
98 67 8 10 6
|
||||
58 13 77 99 81
|
||||
5 55 21 19 1
|
||||
0 26 44 70 93
|
||||
41 96 31 91 27
|
||||
|
||||
50 28 48 13 18
|
||||
96 43 25 2 78
|
||||
88 60 0 16 73
|
||||
12 32 15 68 22
|
||||
95 74 10 80 21
|
||||
|
||||
18 49 85 55 21
|
||||
11 68 80 59 41
|
||||
56 94 14 62 60
|
||||
32 20 40 6 2
|
||||
42 66 98 71 17
|
||||
|
||||
13 38 1 63 82
|
||||
33 55 54 53 92
|
||||
36 20 39 84 83
|
||||
67 43 70 73 75
|
||||
94 77 76 29 16
|
||||
|
||||
82 27 25 18 86
|
||||
73 3 36 28 1
|
||||
11 96 40 23 93
|
||||
58 90 88 35 64
|
||||
9 38 69 8 43
|
||||
|
||||
87 90 16 56 67
|
||||
41 75 89 1 80
|
||||
22 62 5 45 69
|
||||
28 36 19 96 71
|
||||
26 63 88 76 31
|
||||
|
||||
68 80 83 95 20
|
||||
75 0 16 38 21
|
||||
34 89 87 36 14
|
||||
94 47 53 73 71
|
||||
63 8 61 96 50
|
||||
|
||||
81 23 6 14 26
|
||||
86 42 82 95 85
|
||||
77 52 38 2 33
|
||||
69 98 54 37 4
|
||||
78 39 3 75 80
|
||||
|
||||
92 99 93 28 44
|
||||
5 8 67 45 10
|
||||
61 79 63 85 81
|
||||
2 87 76 68 18
|
||||
69 52 22 16 12
|
||||
|
||||
95 50 21 82 60
|
||||
5 8 6 28 26
|
||||
52 3 38 70 74
|
||||
75 0 53 51 44
|
||||
10 30 34 47 71
|
||||
|
||||
71 44 65 48 51
|
||||
78 57 75 6 86
|
||||
95 58 66 12 92
|
||||
22 61 68 88 50
|
||||
4 36 45 28 54
|
||||
|
||||
37 17 5 2 52
|
||||
57 47 4 53 39
|
||||
11 72 66 81 46
|
||||
27 0 67 40 83
|
||||
98 19 10 35 84
|
||||
|
||||
43 59 30 72 17
|
||||
66 50 12 84 65
|
||||
49 60 14 1 29
|
||||
89 75 62 82 47
|
||||
33 5 9 58 45
|
||||
|
||||
14 9 3 47 74
|
||||
69 29 57 62 22
|
||||
4 90 40 64 15
|
||||
21 27 30 2 63
|
||||
97 96 99 55 41
|
||||
|
||||
75 73 3 59 80
|
||||
65 34 52 20 72
|
||||
50 84 81 69 41
|
||||
97 77 19 85 39
|
||||
88 46 15 35 87
|
||||
|
||||
96 42 74 38 78
|
||||
58 73 67 70 10
|
||||
62 8 82 64 16
|
||||
65 25 13 3 89
|
||||
40 30 53 95 51
|
||||
|
||||
7 16 92 88 38
|
||||
14 52 46 93 64
|
||||
49 48 8 76 51
|
||||
97 67 89 75 19
|
||||
69 9 29 43 82
|
||||
|
||||
81 51 24 57 9
|
||||
46 43 77 11 35
|
||||
83 5 14 25 84
|
||||
70 99 47 37 16
|
||||
3 39 75 97 80
|
||||
|
||||
18 74 64 6 94
|
||||
12 59 46 48 31
|
||||
73 77 33 1 39
|
||||
0 69 10 24 56
|
||||
83 66 5 76 58
|
||||
|
||||
40 48 72 65 2
|
||||
19 28 93 53 44
|
||||
75 85 42 68 66
|
||||
99 49 55 31 41
|
||||
94 35 78 13 61
|
||||
|
||||
4 20 54 33 21
|
||||
50 61 17 53 64
|
||||
69 30 24 90 95
|
||||
82 51 39 52 67
|
||||
43 73 44 62 83
|
||||
|
||||
31 32 63 42 60
|
||||
39 41 28 51 53
|
||||
15 20 24 54 5
|
||||
9 65 70 57 99
|
||||
50 29 35 4 47
|
||||
|
||||
40 99 95 72 35
|
||||
10 14 52 83 19
|
||||
5 51 87 49 16
|
||||
60 66 13 63 93
|
||||
68 57 31 6 78
|
||||
|
||||
58 96 49 87 28
|
||||
95 50 54 53 52
|
||||
24 16 64 9 5
|
||||
7 63 8 4 17
|
||||
59 98 3 31 25
|
||||
|
||||
31 83 61 58 93
|
||||
94 52 97 30 98
|
||||
99 2 13 66 73
|
||||
69 71 68 40 19
|
||||
74 84 45 25 77
|
||||
|
||||
58 85 45 64 74
|
||||
18 88 91 53 2
|
||||
93 0 92 55 39
|
||||
75 49 87 80 4
|
||||
89 97 57 14 54
|
||||
|
||||
20 92 64 50 25
|
||||
52 90 80 31 38
|
||||
55 54 10 76 21
|
||||
95 97 4 77 19
|
||||
30 26 12 39 11
|
||||
|
||||
71 10 84 68 77
|
||||
48 82 69 75 3
|
||||
93 24 16 42 60
|
||||
15 62 76 36 20
|
||||
21 18 94 22 45
|
||||
|
||||
10 91 66 56 75
|
||||
6 8 45 59 83
|
||||
52 93 48 81 87
|
||||
99 78 43 64 84
|
||||
21 12 61 71 9
|
||||
|
||||
98 77 95 63 15
|
||||
30 14 39 12 20
|
||||
13 32 27 0 5
|
||||
86 80 51 40 99
|
||||
68 44 26 29 91
|
||||
|
||||
92 79 49 44 33
|
||||
88 4 34 3 90
|
||||
51 46 31 50 47
|
||||
61 11 94 6 24
|
||||
72 18 98 65 57
|
||||
|
||||
88 94 93 11 33
|
||||
75 77 53 54 51
|
||||
97 15 89 38 76
|
||||
47 64 55 22 0
|
||||
40 56 34 19 3
|
||||
|
||||
36 55 51 86 91
|
||||
49 21 78 6 58
|
||||
90 1 88 45 33
|
||||
37 69 75 41 50
|
||||
81 24 34 38 93
|
||||
|
||||
21 73 99 50 65
|
||||
72 77 86 7 68
|
||||
24 63 71 26 25
|
||||
9 12 29 93 87
|
||||
81 23 22 94 67
|
||||
|
||||
37 47 66 89 73
|
||||
49 23 79 31 86
|
||||
58 52 21 39 15
|
||||
60 38 82 50 36
|
||||
74 30 25 35 99
|
||||
|
||||
6 18 53 36 87
|
||||
3 59 50 2 75
|
||||
69 61 57 19 63
|
||||
44 77 42 22 7
|
||||
89 29 45 35 71
|
||||
|
||||
28 26 53 47 21
|
||||
31 71 27 58 85
|
||||
10 20 74 59 42
|
||||
89 44 12 91 54
|
||||
32 87 36 22 7
|
||||
|
||||
62 17 61 75 51
|
||||
44 60 37 14 76
|
||||
96 0 1 52 5
|
||||
57 42 97 66 90
|
||||
12 23 50 98 25
|
||||
|
||||
42 30 86 89 66
|
||||
41 98 39 29 23
|
||||
75 73 20 79 90
|
||||
38 60 45 16 18
|
||||
17 10 47 5 13
|
||||
|
||||
4 10 26 74 38
|
||||
66 84 60 23 57
|
||||
30 59 58 2 49
|
||||
83 82 70 64 43
|
||||
71 31 35 90 0
|
||||
|
||||
27 99 33 56 3
|
||||
41 97 1 68 88
|
||||
43 63 81 89 22
|
||||
30 32 59 64 12
|
||||
84 58 10 39 76
|
||||
|
||||
98 16 75 27 57
|
||||
0 9 3 79 50
|
||||
5 34 93 6 21
|
||||
52 70 87 31 49
|
||||
58 46 24 20 45
|
||||
|
||||
78 24 19 13 30
|
||||
83 59 79 37 72
|
||||
84 81 99 17 77
|
||||
10 93 3 33 70
|
||||
29 35 49 6 5
|
||||
|
||||
47 6 82 94 53
|
||||
83 19 25 54 64
|
||||
9 56 39 31 96
|
||||
1 81 66 41 5
|
||||
55 48 43 12 14
|
||||
|
||||
47 55 86 31 17
|
||||
89 45 65 34 56
|
||||
99 88 18 97 3
|
||||
52 21 14 68 13
|
||||
9 26 22 7 32
|
||||
|
||||
75 27 62 19 72
|
||||
20 49 7 21 85
|
||||
53 46 1 59 99
|
||||
61 71 87 24 83
|
||||
5 77 41 51 73
|
||||
|
||||
57 59 82 77 52
|
||||
99 49 81 37 54
|
||||
70 89 23 20 90
|
||||
31 1 21 98 66
|
||||
86 35 46 36 18
|
||||
|
||||
37 39 70 76 27
|
||||
68 84 25 1 33
|
||||
50 82 77 20 44
|
||||
18 11 51 62 54
|
||||
80 67 35 89 30
|
||||
|
||||
85 96 1 3 73
|
||||
25 47 10 46 98
|
||||
2 33 91 71 35
|
||||
0 32 11 55 67
|
||||
14 81 17 5 94
|
||||
|
||||
68 84 46 43 81
|
||||
42 35 48 89 30
|
||||
4 17 65 77 6
|
||||
49 97 85 12 66
|
||||
75 25 13 90 51
|
||||
|
||||
94 42 46 58 56
|
||||
97 50 86 84 15
|
||||
52 9 28 32 59
|
||||
26 96 91 57 83
|
||||
29 99 18 31 43
|
||||
|
||||
2 19 31 10 32
|
||||
81 16 50 59 7
|
||||
76 30 63 44 95
|
||||
82 54 61 75 36
|
||||
85 78 12 67 9
|
||||
|
||||
92 1 72 27 37
|
||||
22 13 91 4 34
|
||||
53 82 76 70 19
|
||||
99 38 59 33 52
|
||||
0 61 36 67 75
|
||||
|
||||
94 41 5 57 1
|
||||
37 36 99 34 47
|
||||
40 93 62 32 76
|
||||
61 75 48 42 73
|
||||
35 69 54 13 50
|
||||
|
||||
76 12 51 11 74
|
||||
30 83 73 33 78
|
||||
95 77 15 14 80
|
||||
86 37 91 50 10
|
||||
52 67 3 60 17
|
||||
|
||||
68 7 42 81 15
|
||||
46 58 9 31 18
|
||||
91 1 28 34 37
|
||||
17 57 6 2 70
|
||||
97 54 20 27 44
|
||||
|
||||
44 80 45 28 14
|
||||
94 47 29 50 54
|
||||
64 67 96 95 93
|
||||
76 36 82 39 43
|
||||
30 55 97 3 2
|
||||
|
||||
43 2 15 99 34
|
||||
97 75 26 9 67
|
||||
30 63 74 12 82
|
||||
18 6 49 48 55
|
||||
47 36 41 56 83
|
||||
|
||||
26 70 87 80 89
|
||||
17 50 61 21 96
|
||||
43 83 85 46 64
|
||||
66 75 23 47 69
|
||||
22 72 55 52 8
|
||||
|
||||
67 54 11 29 42
|
||||
16 45 56 86 66
|
||||
4 80 43 72 91
|
||||
90 87 63 39 50
|
||||
32 6 59 27 89
|
||||
|
||||
14 92 78 47 59
|
||||
98 0 63 85 31
|
||||
52 8 84 70 91
|
||||
43 3 76 65 57
|
||||
87 22 99 94 58
|
||||
|
||||
26 53 58 52 1
|
||||
82 57 32 40 20
|
||||
72 21 74 46 43
|
||||
41 15 98 2 11
|
||||
5 96 22 18 55
|
|
@ -0,0 +1,109 @@
|
|||
module day4.part1and2;
|
||||
|
||||
import std.file;
|
||||
import std.stdio;
|
||||
import std.traits;
|
||||
import std.algorithm;
|
||||
import std.conv;
|
||||
import std.array;
|
||||
import std.string;
|
||||
import std.format;
|
||||
import std.range;
|
||||
|
||||
struct BingoBoard {
|
||||
uint[][] board = new uint[5][5];
|
||||
bool[][] marks = new bool[5][5];
|
||||
|
||||
this(string s) {
|
||||
auto rows = s.strip().split("\n");
|
||||
foreach (i, row; rows) {
|
||||
auto br = board[i];
|
||||
formattedRead(row.strip(), "%d %d %d %d %d", br[0], br[1], br[2], br[3], br[4]);
|
||||
}
|
||||
}
|
||||
|
||||
void mark(uint value) {
|
||||
foreach (r, row; board) {
|
||||
foreach (c, col; row) {
|
||||
if (col == value) marks[r][c] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
uint sumUnmarked() {
|
||||
uint sum = 0;
|
||||
foreach (r, row; board) {
|
||||
foreach (c, col; row) {
|
||||
if (!marks[r][c]) sum += col;
|
||||
}
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
bool isWinner() {
|
||||
foreach (r; 0..5) {
|
||||
bool rowMarked = true;
|
||||
foreach (c; 0..5) {
|
||||
if (!marks[r][c]) {
|
||||
rowMarked = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (rowMarked) return true;
|
||||
}
|
||||
foreach (c; 0..5) {
|
||||
bool colMarked = true;
|
||||
foreach (r; 0..5) {
|
||||
if (!marks[r][c]) {
|
||||
colMarked = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (colMarked) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public string toString() const {
|
||||
string s = "";
|
||||
foreach (r, row; board) {
|
||||
foreach (c, col; row) {
|
||||
s ~= format("%02d", col) ~ (marks[r][c] ? "*" : "-");
|
||||
if (c < 4) s ~= " ";
|
||||
}
|
||||
s ~= "\n";
|
||||
}
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
uint[] readSeparatedInts(S)(S str, string separator) if (isSomeString!S) {
|
||||
return str.strip().split(separator).map!(s => to!uint(s)).array;
|
||||
}
|
||||
|
||||
void bingo() {
|
||||
auto f = File("source/day4/input.txt", "r");
|
||||
uint[] chosenValues = readSeparatedInts(f.readln().strip(), ",");
|
||||
string boardsText;
|
||||
string line;
|
||||
while ((line = f.readln()) !is null) {
|
||||
boardsText ~= line;
|
||||
}
|
||||
BingoBoard[] boards = boardsText.split("\n\n")
|
||||
.map!(t => BingoBoard(t))
|
||||
.array;
|
||||
uint[] winIndexes = [];
|
||||
foreach (v; chosenValues) {
|
||||
foreach (idx, b; boards) {
|
||||
b.mark(v);
|
||||
if (b.isWinner() && !winIndexes.canFind(idx)) {
|
||||
winIndexes ~= cast(uint) idx;
|
||||
}
|
||||
}
|
||||
if (boards.length == winIndexes.length) {
|
||||
auto winningBoard = boards[winIndexes[winIndexes.length - 1]];
|
||||
writefln("%d", winningBoard.sumUnmarked() * v);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
7,4,9,5,11,17,23,2,0,14,21,24,10,16,13,6,15,25,12,22,18,20,8,19,3,26,1
|
||||
|
||||
22 13 17 11 0
|
||||
8 2 23 4 24
|
||||
21 9 14 16 7
|
||||
6 10 3 18 5
|
||||
1 12 20 15 19
|
||||
|
||||
3 15 0 2 22
|
||||
9 18 13 17 5
|
||||
19 8 7 25 23
|
||||
20 11 10 24 4
|
||||
14 21 16 12 6
|
||||
|
||||
14 21 17 24 4
|
||||
10 16 15 9 19
|
||||
18 8 23 26 20
|
||||
22 11 13 6 5
|
||||
2 0 12 3 7
|
||||
|
Loading…
Reference in New Issue