Skip to content

Commit 4c53fde

Browse files
committed
Adding tests for "Music scores".
1 parent 3d40b01 commit 4c53fde

17 files changed

+231
-0
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [Unreleased]
8+
### Added
9+
- Tests for "Music scores".
10+
711
## [2.6.0] - 2022-02-14
812
### Added
913
- Tests for "Roller coaster".
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace CyrilVerloop\Codingame\Training\Hard\MusicScores;
6+
7+
use CyrilVerloop\Codingame\Puzzle;
8+
9+
/**
10+
* The "Music scores" puzzle.
11+
*/
12+
class MusicScores implements Puzzle
13+
{
14+
public function execute($stdin): void
15+
{
16+
fscanf($stdin, "%d %d", $W, $H);
17+
$IMAGE = stream_get_line($stdin, 256 + 1, "\n");
18+
19+
// Write an answer using echo(). DON'T FORGET THE TRAILING \n
20+
21+
echo("AQ DH\n");
22+
}
23+
}
Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace CyrilVerloop\Codingame\Tests\Training\Expert\MusicScores;
6+
7+
use CyrilVerloop\Codingame\Tests\PuzzleTest;
8+
use CyrilVerloop\Codingame\Training\Expert\MusicScores\MusicScores;
9+
10+
/**
11+
* Tests for the "MusicScores" puzzle.
12+
*
13+
* @covers \CyrilVerloop\Codingame\Training\Expert\MusicScores\MusicScores
14+
* @group musicScores
15+
*/
16+
final class MusicScoresTest extends PuzzleTest
17+
{
18+
public function setUp(): void
19+
{
20+
$this->puzzle = new MusicScores();
21+
}
22+
23+
/**
24+
* Test that the code can be executed for "One quarter note between lines".
25+
*
26+
* @group musicScores_oneQuarterNoteBetweenLines
27+
*/
28+
public function testCanExecuteOneQuarterNoteBetweenLines(): void
29+
{
30+
$this->expectExecuteOutputAnswer(
31+
__DIR__ . '/input/01 - one quarter note between lines.txt',
32+
'AQ' . PHP_EOL
33+
);
34+
}
35+
36+
/**
37+
* Test that the code can be executed for "One quarter note on a line".
38+
*
39+
* @group musicScores_oneQuarterNoteOnALine
40+
*/
41+
public function testCanExecuteOneQuarterNoteOnALine(): void
42+
{
43+
$this->expectExecuteOutputAnswer(
44+
__DIR__ . '/input/02 - one quarter note on a line.txt',
45+
'BQ' . PHP_EOL
46+
);
47+
}
48+
49+
/**
50+
* Test that the code can be executed for "One half note between lines".
51+
*
52+
* @group musicScores_oneHalfNoteBetweenLines
53+
*/
54+
public function testCanExecuteOneHalfNoteBetweenLines(): void
55+
{
56+
$this->expectExecuteOutputAnswer(
57+
__DIR__ . '/input/03 - one half note between lines.txt',
58+
'AH' . PHP_EOL
59+
);
60+
}
61+
62+
/**
63+
* Test that the code can be executed for "One half note on a line".
64+
*
65+
* @group musicScores_oneHalfNoteOnALine
66+
*/
67+
public function testCanExecuteOneHalfNoteOnALine(): void
68+
{
69+
$this->expectExecuteOutputAnswer(
70+
__DIR__ . '/input/04 - one half note on a line.txt',
71+
'BH' . PHP_EOL
72+
);
73+
}
74+
75+
/**
76+
* Test that the code can be executed for "Only quarter notes without lower C".
77+
*
78+
* @group musicScores_onlyQuarterNotesWithoutLowerC
79+
*/
80+
public function testCanExecuteOnlyQuarterNotesWithoutLowerC(): void
81+
{
82+
$this->expectExecuteOutputAnswer(
83+
__DIR__ . '/input/05 - only quarter notes without lower C.txt',
84+
'CQ CQ CQ CQ DQ EQ CQ AQ' . PHP_EOL
85+
);
86+
}
87+
88+
/**
89+
* Test that the code can be executed for "Only half notes without lower C".
90+
*
91+
* @group musicScores_onlyHalfNotesWithoutLowerC
92+
*/
93+
public function testCanExecuteOnlyHalfNotesWithoutLowerC(): void
94+
{
95+
$this->expectExecuteOutputAnswer(
96+
__DIR__ . '/input/06 - only half notes without lower C.txt',
97+
'DH EH FH AH CH EH DH' . PHP_EOL
98+
);
99+
}
100+
101+
/**
102+
* Test that the code can be executed for "Scale half and quarter notes".
103+
*
104+
* @group musicScores_scalehalfAndQuarterNotes
105+
*/
106+
public function testCanExecuteScalehalfAndQuarterNotes(): void
107+
{
108+
$this->expectExecuteOutputAnswer(
109+
__DIR__ . '/input/07 - scale half and quarter notes.txt',
110+
'EQ FH GQ AH BQ CH DQ EH FQ' . PHP_EOL
111+
);
112+
}
113+
114+
/**
115+
* Test that the code can be executed for "Lower C".
116+
*
117+
* @group musicScores_lowerC
118+
*/
119+
public function testCanExecuteLowerC(): void
120+
{
121+
$this->expectExecuteOutputAnswer(
122+
__DIR__ . '/input/08 - lower C.txt',
123+
'CQ CQ CQ DQ EH DH CQ EQ DQ DQ CH' . PHP_EOL
124+
);
125+
}
126+
127+
/**
128+
* Test that the code can be executed for "Very close".
129+
*
130+
* @group musicScores_veryClose
131+
*/
132+
public function testCanExecuteVeryClose(): void
133+
{
134+
$this->expectExecuteOutputAnswer(
135+
__DIR__ . '/input/09 - very close.txt',
136+
'BQ CH DH EH FQ GQ GQ BQ DH BQ' . PHP_EOL
137+
);
138+
}
139+
140+
/**
141+
* Test that the code can be executed for "Only 1 pixel wide".
142+
*
143+
* @group musicScores_only1PixelWide
144+
*/
145+
public function testCanExecuteOnly1PixelWide(): void
146+
{
147+
$this->expectExecuteOutputAnswer(
148+
__DIR__ . '/input/10 - Only 1 pixel wide.txt',
149+
'BQ CH DH EH FQ GQ GQ BQ DH BQ BQ CH DH EH FQ GQ GQ BQ DH BQ' . PHP_EOL
150+
);
151+
}
152+
153+
/**
154+
* Test that the code can be executed for "Doctor Who theme".
155+
*
156+
* @group musicScores_doctorWhoTheme
157+
*/
158+
public function testCanExecuteDoctorWhoTheme(): void
159+
{
160+
$this->expectExecuteOutputAnswer(
161+
__DIR__ . '/input/11 - doctor Who theme.txt',
162+
file_get_contents(__DIR__ . '/output/11 - doctor Who theme.txt')
163+
);
164+
}
165+
166+
/**
167+
* Test that the code can be executed for "Random".
168+
*
169+
* @group musicScores_random
170+
*/
171+
public function testCanExecuteRandom(): void
172+
{
173+
$this->expectExecuteOutputAnswer(
174+
__DIR__ . '/input/12 - random.txt',
175+
file_get_contents(__DIR__ . '/output/12 - random.txt')
176+
);
177+
}
178+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
120 176
2+
W 4090 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 1040 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 58 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 80 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 58 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 66 B 10 W 4 B 2 W 103 B 12 W 3 B 2 W 101 B 16 W 1 B 2 W 101 B 16 W 1 B 2 W 100 B 20 W 99 B 21 W 99 B 21 W 98 B 22 W 98 B 22 W 98 B 22 W 98 B 22 W 98 B 22 W 98 B 22 W 98 B 22 W 99 B 20 W 100 B 20 W 101 B 18 W 103 B 16 W 104 B 16 W 106 B 12 W 63 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 2420 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 5050
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
120 176
2+
W 4090 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 80 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 58 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 80 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 104 B 10 W 4 B 2 W 103 B 12 W 3 B 2 W 101 B 16 W 1 B 2 W 101 B 16 W 1 B 2 W 100 B 20 W 99 B 21 W 99 B 21 W 98 B 22 W 58 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 60 B 22 W 98 B 22 W 99 B 20 W 100 B 20 W 101 B 18 W 103 B 16 W 104 B 16 W 106 B 12 W 109 B 10 W 1384 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 2420 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 5050
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
120 176
2+
W 4090 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 1040 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 58 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 80 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 58 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 66 B 10 W 4 B 2 W 103 B 12 W 3 B 2 W 101 B 4 W 8 B 4 W 1 B 2 W 101 B 2 W 12 B 2 W 1 B 2 W 100 B 2 W 14 B 4 W 99 B 3 W 14 B 4 W 99 B 2 W 16 B 3 W 98 B 3 W 16 B 3 W 98 B 2 W 18 B 2 W 98 B 2 W 18 B 2 W 98 B 2 W 18 B 2 W 98 B 2 W 18 B 2 W 98 B 2 W 18 B 2 W 98 B 3 W 16 B 3 W 99 B 2 W 16 B 2 W 100 B 3 W 14 B 3 W 101 B 2 W 14 B 2 W 103 B 2 W 12 B 2 W 104 B 4 W 8 B 4 W 106 B 12 W 63 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 2420 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 5050
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
120 176
2+
W 4090 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 80 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 58 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 80 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 118 B 2 W 104 B 10 W 4 B 2 W 103 B 12 W 3 B 2 W 101 B 4 W 8 B 4 W 1 B 2 W 101 B 2 W 12 B 2 W 1 B 2 W 100 B 2 W 14 B 4 W 99 B 3 W 14 B 4 W 99 B 2 W 16 B 3 W 98 B 3 W 16 B 3 W 58 B 42 W 18 B 40 W 20 B 42 W 18 B 40 W 20 B 42 W 18 B 40 W 20 B 42 W 18 B 40 W 60 B 2 W 18 B 2 W 98 B 3 W 16 B 3 W 99 B 2 W 16 B 2 W 100 B 3 W 14 B 3 W 101 B 2 W 14 B 2 W 103 B 2 W 12 B 2 W 104 B 4 W 8 B 4 W 106 B 12 W 109 B 10 W 1384 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 2420 B 100 W 20 B 100 W 20 B 100 W 20 B 100 W 5050
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
420 176
2+
W 14290 B 400 W 20 B 400 W 20 B 400 W 20 B 400 W 256 B 10 W 409 B 12 W 406 B 16 W 404 B 16 W 403 B 18 W 401 B 20 W 400 B 20 W 399 B 22 W 398 B 22 W 82 B 2 W 314 B 22 W 82 B 2 W 314 B 22 W 82 B 2 W 314 B 22 W 82 B 2 W 278 B 10 W 26 B 22 W 82 B 2 W 277 B 12 W 25 B 22 W 82 B 2 W 275 B 16 W 23 B 21 W 83 B 2 W 275 B 16 W 23 B 21 W 83 B 2 W 274 B 18 W 22 B 20 W 84 B 2 W 273 B 20 W 21 B 2 W 1 B 16 W 85 B 2 W 273 B 20 W 21 B 2 W 1 B 16 W 85 B 2 W 272 B 22 W 20 B 2 W 3 B 12 W 87 B 2 W 84 B 400 W 20 B 400 W 20 B 400 W 20 B 400 W 46 B 10 W 32 B 10 W 32 B 10 W 32 B 10 W 26 B 22 W 20 B 2 W 46 B 10 W 46 B 2 W 109 B 12 W 30 B 12 W 30 B 12 W 30 B 12 W 25 B 22 W 20 B 2 W 45 B 12 W 45 B 2 W 107 B 16 W 26 B 16 W 26 B 16 W 26 B 16 W 23 B 21 W 21 B 2 W 43 B 16 W 43 B 2 W 107 B 16 W 26 B 16 W 26 B 16 W 26 B 16 W 23 B 21 W 21 B 2 W 43 B 16 W 43 B 2 W 106 B 18 W 24 B 18 W 24 B 18 W 24 B 18 W 22 B 20 W 22 B 2 W 42 B 18 W 42 B 2 W 105 B 20 W 22 B 20 W 22 B 20 W 22 B 20 W 21 B 2 W 1 B 16 W 23 B 2 W 41 B 20 W 41 B 2 W 105 B 20 W 22 B 20 W 22 B 20 W 22 B 20 W 21 B 2 W 1 B 16 W 23 B 2 W 41 B 20 W 41 B 2 W 104 B 22 W 20 B 22 W 20 B 22 W 20 B 22 W 20 B 2 W 3 B 12 W 25 B 2 W 40 B 22 W 40 B 2 W 104 B 22 W 20 B 22 W 20 B 22 W 20 B 22 W 20 B 2 W 4 B 10 W 26 B 2 W 40 B 22 W 40 B 2 W 104 B 22 W 20 B 22 W 20 B 22 W 20 B 22 W 20 B 2 W 40 B 2 W 40 B 22 W 40 B 2 W 104 B 22 W 20 B 22 W 20 B 22 W 20 B 22 W 20 B 2 W 40 B 2 W 40 B 22 W 40 B 2 W 104 B 22 W 20 B 22 W 20 B 22 W 20 B 22 W 20 B 2 W 40 B 2 W 40 B 22 W 40 B 2 W 104 B 22 W 20 B 22 W 20 B 22 W 20 B 22 W 20 B 2 W 40 B 2 W 40 B 22 W 40 B 2 W 104 B 22 W 20 B 22 W 20 B 22 W 20 B 22 W 20 B 2 W 40 B 2 W 40 B 22 W 40 B 2 W 104 B 21 W 21 B 21 W 21 B 21 W 21 B 21 W 21 B 2 W 40 B 2 W 40 B 21 W 41 B 2 W 104 B 21 W 21 B 21 W 21 B 21 W 21 B 21 W 21 B 2 W 40 B 2 W 40 B 21 W 41 B 2 W 104 B 20 W 22 B 20 W 22 B 20 W 22 B 20 W 22 B 2 W 40 B 2 W 40 B 20 W 42 B 2 W 104 B 2 W 1 B 16 W 23 B 2 W 1 B 16 W 23 B 2 W 1 B 16 W 23 B 2 W 1 B 16 W 23 B 2 W 40 B 2 W 40 B 2 W 1 B 16 W 43 B 2 W 104 B 2 W 1 B 16 W 23 B 2 W 1 B 16 W 23 B 2 W 1 B 16 W 23 B 2 W 1 B 16 W 23 B 2 W 40 B 2 W 40 B 2 W 1 B 16 W 43 B 2 W 104 B 2 W 3 B 12 W 25 B 2 W 3 B 12 W 25 B 2 W 3 B 12 W 25 B 2 W 3 B 12 W 25 B 2 W 40 B 2 W 40 B 2 W 3 B 12 W 45 B 2 W 84 B 400 W 20 B 400 W 20 B 400 W 20 B 400 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 46 B 10 W 4 B 2 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 45 B 12 W 3 B 2 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 43 B 16 W 1 B 2 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 43 B 16 W 1 B 2 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 42 B 20 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 41 B 21 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 41 B 21 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 22 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 22 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 22 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 22 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 22 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 82 B 2 W 40 B 22 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 82 B 2 W 40 B 22 W 104 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 82 B 2 W 41 B 20 W 105 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 82 B 2 W 41 B 20 W 105 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 82 B 2 W 42 B 18 W 106 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 82 B 2 W 43 B 16 W 107 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 82 B 2 W 43 B 16 W 107 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 82 B 2 W 45 B 12 W 89 B 400 W 20 B 400 W 20 B 400 W 20 B 400 W 40 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 124 B 2 W 166 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 124 B 2 W 166 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 124 B 2 W 166 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 124 B 2 W 166 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 124 B 2 W 166 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 124 B 2 W 166 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 124 B 2 W 166 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 124 B 2 W 166 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 124 B 2 W 166 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 124 B 2 W 166 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 124 B 2 W 166 B 2 W 40 B 2 W 40 B 2 W 40 B 2 W 124 B 2 W 3506 B 400 W 20 B 400 W 20 B 400 W 20 B 400 W 17650
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
390 176
2+
W 10270 B 10 W 379 B 12 W 376 B 4 W 8 B 4 W 374 B 2 W 12 B 2 W 373 B 2 W 14 B 2 W 371 B 3 W 14 B 3 W 370 B 2 W 16 B 2 W 369 B 3 W 16 B 3 W 254 B 116 W 18 B 236 W 20 B 116 W 18 B 236 W 20 B 116 W 18 B 236 W 20 B 116 W 18 B 236 W 98 B 10 W 26 B 2 W 18 B 2 W 110 B 10 W 211 B 12 W 25 B 3 W 16 B 3 W 109 B 12 W 208 B 4 W 8 B 4 W 23 B 3 W 16 B 2 W 108 B 4 W 8 B 4 W 206 B 2 W 12 B 2 W 23 B 4 W 14 B 3 W 108 B 2 W 12 B 2 W 205 B 2 W 14 B 2 W 22 B 4 W 14 B 2 W 108 B 2 W 14 B 2 W 203 B 3 W 14 B 3 W 21 B 2 W 1 B 2 W 12 B 2 W 108 B 3 W 14 B 3 W 202 B 2 W 16 B 2 W 21 B 2 W 1 B 4 W 8 B 4 W 108 B 2 W 16 B 2 W 201 B 3 W 16 B 3 W 20 B 2 W 3 B 12 W 109 B 3 W 16 B 3 W 200 B 2 W 18 B 2 W 20 B 2 W 4 B 10 W 46 B 2 W 62 B 2 W 18 B 2 W 200 B 2 W 18 B 2 W 20 B 2 W 60 B 2 W 62 B 2 W 18 B 2 W 200 B 2 W 18 B 2 W 20 B 2 W 60 B 2 W 62 B 2 W 18 B 2 W 200 B 2 W 18 B 2 W 20 B 2 W 60 B 2 W 62 B 2 W 18 B 2 W 164 B 10 W 26 B 2 W 18 B 2 W 20 B 2 W 60 B 2 W 62 B 2 W 18 B 2 W 26 B 10 W 127 B 12 W 25 B 3 W 16 B 3 W 20 B 2 W 60 B 2 W 62 B 3 W 16 B 3 W 25 B 12 W 124 B 4 W 8 B 4 W 23 B 3 W 16 B 2 W 21 B 2 W 60 B 2 W 62 B 3 W 16 B 2 W 24 B 4 W 8 B 4 W 122 B 2 W 12 B 2 W 23 B 4 W 14 B 3 W 21 B 2 W 60 B 2 W 62 B 4 W 14 B 3 W 24 B 2 W 12 B 2 W 121 B 2 W 14 B 2 W 22 B 4 W 14 B 2 W 22 B 2 W 60 B 2 W 62 B 4 W 14 B 2 W 24 B 2 W 14 B 2 W 119 B 3 W 14 B 3 W 21 B 2 W 1 B 2 W 12 B 2 W 23 B 2 W 60 B 2 W 62 B 2 W 1 B 2 W 12 B 2 W 24 B 3 W 14 B 3 W 118 B 2 W 16 B 2 W 21 B 2 W 1 B 4 W 8 B 4 W 23 B 2 W 60 B 2 W 62 B 2 W 1 B 4 W 8 B 4 W 24 B 2 W 16 B 2 W 117 B 3 W 16 B 3 W 20 B 2 W 3 B 12 W 25 B 2 W 60 B 2 W 62 B 2 W 3 B 12 W 25 B 3 W 16 B 3 W 86 B 32 W 18 B 234 W 18 B 68 W 20 B 32 W 18 B 234 W 18 B 68 W 20 B 32 W 18 B 234 W 18 B 68 W 20 B 32 W 18 B 234 W 18 B 68 W 50 B 2 W 18 B 2 W 20 B 2 W 40 B 2 W 60 B 2 W 26 B 10 W 26 B 2 W 40 B 2 W 18 B 2 W 116 B 3 W 16 B 3 W 20 B 2 W 40 B 2 W 60 B 2 W 25 B 12 W 25 B 2 W 40 B 3 W 16 B 3 W 116 B 3 W 16 B 2 W 21 B 2 W 40 B 2 W 60 B 2 W 23 B 4 W 8 B 4 W 23 B 2 W 40 B 3 W 16 B 2 W 117 B 4 W 14 B 3 W 21 B 2 W 40 B 2 W 60 B 2 W 23 B 2 W 12 B 2 W 23 B 2 W 40 B 4 W 14 B 3 W 117 B 4 W 14 B 2 W 22 B 2 W 40 B 2 W 60 B 2 W 22 B 2 W 14 B 2 W 22 B 2 W 40 B 4 W 14 B 2 W 118 B 2 W 1 B 2 W 12 B 2 W 23 B 2 W 40 B 2 W 60 B 2 W 21 B 3 W 14 B 3 W 21 B 2 W 40 B 2 W 1 B 2 W 12 B 2 W 119 B 2 W 1 B 4 W 8 B 4 W 23 B 2 W 40 B 2 W 60 B 2 W 21 B 2 W 16 B 2 W 21 B 2 W 40 B 2 W 1 B 4 W 8 B 4 W 119 B 2 W 3 B 12 W 25 B 2 W 40 B 2 W 60 B 2 W 20 B 3 W 16 B 3 W 20 B 2 W 40 B 2 W 3 B 12 W 121 B 2 W 4 B 10 W 26 B 2 W 40 B 2 W 60 B 2 W 20 B 2 W 18 B 2 W 20 B 2 W 40 B 2 W 4 B 10 W 122 B 2 W 40 B 2 W 40 B 2 W 60 B 2 W 20 B 2 W 18 B 2 W 20 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 40 B 2 W 60 B 2 W 20 B 2 W 18 B 2 W 20 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 40 B 2 W 60 B 2 W 20 B 2 W 18 B 2 W 20 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 40 B 2 W 60 B 2 W 20 B 2 W 18 B 2 W 20 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 40 B 2 W 60 B 2 W 20 B 3 W 16 B 3 W 20 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 40 B 2 W 60 B 2 W 20 B 3 W 16 B 2 W 21 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 40 B 2 W 60 B 2 W 20 B 4 W 14 B 3 W 21 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 40 B 2 W 60 B 2 W 20 B 4 W 14 B 2 W 22 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 40 B 2 W 60 B 2 W 20 B 2 W 1 B 2 W 12 B 2 W 23 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 40 B 2 W 60 B 2 W 20 B 2 W 1 B 4 W 8 B 4 W 23 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 40 B 2 W 60 B 2 W 20 B 2 W 3 B 12 W 25 B 2 W 40 B 2 W 106 B 370 W 20 B 370 W 20 B 370 W 20 B 370 W 50 B 2 W 40 B 2 W 88 B 10 W 4 B 2 W 20 B 2 W 40 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 87 B 12 W 3 B 2 W 20 B 2 W 40 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 85 B 4 W 8 B 4 W 1 B 2 W 20 B 2 W 40 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 85 B 2 W 12 B 2 W 1 B 2 W 20 B 2 W 40 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 84 B 2 W 14 B 4 W 20 B 2 W 40 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 83 B 3 W 14 B 4 W 20 B 2 W 40 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 83 B 2 W 16 B 3 W 20 B 2 W 40 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 82 B 3 W 16 B 3 W 20 B 2 W 40 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 82 B 2 W 18 B 2 W 20 B 2 W 40 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 82 B 2 W 18 B 2 W 20 B 2 W 40 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 82 B 2 W 18 B 2 W 20 B 2 W 40 B 2 W 40 B 2 W 136 B 2 W 40 B 2 W 82 B 2 W 18 B 2 W 20 B 2 W 40 B 2 W 40 B 2 W 136 B 2 W 124 B 2 W 18 B 2 W 20 B 2 W 82 B 2 W 136 B 2 W 124 B 3 W 16 B 3 W 20 B 2 W 82 B 2 W 136 B 2 W 125 B 2 W 16 B 2 W 21 B 2 W 82 B 2 W 136 B 2 W 125 B 3 W 14 B 3 W 21 B 2 W 82 B 2 W 136 B 2 W 126 B 2 W 14 B 2 W 22 B 2 W 82 B 2 W 136 B 2 W 127 B 2 W 12 B 2 W 23 B 2 W 82 B 2 W 136 B 2 W 127 B 4 W 8 B 4 W 23 B 2 W 82 B 2 W 136 B 2 W 129 B 12 W 25 B 2 W 82 B 2 W 106 B 370 W 20 B 370 W 20 B 370 W 20 B 370 W 218 B 2 W 388 B 2 W 388 B 2 W 388 B 2 W 388 B 2 W 388 B 2 W 388 B 2 W 388 B 2 W 388 B 2 W 388 B 2 W 388 B 2 W 388 B 2 W 3310 B 370 W 20 B 370 W 20 B 370 W 20 B 370 W 16390

0 commit comments

Comments
 (0)