Initial commit - framework

This commit is contained in:
2022-11-30 17:19:53 -06:00
commit 23945154d4
39 changed files with 9161 additions and 0 deletions

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
/target
/.vs/
*.user
/bin/
/obj/
*.exe

8
GlobalSuppressions.cs Normal file
View File

@ -0,0 +1,8 @@
// This file is used by Code Analysis to maintain SuppressMessage
// attributes that are applied to this project.
// Project-level suppressions either have no target or are given
// a specific target and scoped to a namespace, type, member, etc.
using System.Diagnostics.CodeAnalysis;
[assembly: SuppressMessage("CodeQuality", "IDE0052:Remove unread private members", Justification = "<Pending>", Scope = "member", Target = "~F:aoc2022.DayTemplate.lines")]

View File

@ -0,0 +1,27 @@
{
"profiles": {
"all days": {
"commandName": "Project",
"commandLineArgs": "all"
},
"current day": {
"commandName": "Project"
},
"current day part 1": {
"commandName": "Project",
"commandLineArgs": "-part1"
},
"current day part 2": {
"commandName": "Project",
"commandLineArgs": "-part2"
},
"all days part 1": {
"commandName": "Project",
"commandLineArgs": "all -part1"
},
"all days part 2": {
"commandName": "Project",
"commandLineArgs": "all -part2"
}
}
}

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# Advent of Code 2022
My solutions to [Advent of Code 2022](https://adventofcode.com/2022).

View File

@ -0,0 +1,98 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>aoc2022</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
<EnforceCodeStyleInBuild>True</EnforceCodeStyleInBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<WarningLevel>5</WarningLevel>
<TreatWarningsAsErrors>True</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<WarningLevel>5</WarningLevel>
<TreatWarningsAsErrors>True</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<None Update="inputs\01.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\02.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\03.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\05.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\06.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\07.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\08.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\09.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\10.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\11.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\12.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\13.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\14.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\15.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\16.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\17.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\18.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\19.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\20.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\21.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\22.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\23.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\24.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="inputs\25.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

25
advent-of-code-2022.sln Normal file
View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "advent-of-code-2022", "advent-of-code-2022.csproj", "{1B54D933-507B-4F44-9BE3-F1794B593AF7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1B54D933-507B-4F44-9BE3-F1794B593AF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1B54D933-507B-4F44-9BE3-F1794B593AF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1B54D933-507B-4F44-9BE3-F1794B593AF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1B54D933-507B-4F44-9BE3-F1794B593AF7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {17D280F0-AD9F-481E-8687-28AAB4A54437}
EndGlobalSection
EndGlobal

2000
inputs/01.txt Normal file

File diff suppressed because it is too large Load Diff

1000
inputs/02.txt Normal file

File diff suppressed because it is too large Load Diff

1000
inputs/03.txt Normal file

File diff suppressed because it is too large Load Diff

601
inputs/04.txt Normal file
View File

@ -0,0 +1,601 @@
83,5,71,61,88,55,95,6,0,97,20,16,27,7,79,25,81,29,22,52,43,21,53,59,99,18,35,96,51,93,14,77,15,3,57,28,58,17,50,32,74,63,76,84,65,9,62,67,48,12,8,68,31,19,36,85,98,30,91,89,66,80,75,47,4,23,60,70,87,90,13,38,56,34,46,24,41,92,37,49,73,10,94,26,42,40,33,54,86,82,72,39,2,45,78,11,1,44,69,64
97 62 17 5 79
1 99 98 80 84
44 16 2 40 94
68 95 49 32 8
38 35 23 89 3
48 53 59 99 43
77 24 62 50 27
28 8 10 86 18
96 9 92 66 67
20 55 87 52 31
79 51 62 33 5
15 39 21 48 90
88 29 7 92 98
87 49 84 6 14
72 85 46 71 26
3 86 40 61 65
4 82 28 46 32
31 5 33 96 98
30 62 68 75 70
9 18 92 19 72
82 24 95 21 79
85 84 38 89 50
7 10 5 25 20
99 37 48 86 12
68 93 6 66 43
9 95 75 14 1
94 90 40 84 24
43 72 93 4 87
48 50 53 20 6
65 11 38 25 46
41 22 47 34 55
74 57 42 85 33
40 21 52 78 7
51 58 37 4 49
53 75 11 48 76
90 6 98 25 80
41 81 30 87 33
11 21 79 62 92
27 60 46 56 88
4 69 70 13 84
1 22 72 43 58
78 97 52 61 62
27 48 81 2 63
33 37 4 82 18
65 28 70 31 59
78 51 69 47 16
48 55 58 70 37
7 59 66 5 76
94 52 82 22 10
13 83 95 24 79
8 38 40 67 24
45 9 21 7 89
82 96 72 92 4
86 49 80 79 22
26 11 84 78 70
32 73 0 37 86
78 42 13 30 53
44 99 51 12 96
45 57 63 34 58
41 91 7 49 52
1 66 8 6 7
47 96 25 77 72
23 22 31 42 24
52 27 53 51 99
21 65 35 84 5
49 1 79 39 82
7 96 13 33 85
3 53 32 12 50
36 30 27 55 95
16 24 2 66 77
45 75 85 35 72
99 25 91 68 28
29 52 1 80 98
62 46 63 22 44
82 86 57 24 58
70 19 79 7 24
35 71 93 42 76
17 88 62 25 12
54 0 11 32 58
38 64 29 75 80
58 93 63 52 23
77 60 1 38 87
75 89 85 25 91
64 39 96 49 66
14 45 84 13 29
85 10 21 33 80
78 86 77 41 36
98 58 53 82 72
75 20 65 3 46
52 16 74 45 99
45 97 96 23 62
79 59 60 87 64
75 2 30 47 50
85 81 56 11 38
17 26 40 7 66
94 99 67 88 82
96 5 21 53 52
41 15 49 35 89
54 39 66 24 51
9 6 62 33 70
33 89 48 4 20
46 66 45 76 7
12 77 43 60 15
54 58 91 95 69
11 8 32 31 18
63 78 55 7 60
95 14 38 10 45
3 16 72 53 37
1 89 70 75 44
5 6 66 13 46
74 65 27 53 39
67 66 76 13 31
75 51 11 49 59
18 12 71 9 89
98 24 73 26 43
90 21 75 77 97
80 29 54 16 10
55 98 65 19 7
96 76 20 28 88
94 83 91 26 86
60 57 22 95 23
81 4 34 36 14
77 1 45 24 19
33 88 8 28 74
2 17 37 32 94
34 82 45 65 44
70 89 95 20 79
88 18 62 68 37
85 17 54 86 69
97 25 13 42 67
70 30 59 94 86
40 87 20 69 25
46 44 41 17 79
75 99 3 91 8
71 39 73 88 37
90 76 12 80 58
60 45 35 10 33
79 19 65 54 21
63 51 77 15 92
34 53 7 59 44
40 14 68 43 37
12 35 29 82 48
47 28 97 44 93
95 56 33 96 27
38 85 88 49 6
88 36 81 42 10
85 99 29 70 86
64 15 37 96 61
66 76 87 17 62
91 16 60 13 65
45 71 66 80 69
53 39 29 92 99
23 0 72 36 52
75 70 33 2 14
22 77 21 26 3
52 32 14 66 47
53 7 9 69 11
19 36 57 54 65
17 26 76 51 42
13 8 44 63 39
23 84 34 35 19
29 71 81 32 92
22 49 54 6 56
64 94 53 89 2
74 68 11 13 47
34 25 67 59 66
68 27 69 91 33
4 56 46 99 21
51 13 24 41 12
90 65 19 26 55
15 85 8 65 79
95 51 39 75 96
18 45 68 81 71
67 28 21 61 20
70 29 92 74 36
25 75 23 2 38
66 52 42 62 16
93 63 78 31 65
0 91 77 4 14
61 59 53 17 10
16 95 72 67 17
71 3 38 90 14
34 8 55 49 33
54 79 20 27 80
96 31 18 70 61
60 46 4 56 49
2 36 8 51 54
71 82 97 1 18
45 69 37 6 26
85 61 27 92 77
62 90 59 67 25
41 45 7 91 17
10 29 75 43 82
12 78 95 37 32
28 66 76 2 49
26 6 49 44 74
94 34 73 70 64
14 91 23 88 31
90 55 62 75 43
4 1 63 57 19
2 30 11 55 52
51 92 73 54 96
89 22 67 56 17
49 50 9 95 45
23 74 13 75 7
6 31 78 64 89
76 13 83 56 34
95 29 97 49 37
66 77 74 73 90
87 41 62 39 85
51 80 38 15 44
53 23 83 61 63
27 33 79 40 32
84 2 82 20 93
72 92 48 39 98
36 78 46 84 14
56 53 51 92 89
39 99 77 22 32
65 38 42 76 7
62 31 1 87 95
74 99 6 4 20
95 81 27 59 88
63 69 30 25 87
92 96 89 42 18
11 77 91 8 46
29 62 77 3 89
54 12 55 44 34
66 78 83 98 22
17 10 67 82 75
43 16 84 41 19
67 24 9 89 48
56 7 44 47 68
12 38 35 54 14
95 58 78 13 28
97 5 37 99 42
48 64 21 23 92
29 99 75 2 53
41 97 74 39 89
66 63 22 45 73
20 68 30 35 78
76 3 47 40 72
41 7 68 5 58
12 32 81 62 93
91 80 17 78 61
22 95 94 38 33
42 27 70 13 5
77 38 50 3 44
29 56 36 15 97
68 20 94 12 54
64 83 25 55 80
77 63 37 68 73
34 30 22 91 10
16 80 89 98 45
46 36 90 95 83
54 52 57 61 55
55 3 33 66 69
51 97 36 57 50
56 74 35 84 44
45 92 18 42 52
85 13 27 70 20
56 68 71 11 63
12 93 57 94 84
91 13 29 31 75
54 49 51 73 5
81 7 60 53 89
73 55 87 35 84
37 63 41 54 39
58 42 85 66 68
96 24 86 72 27
40 28 4 80 33
29 79 8 76 31
30 20 12 0 61
14 37 49 45 74
64 17 1 91 51
87 67 3 77 47
72 15 46 71 75
41 16 68 14 43
97 25 78 26 39
59 57 88 4 52
20 49 3 23 29
33 78 31 35 6
85 43 7 87 18
68 93 4 80 96
98 13 61 77 23
10 29 34 36 5
0 78 44 49 14
72 88 30 31 81
34 87 55 27 11
58 64 76 40 62
47 18 38 35 26
16 2 67 56 74
50 41 86 38 39
32 96 59 40 8
17 82 49 55 89
34 88 81 73 94
52 18 32 56 61
40 5 48 64 62
22 57 19 26 91
31 3 95 27 87
74 83 75 99 73
6 65 91 22 86
82 72 60 41 87
2 71 9 12 84
51 90 43 49 80
15 20 54 66 29
39 64 35 23 10
73 25 1 45 93
50 37 95 86 78
52 6 2 0 13
26 89 27 62 80
65 67 95 33 60
55 49 64 92 7
56 75 73 35 99
8 72 80 0 46
41 25 2 69 4
26 51 31 44 25
21 6 70 12 71
67 69 13 63 79
81 74 8 89 30
16 48 88 72 66
99 69 61 29 86
67 88 5 20 2
70 60 27 82 6
95 65 30 9 85
23 58 59 87 66
40 90 43 57 26
10 52 27 64 72
3 83 11 54 42
39 20 87 15 81
49 28 58 33 29
11 32 63 96 81
77 82 0 30 15
88 31 41 46 6
17 55 76 42 87
24 93 70 66 40
35 6 28 90 21
72 74 78 43 3
47 17 13 41 96
68 12 76 81 11
70 34 33 25 54
94 9 58 91 38
84 7 22 30 63
23 26 49 93 48
79 75 99 96 67
90 19 66 57 47
35 98 24 31 41
79 63 92 70 11
36 3 72 50 93
90 21 40 38 77
0 14 42 99 67
96 45 75 97 94
68 35 9 30 67
25 88 40 46 37
82 79 90 76 55
50 59 58 22 21
96 73 49 36 56
6 45 30 81 76
10 95 70 88 98
43 47 74 66 84
77 83 68 54 28
96 48 64 89 6
76 12 47 8 30
39 55 95 11 62
68 25 50 63 31
59 17 46 52 78
66 27 61 79 73
37 88 47 84 72
50 18 99 7 76
97 11 53 43 30
42 56 98 39 63
64 13 45 7 72
66 35 18 68 86
38 30 89 11 29
37 76 23 14 67
36 61 87 26 46
20 72 10 30 17
25 14 74 71 58
34 51 45 43 76
38 75 50 98 42
2 12 67 66 82
44 23 73 56 88
4 96 90 0 32
40 86 47 87 50
28 30 42 39 17
10 12 16 8 14
21 33 7 20 78
81 46 77 42 79
84 28 82 93 68
90 63 60 0 34
35 70 40 29 54
93 8 11 2 39
74 40 95 69 57
86 21 31 88 63
52 16 19 20 22
72 7 25 90 77
83 29 90 48 46
97 21 2 65 15
89 28 60 69 26
77 75 9 35 96
82 49 66 5 16
80 57 2 73 46
22 50 87 60 89
95 74 98 93 62
86 61 10 69 9
48 31 53 88 84
46 17 28 56 50
64 65 43 73 22
32 31 89 20 38
13 49 18 55 72
83 41 78 94 57
39 8 68 87 21
78 59 27 0 14
25 3 96 51 63
92 35 19 57 99
83 75 69 37 72
42 36 34 77 69
21 55 47 52 89
61 90 3 23 41
45 80 29 27 99
79 86 87 93 74
59 8 97 48 73
40 31 29 49 85
41 68 11 9 45
87 74 77 75 91
67 27 70 90 16
80 47 53 81 36
75 35 87 90 89
19 5 56 28 26
8 44 77 31 20
61 96 27 99 79
35 16 40 94 65
60 28 46 51 61
45 53 36 89 80
33 93 12 39 42
13 68 57 64 26
39 55 88 78 72
6 82 52 1 60
41 23 97 44 11
3 15 21 93 38
24 90 7 80 2
81 46 31 56 30
94 22 58 69 41
42 91 20 0 14
71 11 17 37 12
7 73 79 9 26
38 32 24 98 79
48 49 4 17 90
12 20 95 99 10
94 23 30 92 97
84 18 57 11 53
75 22 42 59 55
23 33 90 2 52
94 13 78 0 16
39 72 67 45 31
11 53 7 83 28
43 33 52 89 40
53 94 87 90 19
98 51 64 63 62
66 65 57 93 18
80 79 59 99 73
57 63 96 3 27
88 74 9 60 99
48 30 1 18 15
23 77 89 24 55
37 58 67 91 10
36 73 27 72 8
75 74 87 55 7
2 67 34 84 51
94 18 23 62 11
65 41 3 29 53
63 67 73 53 13
28 54 19 72 93
48 41 55 64 33
83 70 65 26 22
11 86 35 16 18
13 50 19 48 58
28 42 83 20 29
5 96 92 90 3
87 93 56 23 78
98 57 0 72 62
95 76 16 5 56
55 28 52 88 73
6 99 75 90 18
12 25 22 44 57
62 37 36 30 48
24 41 73 90 46
55 91 63 86 44
0 74 72 47 76
34 13 33 65 62
49 75 10 15 27
85 63 62 11 38
53 29 2 8 13
87 64 31 69 58
88 84 17 3 26
5 32 23 33 39
25 8 81 29 95
65 56 86 34 17
38 66 85 43 26
39 12 70 32 19
49 68 10 4 13

500
inputs/05.txt Normal file
View File

@ -0,0 +1,500 @@
822,976 -> 822,117
387,419 -> 387,468
659,275 -> 318,616
535,940 -> 684,940
294,427 -> 294,88
568,922 -> 425,779
99,265 -> 97,267
534,387 -> 402,387
958,268 -> 958,315
234,714 -> 234,305
507,257 -> 507,328
455,384 -> 455,645
483,641 -> 483,138
410,249 -> 825,249
609,836 -> 528,836
77,913 -> 77,780
478,93 -> 478,123
391,695 -> 715,695
972,586 -> 649,586
936,955 -> 39,58
168,791 -> 944,15
934,222 -> 811,222
372,683 -> 372,93
911,676 -> 771,816
147,34 -> 147,97
524,498 -> 986,960
791,924 -> 239,372
293,145 -> 776,628
195,472 -> 195,31
884,649 -> 215,649
95,53 -> 95,966
484,111 -> 866,493
564,913 -> 681,913
36,362 -> 486,362
762,146 -> 762,323
330,334 -> 937,334
704,714 -> 744,714
56,12 -> 958,914
855,784 -> 855,629
206,665 -> 206,681
436,629 -> 117,948
414,685 -> 414,54
788,401 -> 788,842
442,270 -> 309,270
606,711 -> 416,521
45,630 -> 45,543
221,192 -> 221,537
629,544 -> 417,544
362,605 -> 885,605
988,928 -> 738,678
460,758 -> 981,237
561,26 -> 561,409
543,186 -> 833,186
963,409 -> 910,462
55,129 -> 742,816
245,27 -> 806,27
318,137 -> 318,592
762,700 -> 762,483
436,341 -> 436,654
641,725 -> 641,227
486,446 -> 56,16
113,821 -> 113,196
740,534 -> 821,534
606,765 -> 125,284
614,786 -> 371,786
215,519 -> 215,814
274,496 -> 482,496
131,210 -> 473,552
701,68 -> 701,395
81,713 -> 81,104
458,677 -> 622,677
237,225 -> 237,810
384,246 -> 384,644
411,876 -> 445,910
182,814 -> 182,184
643,858 -> 407,858
698,621 -> 971,348
309,253 -> 511,51
990,368 -> 671,368
129,619 -> 750,619
382,803 -> 382,635
629,270 -> 415,484
550,101 -> 56,595
971,745 -> 971,589
353,947 -> 786,514
71,931 -> 974,28
915,621 -> 363,69
650,547 -> 650,596
884,228 -> 574,228
833,476 -> 833,824
24,722 -> 24,885
401,508 -> 401,553
452,106 -> 740,106
255,840 -> 60,840
551,609 -> 551,767
799,572 -> 356,129
343,138 -> 945,740
77,766 -> 77,72
190,760 -> 190,341
978,583 -> 911,583
557,18 -> 557,640
673,276 -> 882,276
143,348 -> 775,980
776,803 -> 776,812
38,348 -> 38,463
648,567 -> 210,567
468,934 -> 534,868
966,987 -> 26,47
471,465 -> 126,465
26,29 -> 940,943
416,340 -> 361,285
702,66 -> 702,673
34,964 -> 951,47
156,791 -> 65,791
635,678 -> 355,678
898,13 -> 898,909
644,334 -> 644,155
304,93 -> 445,93
946,934 -> 930,918
376,289 -> 317,348
460,491 -> 500,491
761,605 -> 866,710
252,534 -> 413,534
178,23 -> 895,740
677,90 -> 677,592
905,985 -> 211,291
963,65 -> 963,214
853,617 -> 815,617
576,532 -> 319,275
134,59 -> 829,754
926,948 -> 11,33
46,279 -> 760,279
60,389 -> 60,340
49,264 -> 561,776
912,322 -> 790,322
825,205 -> 825,433
637,693 -> 780,693
891,196 -> 200,196
537,604 -> 604,604
870,75 -> 870,342
518,173 -> 455,110
666,67 -> 919,67
536,128 -> 137,527
698,41 -> 44,41
936,982 -> 106,152
780,488 -> 780,918
968,313 -> 56,313
759,36 -> 140,36
111,605 -> 111,430
609,165 -> 54,720
388,452 -> 745,809
986,12 -> 11,987
193,614 -> 335,756
113,239 -> 38,164
715,145 -> 305,555
632,13 -> 508,137
698,673 -> 698,101
954,225 -> 720,225
626,688 -> 626,476
636,697 -> 91,152
228,210 -> 621,210
83,325 -> 989,325
644,358 -> 644,648
481,183 -> 481,901
803,160 -> 250,713
648,96 -> 913,96
921,17 -> 26,912
844,256 -> 844,485
190,138 -> 578,526
383,527 -> 357,501
529,212 -> 757,440
646,399 -> 944,399
961,681 -> 961,178
40,236 -> 484,680
432,465 -> 832,465
988,989 -> 10,11
850,800 -> 850,292
25,97 -> 372,97
383,248 -> 383,125
577,488 -> 852,763
607,322 -> 432,147
611,637 -> 614,637
853,677 -> 755,677
953,225 -> 953,333
984,978 -> 45,39
95,981 -> 314,981
550,400 -> 327,177
929,893 -> 99,63
958,293 -> 152,293
68,656 -> 563,161
45,506 -> 45,925
271,566 -> 289,566
460,440 -> 920,900
392,788 -> 392,263
946,335 -> 946,171
833,405 -> 876,448
268,188 -> 268,678
881,40 -> 30,40
317,84 -> 277,84
415,917 -> 415,358
28,654 -> 28,646
346,461 -> 346,724
935,954 -> 935,362
121,840 -> 121,38
29,55 -> 344,370
774,649 -> 621,649
31,985 -> 396,620
85,579 -> 85,131
181,886 -> 978,89
284,969 -> 284,95
669,943 -> 54,328
72,509 -> 72,857
460,557 -> 986,31
555,460 -> 555,928
921,961 -> 666,706
11,13 -> 951,953
173,948 -> 173,982
680,422 -> 503,245
443,232 -> 443,630
829,487 -> 773,487
176,631 -> 631,176
860,866 -> 559,866
317,537 -> 624,537
937,199 -> 753,199
484,545 -> 293,736
84,616 -> 489,211
340,166 -> 340,876
47,210 -> 47,961
852,404 -> 852,804
831,565 -> 454,188
236,621 -> 556,941
734,640 -> 734,728
756,357 -> 756,433
102,220 -> 157,220
153,800 -> 104,849
710,585 -> 710,666
724,298 -> 724,698
762,257 -> 123,896
402,642 -> 402,964
549,108 -> 945,108
301,966 -> 851,966
399,903 -> 101,605
194,857 -> 605,857
291,373 -> 85,373
601,597 -> 844,597
362,335 -> 362,107
769,66 -> 107,66
49,373 -> 49,143
96,800 -> 894,800
468,116 -> 557,116
549,206 -> 956,206
918,972 -> 35,89
688,632 -> 106,632
267,338 -> 414,485
258,392 -> 258,107
604,964 -> 139,499
975,191 -> 977,191
861,960 -> 93,192
979,570 -> 439,570
961,21 -> 63,919
312,419 -> 881,419
507,779 -> 507,79
775,447 -> 645,447
34,928 -> 626,928
786,515 -> 786,34
81,269 -> 734,922
938,264 -> 266,264
799,271 -> 799,713
765,860 -> 765,43
967,869 -> 135,37
920,757 -> 602,439
419,814 -> 655,814
22,40 -> 472,490
136,672 -> 770,672
667,860 -> 288,481
311,305 -> 311,674
163,569 -> 163,120
801,885 -> 139,223
551,214 -> 551,207
594,979 -> 942,631
347,286 -> 448,185
161,134 -> 855,828
861,864 -> 20,23
309,388 -> 309,676
582,383 -> 86,879
930,58 -> 206,782
538,925 -> 242,925
379,890 -> 704,565
338,350 -> 338,419
916,870 -> 916,283
101,928 -> 402,627
899,696 -> 899,179
96,62 -> 658,624
950,46 -> 11,985
914,510 -> 910,510
98,116 -> 556,116
165,151 -> 913,899
822,76 -> 41,76
878,97 -> 75,900
476,623 -> 873,623
257,494 -> 746,983
638,23 -> 638,778
969,212 -> 259,212
186,146 -> 923,883
799,822 -> 736,822
628,876 -> 532,780
388,604 -> 388,617
591,949 -> 868,949
92,372 -> 107,357
274,691 -> 254,671
169,917 -> 169,317
792,27 -> 710,27
215,645 -> 713,147
886,498 -> 689,498
955,129 -> 214,870
561,380 -> 375,380
391,849 -> 391,75
181,677 -> 759,677
347,394 -> 347,969
52,383 -> 875,383
498,827 -> 729,596
125,832 -> 125,18
799,711 -> 105,711
952,884 -> 129,61
123,269 -> 123,906
792,934 -> 12,154
955,253 -> 753,253
676,957 -> 676,264
437,35 -> 40,35
661,166 -> 509,14
72,978 -> 270,978
554,472 -> 554,627
914,291 -> 464,741
450,841 -> 827,841
846,694 -> 846,281
391,97 -> 890,596
859,512 -> 685,338
349,564 -> 349,187
473,442 -> 896,19
383,949 -> 383,276
568,596 -> 875,596
298,43 -> 298,504
482,632 -> 12,632
44,441 -> 44,978
210,502 -> 210,712
191,391 -> 191,196
27,683 -> 27,840
47,13 -> 960,926
81,779 -> 81,952
914,96 -> 145,96
444,175 -> 151,175
293,934 -> 293,488
106,867 -> 221,982
669,576 -> 858,576
713,142 -> 84,771
60,923 -> 299,923
376,307 -> 281,307
904,53 -> 41,916
763,495 -> 588,495
62,899 -> 843,899
63,939 -> 592,410
294,588 -> 294,437
920,101 -> 879,142
688,527 -> 688,357
679,854 -> 950,854
636,765 -> 329,765
939,87 -> 62,87
952,560 -> 952,193
466,761 -> 32,327
189,245 -> 876,932
42,675 -> 42,311
787,257 -> 62,982
934,983 -> 64,113
548,522 -> 626,522
942,322 -> 942,276
267,298 -> 267,385
632,241 -> 632,117
192,644 -> 192,507
627,33 -> 627,175
350,650 -> 350,157
807,239 -> 113,933
294,713 -> 87,713
81,530 -> 453,530
539,61 -> 240,61
893,76 -> 893,776
39,49 -> 978,988
733,17 -> 606,144
19,408 -> 493,408
364,639 -> 43,639
873,946 -> 69,142
825,875 -> 233,875
708,408 -> 197,919
990,202 -> 990,32
370,393 -> 664,393
764,472 -> 284,472
308,685 -> 308,541
917,68 -> 45,940
397,794 -> 524,667
525,674 -> 313,462
475,981 -> 297,981
728,152 -> 40,840
265,257 -> 162,257
621,847 -> 828,640
547,927 -> 21,401
351,676 -> 357,676
668,640 -> 668,228
138,736 -> 446,736
912,687 -> 912,817
718,278 -> 718,779
674,786 -> 986,474
812,273 -> 891,273
46,341 -> 46,831
404,464 -> 118,464
277,926 -> 114,763
231,786 -> 106,786
266,721 -> 446,541
42,80 -> 675,713
422,116 -> 422,344
922,543 -> 922,511
525,150 -> 525,599
862,288 -> 498,288
961,432 -> 961,693
895,876 -> 895,837
619,361 -> 174,361
275,673 -> 275,415
950,179 -> 405,179
460,460 -> 460,405
222,872 -> 222,959
451,403 -> 21,833
570,367 -> 570,147
260,792 -> 82,970
586,159 -> 108,159
956,25 -> 55,926
71,645 -> 988,645
540,438 -> 44,934
230,160 -> 395,160
811,106 -> 811,598
819,741 -> 596,741
347,731 -> 347,198
503,580 -> 495,580
30,706 -> 603,133
257,498 -> 619,498
232,784 -> 359,784
826,708 -> 396,708
14,977 -> 895,96
964,192 -> 279,192
611,282 -> 611,460
207,903 -> 207,882
969,10 -> 22,957
403,599 -> 970,32
712,671 -> 712,733
795,422 -> 235,422
47,965 -> 939,73
925,839 -> 275,189
102,593 -> 973,593
389,768 -> 389,493
234,365 -> 624,365
50,901 -> 50,702
345,573 -> 638,866
798,280 -> 111,967
258,556 -> 258,978
966,57 -> 88,935
171,279 -> 171,130
238,727 -> 947,727
683,777 -> 290,777
552,308 -> 552,150
81,91 -> 911,921
845,698 -> 845,735
712,241 -> 26,927
120,813 -> 716,217
947,10 -> 25,932
395,381 -> 338,324
408,989 -> 408,529
600,574 -> 600,557
46,567 -> 46,980
983,14 -> 10,987
984,568 -> 642,568
543,250 -> 543,80
765,534 -> 108,534
89,213 -> 120,213
893,813 -> 271,191
133,178 -> 133,654
468,689 -> 468,677
970,203 -> 970,952
892,322 -> 892,417
593,735 -> 152,294
839,75 -> 839,964
746,413 -> 89,413
535,595 -> 535,633
771,646 -> 614,489
572,852 -> 572,718
125,35 -> 838,748
122,812 -> 179,812
467,243 -> 188,243
713,850 -> 51,188
633,279 -> 932,578
428,230 -> 216,18
94,921 -> 973,42
513,609 -> 513,507
826,358 -> 330,854

1
inputs/06.txt Normal file
View File

@ -0,0 +1 @@
4,1,4,1,3,3,1,4,3,3,2,1,1,3,5,1,3,5,2,5,1,5,5,1,3,2,5,3,1,3,4,2,3,2,3,3,2,1,5,4,1,1,1,2,1,4,4,4,2,1,2,1,5,1,5,1,2,1,4,4,5,3,3,4,1,4,4,2,1,4,4,3,5,2,5,4,1,5,1,1,1,4,5,3,4,3,4,2,2,2,2,4,5,3,5,2,4,2,3,4,1,4,4,1,4,5,3,4,2,2,2,4,3,3,3,3,4,2,1,2,5,5,3,2,3,5,5,5,4,4,5,5,4,3,4,1,5,1,3,4,4,1,3,1,3,1,1,2,4,5,3,1,2,4,3,3,5,4,4,5,4,1,3,1,1,4,4,4,4,3,4,3,1,4,5,1,2,4,3,5,1,1,2,1,1,5,4,2,1,5,4,5,2,4,4,1,5,2,2,5,3,3,2,3,1,5,5,5,4,3,1,1,5,1,4,5,2,1,3,1,2,4,4,1,1,2,5,3,1,5,2,4,5,1,2,3,1,2,2,1,2,2,1,4,1,3,4,2,1,1,5,4,1,5,4,4,3,1,3,3,1,1,3,3,4,2,3,4,2,3,1,4,1,5,3,1,1,5,3,2,3,5,1,3,1,1,3,5,1,5,1,1,3,1,1,1,1,3,3,1

1
inputs/07.txt Normal file
View File

@ -0,0 +1 @@
1101,1,29,67,1102,0,1,65,1008,65,35,66,1005,66,28,1,67,65,20,4,0,1001,65,1,65,1106,0,8,99,35,67,101,99,105,32,110,39,101,115,116,32,112,97,115,32,117,110,101,32,105,110,116,99,111,100,101,32,112,114,111,103,114,97,109,10,281,282,677,25,264,2,413,1654,100,68,1111,667,281,128,172,188,4,432,250,232,1282,773,24,1182,33,200,989,148,179,108,208,330,152,227,597,517,1205,489,342,98,287,375,413,385,419,115,42,1363,425,1104,1869,362,111,985,1028,192,504,381,58,634,391,174,125,23,39,255,1437,198,259,154,1644,1275,250,444,122,71,697,184,594,307,694,177,131,269,1780,592,678,128,33,41,541,132,241,883,82,498,1008,153,985,127,801,78,137,128,68,69,180,833,250,1476,127,439,1856,276,58,1785,520,1214,749,429,126,576,9,184,578,1173,83,896,475,23,183,108,532,1114,775,748,422,577,758,1365,97,726,118,206,283,485,798,338,459,954,361,205,30,736,65,94,857,986,452,273,210,1551,354,91,26,60,1691,391,163,132,833,52,629,309,261,148,328,17,604,309,907,441,361,104,190,434,246,295,223,141,239,662,682,494,467,185,1,236,367,125,139,1289,657,279,238,482,512,1498,3,1297,148,548,1053,277,400,713,33,140,227,408,1,1592,219,805,538,535,567,703,939,662,546,993,552,341,144,396,922,324,662,82,142,320,859,369,28,106,741,254,389,483,680,1317,3,177,46,1461,53,1516,858,993,968,1325,4,4,175,303,126,847,754,1129,993,79,67,1381,766,470,1324,726,48,26,703,5,1002,102,1839,236,370,1005,855,262,1018,325,3,681,397,1420,1163,155,961,452,512,112,222,39,435,64,746,185,151,397,1648,315,381,25,1053,151,280,230,602,130,173,784,664,129,625,114,405,773,191,116,1017,1401,16,47,72,192,88,68,802,446,479,7,347,167,35,713,74,404,628,283,920,402,1173,273,436,671,1544,149,278,331,766,888,10,567,53,138,10,132,1273,266,270,305,93,1649,86,3,224,79,1188,609,1107,308,1525,159,895,911,824,1135,560,43,436,1225,1332,57,245,90,1057,814,54,68,168,9,190,572,916,42,330,500,310,1269,583,27,482,399,361,706,1109,252,433,851,137,1081,118,107,254,1062,640,1284,297,379,177,268,230,1148,727,829,129,51,808,223,559,14,155,189,1050,931,1069,927,73,594,44,1049,32,253,1621,134,263,5,926,339,141,220,1330,319,408,722,611,0,303,680,323,502,373,46,61,3,121,263,346,88,39,1084,297,822,468,764,138,161,449,35,1162,1308,312,694,207,921,330,1621,302,707,378,612,7,3,1595,1075,915,171,370,516,115,157,340,603,984,239,2,266,1501,129,110,1272,1105,221,431,1002,455,1204,595,914,1396,59,1576,260,446,1898,584,18,204,66,920,526,0,1199,290,1275,12,14,187,818,448,1015,442,292,1019,383,1217,17,228,214,778,53,148,68,388,15,496,310,428,186,18,206,104,760,790,408,1652,95,1351,325,144,73,1301,1085,29,967,342,656,428,533,67,1252,365,130,49,457,34,808,88,47,803,125,291,558,457,160,1157,1410,90,215,638,1009,446,698,1102,171,1736,878,115,1195,1453,261,121,1,59,56,295,368,646,1220,73,370,555,27,94,186,1536,1527,641,8,626,44,86,266,0,110,329,278,777,1839,20,651,435,172,4,144,617,48,201,751,440,231,0,686,1550,605,208,0,10,613,552,788,183,18,71,119,705,223,17,645,77,83,1342,1671,561,499,836,247,678,923,205,69,69,353,242,114,97,132,234,245,364,40,1061,117,665,183,192,448,283,593,71,208,1537,386,35,434,840,462,27,458,347,293,93,288,250,753,536,1317,124,968,937,503,305,19,24,638,560,488,254,1556,748,86,551,972,1675,28,175,1008,607,263,19,446,566,316,236,1577,0,802,340,526,778,763,41,489,1225,145,116,1,1556,221,703,624,33,74,1404,869,574,190,326,646,33,582,1212,703,76,97,54,41,127,48,309,556,10,356,1028,306,712,193,325,81,100,1414,107,81,1150,339,70,346,523,250,265,104,1302,797,499,829,455,591,170,1339,60,1312,631,665,530,95,348,36,1122,1334,775,54,819,604,759,708,139,1394,481,683,26,66,177,54,318,33,1714,43,801,121,384,560,658,50,159,1835,333,232,203,449,221,659,160,83,93,1176,1170,279,265,907,617,45,342,104,723,1027,697,494,952,494,820,90,462,208,1596,513,24,192,438,138,132,2,566,324,826,444,866,1038,851,629,646,48,334,258,14,571,963,458,62,208,233,31,368,884,207,88,682,118,634,1277,51,352,90,194,323,99,24,138,82,501,1084,403,270,638,401

200
inputs/08.txt Normal file
View File

@ -0,0 +1,200 @@
fbead dcabe bcega gfbecd ecd dgac cd bedcag agebcfd fcagbe | ced cgbefad gbcaef cd
bdef fbgeadc gabfc fadegb adefg abe be decagf dacgbe begfa | dbfe gaecdf fbgae agfbe
gad cgdfab ag edacgb agbfedc facdb dcebaf adfbg agfc gbdef | dga gacfebd adbgcf adgbce
cebadf gadcf egabfd ecabdfg gfcbd dacef geac ag afg fgdaec | aegc gdeabfc fgedac eacg
ceafb gcbfea eacgdf cegb eag bgfda eg fdaegcb ebagf adebcf | eg adgfb ge ceabf
gcdfeab bfdcga gdacf fe fae bdefga eafdgc fecd efagc aecgb | dcef fea cgfda gbcae
gbdce cfdbg efbd gbaedcf dge gfcead bcgae de bgacdf befdcg | gde fcbadg egdafc dbaefcg
adgecf agecdb dfcag cea dafgebc egbfc fdea ea agbfdc caefg | gcdfae aefcbdg fdgebac eac
dgcea acfged eagfc abdec dcg gd efcgdb adfebcg bceagf adfg | dfag dgebcaf dfbcage dgc
aedgbf dgfabec aefb edbgf gabdc ea gedfbc cgdefa dea baedg | ae ea eadbgfc fdabge
afgbde agbef df fda caegfb efdb fgdbeca fcdgab agedf cgead | fad df fd bedgcfa
bacdge gdecbaf bdfcge fabec dc dec cfbed gedbf dcgf agbefd | bcedf fgbed bcafe cfbedag
gbcafd bcd db begdc gedcfb bgdfeac cgdef dbfe gceab adecgf | dbc bd ebgdc bgcfda
ebafgd dcafeb ag gfadb aegb agd edbaf adcefg gcdabfe gdfcb | bgafd ga ga ag
gcbfda acd facdb aecbgf gafcb ad agbfced bacdge efdcb agdf | gbdeacf ad bgedca dcbagfe
gfae dae ea ecabfd edbgc aegdc cgfdae fcadgb facbedg gdfca | dfeagbc cdeabf dea ea
egafb ec dcegafb fcdag bcef cae cdgbae egbcfa abfdeg eafcg | bfacedg ace eca afgdc
bfgadc fabgd fcgb gecadf adceb gc cgd dabcg gadfcbe eadfbg | gbcf cebda cgd cg
abfdg dgabe cgbead efdb abfgced gefbda daf cfadeg cbgaf df | gfadb egbda bgdea bcadgef
aebcf agdbf adgbfce agbfec egcf acg bgacde cgbaf dfeabc cg | aefdbgc gc efadbc gc
bacdfe baefc edacb abcdg bafdge cgfbdea de cfebga cfde bde | ecfd bde cfbea fagebc
cefd cf afbegcd gfdcab adegfc baegf dgcea fcg cgebad gfeca | gdeafc fc decbgaf gedca
dgcae eadgbc eafdgcb ad badg deabcf gefdbc ade bdceg fcega | ade acedfgb acegfdb becfda
bfadecg cfadge bcgfd bceagf deabfg edg edca ecafg cfedg ed | cead deacfg ged gbfaedc
egafd dfbgcae bdf bfade dgbcfe bagf beacd fgbdae cefgda fb | fb gabf bfd cefagd
afedbcg eadcgf gebdcf agdfb ceagf baecfg de gaefd cead egd | bdeagfc ecda agbfd dgafce
bcde bc fgdceb bfc faecdbg adgfb cdfgb fbegca dgafce fdegc | cdgfbe fcgde cfb fcedg
bgacd cbf fceda fb gacbdf cadfb bdagce fegcbad beacfg fbgd | ecafbgd bfdg gcbdefa eacdbg
dgbec afecgdb fbgce dbgcaf becdfa bagcf efb ecfabg geaf fe | fegacbd ef fcbge abgfc
cedfg cgfaedb fgcdea gacdf gcae begdaf cdbaf fbcdeg ag gad | gcfebd cadfeg adfcb afcbd
edgcfba cdafb agd cbegfa dfagc acefg cgdbae dg dgceaf egfd | fgecba gad aebgcfd agfcd
afecdg bce gdeca cfdgbe bgca cfabegd daecb bfeda gabcde bc | bgca bec gabc bc
fgbdc gad ad eabdcgf gdfeac ebdfag baegfc gadfb ebad begaf | ebda dfabg adg bdae
bgec dbfga degfc eb deabfc fcdage bfe gfbced gfedb gfdcabe | bcge begc efb bcgdef
efbga bfeacg dg dfg afdce eafbgd adbg fdbcgae fcdebg eafdg | dbag fdg fgd gbad
cdabe agcbdef fgaed dbcgea fbce bfacdg fb faebd dbf fadcbe | bcgfda bf fb fb
cdafbe cbdagf fcgade fbage fbdae fdbca ed efd adfgceb bcde | ed adcbf bgdcfea ecbd
fgab gfacbd gfdcb fgdecb eagbdcf bdacg ag gad edgcfa eacdb | gcfdba fgdace cdegbfa agbdc
egcaf gdecbf beacg cfba dgfeabc abfgec baegd bc ecfagd ecb | bcaf cbaf gdecbf ebc
agfce cgedfb gbdfe daf da febgda cgfaedb adgb dgefa ecabdf | bdfceg dgab adf gadb
begadf deg aecfgb aebgd aebfg ceadgfb fead ed dbcga egdcbf | ged fcgeab gdaeb de
ad debcf deabgc acegbfd daef febcda cgebdf bcafd cda bfcga | acfgb cbdaeg gecadb acd
fadbeg bagdcf bcda fceag cfd bdgfa dabgefc cd bdcgfe afgcd | acbefdg dc gfcea bcda
fcbge bg cgdeaf bdegcf beg bfeca gbdc agdefcb gcdef bgefda | egb bgdfaec bg feacbdg
gcfabed dae geaf afdgc dfbcag cgadef dcebg defbac edagc ae | cdgae ae eadfcb egaf
ceabf fabcge cgfe gecabdf dgafcb bagcf edfagb ef cdeab feb | acbgf fabecg bfe badefg
adg bdfaeg bacd gcebd cgadbe da caedg egfca bfgdace fdbecg | dcab cgeda agd ad
cbdafge ecbg fabec caefgb cb abefd fcdega bac adbcfg efcga | cb gcbe bac dbgeafc
gfcbad fbc cf ebgaf acdbe decbfa dcbeag cdfe efgbdac fbaec | aebcgdf bfc dcaebfg edfbacg
dgcf bfaedg bdf cdagbef cbead df cebfg gdcfeb fbdce gabecf | fd begcf df df
bc egcb efabdc cfb gefdba cbfgade gbdef fdcga gfbcd gbdecf | cfagd ecbdaf cbf dbfcae
bc cbe cfega gbecaf fdcega dbefa cbgdfea efacb cdbega gfbc | dgceabf ebc bce fcgb
cf gfcdea fdage gfc dgcfe debcg fcbdag gefdba afec cgfdbae | deagbf eacdgf dgcbefa dfgec
cdgfbae bc ecabd cfabdg dfageb cfeda debga abc begdac egbc | bc cb acb adegbc
fd caegfd fed acfegdb bcfed cbadfe abfd bcaedg egcfb eabcd | dcabegf cbgdfea bfda cadbe
dbgac ebd faebdg afbcdg efcbg aedc dbgeca dcafgeb gcedb ed | aced edgbc ebd ed
fea dfbga bcedf fgadbce ea aebg bgfaed gdafec dbefa bdgcaf | abdef gdcafb dgbaf ebfad
eac afdecb dbegca acdfb dbacfge ea bcfea ebgfc fade fadcgb | fcbad ebcfa edcgba dacbf
agfdbc adcbg fdgc cdfeagb bgd eadbc edfagb dg abcfg bfaecg | cdfg dg gbeacfd bdg
fdbag gafcbe agfdcb bfc cdgf bdagef cfbda bdeac bcfedag cf | bdeca adfegb cbfad cf
agfdce ecd cbeadg ce bdagc ecagfbd bcegd abce bfedg gcbfda | cde cdbgaef ceadfg eabc
cgbda bceag bcgfde gdb dcabf dg badefgc gdae adbcge cabgfe | adcgb egdbca dgbfaec gdb
baefc gecfb bfadc dabcge cdbfage aeb ea bgafce ebdgfc efag | bfgdaec gcdebfa dbecgf dagcbe
bgdcfe cafdg cad acegf fgcadb fdcbg faedbc da gbecfda dabg | acd faecg afcdg fdbgc
gedbcf gef cfaedbg egbc ge gfcaed dcbfea fgbad dgbfe fecbd | eg gfe gcbe bcge
fca cbfge faceg fbeadg gdefa ac adcfbeg ceda cdbgaf dgaefc | gfabcd afc degabf fac
dacfb edbag ce abdfgc dcfe ebcda gecfab befacgd feadbc aec | cea dabcegf cea badfcg
edabgcf eadcgf dbgecf dgeca dcbaf adcfg fgd gf faeg decbga | bfcdeg dgfca edcafbg dcafbeg
abegcf bedaf fc ebadgc cbf fbcagd baecg befac defgacb cgef | ecbaf fbcdage cf bfc
acg bafgdc afegb bfacd bgeacfd fgdc cg aecdbf gdaebc cbafg | afdcb cbfgda acg abdfc
ca ace afcb afebcg ecfbg dabeg gfacde gbace cfgabde cdbfge | acbf cfegb gebad bacf
dgfcba fabcd cgbfae dbaegcf eadcf dagbc edbcag gbfd fb bfc | ebagdc fb edfgabc gadcb
gdaec dfgb dcgbefa bde ebadg cbfage cabfed efagb db bdgafe | bd abegf dbe deb
caebfg bf bgead dgecab bdaf bgdafe fbe dfgbeac bfged fgedc | cbgeda efdbg edacgbf feb
begca fbaedgc adbfgc adbecg bcaefg af afb cdbfe feag beafc | fadgcbe af bgdfcea af
dceab be gcbdaf ebc abfe bdfac cdbafe cagdfbe gbfced dgcae | acfgbed eb afbe eabf
fegdbc acfdb afgce badecf badg ebgafdc gd cgadf gdf dcabfg | agcfd fbdac gfd egbafdc
beagd fbcg gbecfad gc bacge adbefc aecfb acgdfe gfbcea egc | gc efacbgd agdeb cfbg
adcebf fgebadc ga ega bdga edafb egadf bcgeaf dcefg afdbge | abdg dbag edcfg fbegadc
fe efd egfbdac dcagf cgaebd cbfe gdceb dfegc efagbd fdegcb | ef gdaceb befcgd gdcfbe
badf bfg dafgebc gdabe edfbg bgfeac bf bdagef dbaegc fecgd | gacfbe bdagef cgaebd adfb
efdabg bedac fb cgedab cefgdab fcdga adfcb cbfe dfb ecfabd | bfd bfec debafc acbfd
cbdag fa bdfacg dgfac defbag cbaf gecbda agf dbegafc fgcde | gdcef cdbag gaf gcfde
cfagd fbagcde cb efdabc dgaefb cfbe adgbec bdc acfbd edfba | befc cfbe efbc bcd
bdcgfe acdbeg ac caed gdfba dagbc abc gbfcea ecbdg gbcdaef | aced dgbce cab gafdb
bgfd fecdgab eadcf acbged gd acfgdb cafegb cdgfa cgd cfgba | fdgb gecadb gd gdc
dbcfa gcebda becg dgeac dbe egadcf gdefab fgaecbd eb acdeb | bed cgbe ebd efbgdca
ebfd cgfdea fbdagec afbce bfdeac geacb fb dfabgc fbc dacef | fcb abcdef cfb fb
gceab bgef gbdca abdecf efacg ecbagf ebc cgdeaf eb gdfbcea | ebc fdcbgea eb fcedbag
cdfeg de edg dbcgaf defbcg cbfgd gfcdabe bdef gdebca efagc | bfacegd fdceagb fbed gcebfad
fecbdg fcagebd adbgfc ceba gecad dgfea egdcba dac gcedb ca | cdabgf edfacgb acbgde febacdg
gefacd febcga fdg gcfdb ebcgf cgdba gdcefb fd bfedgac bedf | bdagfce gfd bfdcge geacdfb
bacgfd ec cgbafe adbgfec acfbe fbeda eac ecgdba acbfg fceg | dcgaeb fcdgabe aec afdbe
egcd dfeca efagd fdcgae egf ecbdagf eabdfc fecabg dfagb ge | feacd eg gcde feg
begaf dcfegb dbcge gadcbef fc cdabfe fgdc decbga cfb becgf | bfc fc cdebg cgfd
cfbdgea fdg efbdc fgdecb gd gbeaf agdfcb cedg adfebc gfdbe | cfdbe afgcdb dfcebga dgec
fdebgc egba dcaebfg abfgcd ba bda gdceb cefda degcba edcba | dba bdafegc decba bad
cgeb bdgcfa dfgcb efcdg ge abfged efdac eabdcfg ecdfgb gef | cedfg eg fcade eg
eabdcg gceb ec ecfadg baecd daebcgf afdeb badgc bafdcg ace | bcdgeaf ec cebadfg ce
ebdf cagfeb efcda ecbdag ecdbfa aebdc cgdfa eaf caefgbd ef | eaf dcbea acgdbe dfcbega
gdbfa gfaeb cafbgd adb cedbgaf faecdg edfbca bd dcgb gcadf | db bcdg dgfba dbgc
fbcdga cea gbcaef decgb gcdfa eafd afcdge adgec ea dbceagf | eac egbcdfa ae dfea
beagcd egcbd gbae eagcdf gdcefb cbade fabgdce ae fbcda ace | bage cae ace ageb
bacgf bdgac dcebfg eacgbd fdgbcea gfdbea dc aced bdc dbega | bcd cd bagde bafcg
gfabdc be gcedba fecabgd edcaf egbf fcabg cgbaef abcef bea | acegdfb fdbcga eb becaf
dgfbec bdecga dfgca fd aedcgfb adgec adef fcd fgcab fcegda | cbfgeda cdf df fdae
cgfbe faceg bacegf dfgbe aefcdg abdcef cb gdbefac bfc gbca | cdgefab bc cbfead cgaefd
gefdcab ebcg fcb bfdce afedb fedgc bedfcg dcafgb degfca cb | bc bc dbfecga cb
efagc cagfde fb bfe begfa gbead badcgfe bgfeac fbca fdgbec | eacfbg efb feb bf
gebdca af afb afbed bcafgd fabgde fbedc afge dgbae eacdbfg | agdfebc af abegcdf baf
egbad cfedbg gb dbg cfdaeg bdeaf dgabefc cdbega cgdea cabg | efdab fedab gb gcba
adfcb defca cabg gdefab afbdg bdgfec gbcedaf dbc gdacbf bc | dfeac bdc cbd gabc
db ebcda ebgfac fcdea becga ebgadcf bdc cfedbg agdb bdgeca | fecda bd agbd db
bagcef begdafc fbga fceab afcged ecagf deacgb acb ba bcefd | cfbedga abc deabgfc bca
cbf gdbcae abdgc fb dagbcf gabf cdfea cabdf dabegfc fbgcde | cbf fb dgabce fbc
dfbgec fcbeg fbeag afdecb fcdbga cegd dfbcg efc ce adebgcf | egdc acegbdf agfbcd cbgfe
abgce gdec ce faebg agcbd bfcadg acefdbg defcab egcdab cea | gdfabc ce agefdbc ec
acedg gbc geab ebdfc bg cbedg dacebg gdcaef fabgecd dagbcf | cgb bg adecg acged
cfebad fbgda edg ceag agebd aedgcfb eg ecbfdg cgabde cebda | cbafegd gdacebf cega eg
eacdf ea eadb cfgde cabfde bdfgac gacebf afe fbcda gcbafde | bagcfe fae adfcbg cadbf
abd fgcaebd dbfgc gdeac fbedag ceba bcgad deacgb ab adcfge | dba bcea ab cfagbed
afg bgfce af dcfa acbdge bacfg agbfde dgcfab dgbac defagcb | dfgcab cfgbad afg dceagb
gdacbf ebgacf edbagc ae agcbf aefg acfbe fgbcead bcefd cea | eca adgfcb eca eafg
fcbae bea bcdaf cadfbg fbgec ae eafd dacfeb bagcdef cbagde | fecbg cgedbaf gdcfba bae
baefg daebgc bdgeacf gaecb efb feca abfecg fadgb edcbgf fe | bfgdeca gcbea acedgbf ef
cd fdaecbg cdbga befacg fbdag decb dca gfcead dacebg gebac | edbc feabcg gcefdba adc
agdebf daeg eadbfc gef dgbfec eg dbeaf afgeb fedbcga gcbfa | eg eg edgfbc efabd
facd cabfgd fab geadbfc af gcbad egcdab becfg beafgd acfbg | fa acdfbge gdcaebf dbacg
bcgfda gbeaf cfgba fae bace cfabge cfdgae gedbf ea dgcfbae | ae ea fcagb eafdcbg
dbe gdcb ecafd edcgfba acedb gebdfa bagdce fegcba bd gbace | bd feacbdg bd gedbfa
cabgde fagecb efb adfbg acebdf fecd afbdcge cdbae bedfa fe | cfabge fe dfabg bfdea
bacg dafcg cdgfaeb fbcgda baefdg gda dabcef gfced cfadb ag | bgac dcfge egcbdfa dabfcge
bdc gdac ecdagbf geacfb defcbg fabde cafbg bcfad cd cadbgf | acbdgfe fegcabd dafbc dcgbefa
cedbf ebdgcf degc dcfgbae aebfg dfg bedgf gd aebcfd dbgfca | dbfcage cdebf dg dg
edcfb ad cgad adgbfc agcfb agfebc bdacf cafgedb daf dgaebf | afcdgeb fda fda bfagecd
agcbfde gadbcf bdfcge defgc dc afdge dcg gabfec ecbd bfgec | gcedf bcfeadg cdeb eafdg
afdebg efa afbdc ecag egcfd debgcf ea fgebadc fdeagc defca | aef afdbceg ea dgeafc
cgdfb fg ecdbf fbeacd bgdaef bcadg ecfgdab dgbfce gfec gfd | gf gf gfce febdc
bgcde fedgc cgf gabcfd gdbefc defga fcbe cdabegf fc acbdge | bcfe efbc fc efdcgb
cagb ab gdaecf cgeabd edabg fcdabe edbfcga bfedg cgdea eab | gadce gdefb abgc fedcba
ecdafg feg bcgfad egbfa afbgc ecgfdab gaefcb eg afdeb becg | ge bgfdca eg fegadc
fe adefg egdac cbagdef dcfeag adecfb dbfag edbgca gfce efd | fe efgc cabegd fe
geab fgbaec gce adefc gcafdb agcef abgcf cdgebaf gcedbf ge | gabe cfega fbdceg eg
eac dgefca cfgdba gdfeabc eadf gcfbe adfcg gcfae gacbed ae | agcdfeb ecbfg gedabc ae
ec cdagb cegdab dagbcf cbaed ebgc ecd abedf fadcge cebdafg | ecd gacfdb becg ec
abfge ce cgfdae cbed fecab fbdca egfacbd efc acgdbf cebdaf | dgface efc ec ec
gbc gcdbf gb eabdfc egfb agdcf egbcda gcdfeab dgefcb fcedb | bgef gecbfd gb bgfdce
ecgab gecabf cb gfbc abc afgeb daecg fcedab fcagbde efdbag | bdecagf gbfea ebgcaf cb
ecdgb ab adgb dbecga fgbcde cadgfbe aeb eacgbf cabed eacdf | abdg cbedg gdabce cdbeg
bgc dgeb bg fcbge befcgd ebcdfa cbfgda efcag cebfd fagbcde | gdeb fcgadeb bfecd cdagbef
edbcfga cedbga bagfd eabc dgbfce eb gceadf egb agdec gbade | cfgead gefdcab bdcgae cbae
bafcge edfg abegd deabcfg dfbagc abcde dg bdg gbdaef febga | bdg fdeg dg cafbdg
cgfdba gec gdeafbc cfgead ce fbegd cdae facdg afcbeg edfcg | cbgfea cfgadeb gdabfce egcdaf
cbfgad bceagd dbf cdbfae ebdcf cdegfab cbaed gcedf bf aefb | aefb dcfbage bedfcga fb
cgd bcdafe dacbegf adecb dbfeg bacg gedbc gc fcegad agbdce | cdg fbdge ecdgb eadgfbc
gfdabe cfbga ceab eaf gefcab gcaef ea efcdg dgafcb abfdegc | ea cafbdeg fgcab acgfe
dfg gdfbe gf ceagdf aefdb fcbg begdc cgbdef cabged becgafd | fdbgce eadbf cgedb fbcg
fdeba ecdfa badgef ebagf abegdc dgfb bd febgca agfedbc abd | bd bfega bedgca cbaegf
bafcdg cegb acfbg feagd fdacbge be bfegac abe bdcaef afebg | be bfecdga defcgba be
bafgdc dbfag gfecdb cbf cf bfadge acgfb cgfdbae bgeca cadf | cf bfgcde gdaefbc cfb
gcdbaf cgbedaf ad ebfagc daef dbafec caedb bgcde bfeca abd | ebdagcf dfea fcaedb cbfgad
ceagfd eadfb fdeag dcgfe gea ag dagcbe fcegbd fbdaceg fcga | gfca fcga dcgefb gfcaebd
cdfbge dcafe df fcd badce gdaf agcfe ecagbdf eafbcg fgcdea | gdfa fcd eabfcg fd
ad bgdfae eagfd fedcg dagb gdeabcf dea bgcefa abgef fdbaec | afbge eacfbdg bgecfa fabge
adfbceg edcgf gcabd egfcbd ecbf cebgd cefdga be deb fedgab | fecgd gcdef ecfdbga daecfg
gdfeac afedc agdbcfe ae begcfa edfbc bfcgda dgea efa cafdg | abdcfge edag edfbc cfdga
cbdeg geafbc fd gfacdb fgdce fecgad feda dfg aedbcfg gcafe | fdecg fade fade cadefbg
af bcfeg gbcfda cgabfe ecgfa abef cgdae beagdfc gaf gebcfd | gdfecb afegbdc gfa gaf
bgafcd becfag cbdeag bagdc eb bdegc adbe cdfebag gbe egfcd | edbgac adgbc bge cefgba
dfcebg cgdaef ga fcbgd dgabfc debaf acgb agfbd defbacg gad | bagc bdeaf bfgdc abcg
ebgfac agfdceb cdbga dafc cfabg dc gebda dcfbeg dbc gafcbd | gfbdca fdac gdfabec bagfcde
egbac efabgc efagcdb abedg ead da dbac bedcga cegdaf gdfeb | dabcfeg gcfeda adbc ade
acgbfe eafdg dbea bfgea dgbcaf cedbagf dfgabe cdgfe gda da | gfebdac agd dgaef dga
edbgf ced bcdeaf cdgeaf bcfgade fbcad eabc cdgfba ec febdc | dcbef faedgc edc begfd
ca bedcaf cbaedgf edabf cab dfbca bdfgc cfea daegcb gbafde | ac cdfabe bcgdf gdfceab
bdef gecbfd gbdcf cbaegf cgbda dfc gdefacb fcaegd fd gebcf | cfd dcf df fegdcab
bf adfgce dcbea cfb gfdaceb cedfbg cfedb fcedg acdgbf gefb | fb bgfe gebf dacbegf
defc edfba eadbg feb fbagcde ef dafcb gbfdca egcfab aecfdb | ecdf ef fcbgae fced
acdbe aegb cdabfge ebdcg fcabd ea gebdca bfcgde gcefda aed | ea ebcgd dbcegfa dea
dbcfe bfcda cabfedg aefc cdfabg bgedc ebdfac edf fe efdbga | efca face fe cefa
egdab bgfd gdeabcf eadbc abg bg bacefg fgade cadgef afbgde | bfcaegd dbafge abedg geabd
ebc egbfdc degc ebcagf gbcfd acbdfg ec fcdeb abdcgef abfde | egdc gcdfb bcgdf ce
dbfaecg bd bcegdf cfabg dcba abfdg fbeagc fdb cbdfga efgad | bgaefc efadg gbcafe bfd
gacef dcaegb egadc efcbadg eaf caefdg defc fe afgebd agcbf | cedag dfce cedfgba aef
gafcbed gdcef bcefad daecf adc daefb cbaf egacdb bgadef ac | dbceafg ebfcad bdacfe dca
ecbfa fae afgbc cdeafg dcfeb efgcab ae beag gbadecf acfbdg | bagfdc ae feabc edcgfa
egfac gebaf ac cfab gca gcdef cagedb bfecag fagdbe gacfebd | gcbaedf geacbdf gafcebd cgefba
fbdgec efbcag acbedgf bac befcg adfbec fgca ca bagce gebad | egcbf ca cfgabde abc
edafg cabe fcaed ce faegdcb dcefgb fec fdagcb cbdaf cbfaed | acbdef cef ce eacbfdg
efbcgd ebdgc egacf gebadc gba dabe fagcbde gbcae ab gfcbad | aebd aedb bead cdbfgae
becag cbdf cebda fgdbea bdgafce ecfda abd adefcb acgdef bd | adbfegc eadgbfc dcegafb bfdc
gfcadb fega acbeg fgcab ebcda ebcdfg ge ebcfga gabfdec ebg | beg fgedbac eagf eagdfcb
gecf cbf cbfga egfbac cbgaefd dgcbae fc aebcg befdca bfadg | cbf bgfca fbc fcb
cedfg adbgef cb bcd cgebd dageb cbegad ceab bgfaecd cabfdg | gbced bc dgefc bc
egba bdcfg fbe acegf ebcfg eacbfg eb fdebac dgeacf dcgbaef | efgacd bef ebcgf fbe
agfcbd bafcedg dce bgdfce efbac dgfe begdca de gdfcb dbefc | ced ebgcafd ed bgdaec
decfa cgbdae bdfce dgcbe bdfg bgdefc fbe bf bfgcae ebcgdaf | fb gabcef efcdb gdcebf
fbecga efcbg bafgd ac dcgeab eacf bafcg gfdbace gbcefd acb | bfecga efgbdac fbegc faec
ab ecbagdf fbagec cfedb eagbdc acb agdb ecgda acedb gacfde | acdbfeg dgab abc dgbfcea
gfdbc begdcf bfedg acgfed cd fcd febgda cfgab cadbgef ebdc | ebcd gdefab ebdc ebafdcg

100
inputs/09.txt Normal file
View File

@ -0,0 +1,100 @@
5656921987125678979998760234965456789998768789239876323457896545467894567987232345679209876567998656
4349899876234599568987654345894345999987656678945965212348965434356943459876101956798912987459876541
5498789854345689467898765456789297898999736567899874323489654321248932398765219897987893498598765432
6989598765459789356989878767896345987432125456789985434578965432357953499954398789376789569679876543
9875459876569893249876989898965476976521012345699876645689876543456894689875679643234598998789987656
8764345987678989139765393959796567965432543457789987887792987654569965678976798432123467899899998867
9773239898789678999878212345697679876543656598999999998901298767678976789598987621012345943978929998
9652198789894567989992101556789799989854567679659898999992399899789987893459996532136756964569919999
8543999674923469879989232345899899998765678789798787899989989929896798932345987643245697897679897899
7659896543212359768978943456789997889876789896987656789878679210945679651267898789976789989998786789
8798789954563498957767894567899986678989898965432345678964567921234989743456989891988995679876545856
9987679899874987843456965678979875567999987654321239789443459432345899954589876910999434678995432545
9877578789989876532567899789765983458999898965410198999321598996476789875678965439876323789789541234
8765467678999997673458978997654901269998769876322397898945976989987899986789876598765212345678930347
4323234589989998789569769898769892978987654987439986787899865678998998997899989999874347456789821236
4310123689878999897678958789898799899987743498598765696789987799569987898999998789985456789897642345
6421234578956899998989345678987688789996532987699764545698998912499876949998989698976587899998759487
7834545789345778999997236789876567678987653698789843234567899943989989234997678587989798968789898998
8945656793234567899876345698765434589998974569898762126789999899879894349876583456899899655698997899
9658789932123458999765458999654323678909895689987651015897998789965789498765432345699921234987846789
8769894321012367899876567987721012789219789797896543123456789679874397679876321256789430349876734599
9889965439143456789987679876432125699998679896987654234899896598765498989997442345678921467965325678
3999877998956567897898999876543234789896598965498765856789965459876789899998656576789939569876566789
4599989867898789956789789989854345699765497894349976767897654367987895698999767678997898978987977892
5689998756999892347898698998768456789754346789234989878998796456798964787899898989445677899298998901
6899899845890901239986567769877687897673235692123999989449987567899763456789999894323456910149989992
7998789956791912398765436456998998987542124989239898793234598978999854667899898765212347891239878989
9898598767989899459954324365679549099993235978998769654395989899898765678998769986323456789398765678
8767459879876788969843210234568932198789549867989659875989876789769877889987653295434568996987654567
9856345998765657899764321246789845987699998759878943989878965678954989998998854598546878945699543458
9943235987654345678976532347899659876587899548767892398767954569893292677999765987657899234598754589
8632047998775457899876545498998998765456798732455921019655343456789101456899876798768910123459897678
7542123989896668999987756789787899654349986621434893198743212347893252367967987899979439294998998999
9753239876998789998999887897656798743298765410123789987654323458954543478945598999989598989897659599
7654449995979893987899998976545679854349874321245678999995934567895676569123499789999987678789343489
8765998784569932396998769987437789967656985432356789987889895678976987878994987678999876545679212978
9899887643458921985489954599545699878787898765467899996579789789987898989789986568998765432389343459
1998798532467939874367893987657899989898979887598969875468678993098999997656542456989876546456954568
0129654321256899765459932498768989692929567998989657965376578992129899876542101349876987687767897678
9298999432345678976578943569879976541012468999876549874212456789234799997653212498765498898878998889
8987678956756799698689654698998765432123567893986432987301234894345689998765323989874349999989329998
7676567898767894598798765987969876865238678992195410196513346965576796989865439876543236799893213567
8543458999879932989899878976845987974347889989954329987325457896678895678976545987754545698764301348
3212345789989549878942989895434598765456998876899498765436567987989934568987656899865656789965492349
2101676789397698767891098789423459876667897794768999887687678998999912347899767999876767899877989499
3212567893219985456932987679554567987798976643456899998798989999129893456789879987987878999989878989
4323456789998764387899876568965679698899765532345698779899294989098789567894989976598989789998757679
5434567899899765678989875457976789549989654341234987665989123978987678998903496987439395679986545567
6545678988789876789976982349897895434678943210129876534578939865654567899212345698921234598765432498
8766989876578987898995431298789954323567954321239884325989097654523458989423566999890123459878521389
9877899765467898967984310345698965212456895592398765456789198763012369878954879898791234567987632478
9989978984358999549865321234567892101569986989989879877998999832125489767895998787679987678996543567
9898867893267899432979832345698943452978998979878989989567899944345678956789987654567898989987654578
8767456792125678921098765456789654567889999767467899895456798767856789345991986543456789993398765689
7654346789334569432399886667896987698996987654348998754345679878969891239890995432545898942109876797
8743234579456696543989987778975698999785698765459879543234789989878992349789894321234567893299987896
9652125678967789654976599899654579987654569876767965432126567895989989498658789432356778954989999945
8721014567898998769865456976543434976543456987879896943013478953997878987545696545467899899878901234
9832123456789659978954348987632123987654568998998789892134567899876767897676789656578935698767892545
8743234568995443989875467896541015699879878949998678789255778998765455698797898789678926989659789676
7654345789654321295996568987432123456998989439876589678969899999654364759898919899799019976545689797
8965676898743210134987699898943296587897998919887434567899989788963213345999323999898998965434568989
9876789997654329245698789789894989799986897898776623456789876587892101296789454599987987654323679979
4987995789975998956789895699789678989875766987654512345696567456789742679896567989876398766554789568
3298954679899887967899934987654567878964345696543203456965435345897653498987979978964239987667895457
9989763456798776798989429898543476567895256987653212569896321256789776567899898769879125698998912345
8765432345987654789878998769452323479792123498765323456789432345899987678956789656998934569979101236
9899321296998765699869987654321012345689234789765434767896543656789398789547897997987897698654312377
0998910989899876986545699876542123467894345679876545678987656767891239895438456789876789798765425458
1987899876789987899634569987643444578965467989987687989698767878932367994321387899965678969886534567
9876798985678998998785678998754555678996879897698789094579978989973456789210998999864567954997545678
6765987654589899219896899679865766789987998789999892123467989698764567894339899598765899543987659889
5434599543456789995987954589976778997899987659899943234579692569875698965998789439976798762399767996
4323498432345899884398943478987889656768999548789867455698543459876789879887678945797897653989888945
5419987521236789765459654569998995443459998929689978996987656767987894998776569896898998769876999236
6598996432345799896598767679989764312379876213567899989698967878998932989675456679999889899965210123
7987987643457899989679898789876532101999954101377999877549878989999549876543234578998778989874321256
9896599754598999978989969898989953219889893215456789765434989991987657987832124567989656578995452345
8789459895689988767897654947898764598767789326767999874323497890198798998775012579876545456789678456
5678968987899877658989932236789879987656698987978999985212646789259999659654323456987434368999989567
6989879498998765434567890125678998798544567898989989432101239894349898745965434569874321239989998698
7897989369987654323456921234578987654123456789999978999219398965498789659876756998765442398978999799
8996593254598987312347892347689897543244789899878867878998997896987678967987987899876599976767899892
9989432123459876201234989498996798798765679998765756767987876789876567898999898913987988765356789921
9878941012367965312345678999345699899879789459854543459876565698985458799898789109899875434267896540
9767892125679878323456789987656789999989897698763212598765434597654345689798678998756964320134589432
8856999234569999474567898998967896798995979899854443679872123789986456895676569899549876534565678993
7545898945678998765678987899898965987654168998766558789983234895497587894123456789434987655676799789
6534767898799439976989876799789654496543054579878669893494545679398998973236789896545999768789897678
5423456999896521989898765687678943219832123567989778912965876893219349765445678987659878978897934569
7312346789995432398789954554567894398753234578999889999876987932101239876576789998798967989976545778
6101237799989545986566893213458965989964545679432999889987898993299545987689899999987652397999758889
4232345678978959875455799102348979877899656789599989678998929989988956798797999899876541656789767896
5643458989769898765344568923456798765678997899987878567899019876567897899896789789987630345689878945
6756567895456789654123579434568998654567989999996759456789198765458998998965675679898321234678999234
7887678943379899763234678945689876543234878998875642345689987654349899987654324598765432345899899165
8998789321234789854345789656999987632123569987984551234793498875456789998783213459876543656789678976
9549895452375699965656798767899874321012478976543210159892109986767899989654302345998754567897567897
0234976565467789798767899988998765434566567897865421767899212987898909876543213566789766678998486789
1655989876988894569989910199019876545679788998976562345678924598999212987654424587899887889239345678

94
inputs/10.txt Normal file
View File

@ -0,0 +1,94 @@
{{<{{{{([{[([[()<>]{<>{}}]<([]())(()<>)>)((({}())[()[]])<<[][]>[{}[]]>)]{{(<{}<>>{<><>}]([<>[]]<
[(<{{[{(<({{<<[]()><<>{}>>([<>[]]{<><>})}})>)}]}}>[{(<{({[{[[({}())((){})]({{}[]})]<<[<>{}]([][])>({<>()}
(({<{[{({(([[([]())({}())]]({[[]{}]([][]))<((){})<{}<>>>))[(([<>[]]<[]>)(([]{}){{}{}}))])})[({<[{
([{{[([<({<<<([]())[()[]]>{<()[]>[[]()]}>[{<[]{}><[]>>{<<>()>{[]()}}]>[[[[[]{}]([]<>)]<{<>{}}
[[((<({<(<{<<{{}()}{[][]}>[((){})]>}>{((<({}<>)<{}()>>[[<>()]])<<<[][]><<>[]>>{<{}[]>(<>())}>)<{[[{
[{<{{{{<([{[(<[]<>>(<>[])){({}<>)([]<>)}]{{([][])[<>{}]}{<[]<>>(<>{})}}}])<<{[<[<>{}]<(){}>>{<{}<>><<>
(({({([(<[[([[{}{}]([]<>}][(<>()){(){}}])]](({{{{}<>}<{}[]>}([{}[]][(){}])}[(<[]{}>({}()))<<<><>>>])<[{
[{<((<{(<{<<{[()()](()<>)}<({}[])([]<>)>>{(<<><>>[[]{}])[[[]()](<>[])]}>{[[({}<>)([]<>)][[{}[]
{<{<{{(<[[{[[({}[])[()[]]]([()<>][{}[]])]<<({}())[{}{}]><[<>[]](<><>)>>}(([([]{})((){})]((<>)([]{}))))]<{<<<
<{(<<(<[<{<[{[<>[]][{}{}]}{{()<>}{<><>}>]>[<(([]{})[[]])>]}<[<([{}{}][<><>]){([]{})}>]({<{<>()}>{
{[[<{{{<<<[<((()<>)({}{}))<{{}()}>>]<((([]{}){{}<>})[{{}<>}([]{})])({{()[]}[[]()]}[{{}()}({
<[[[{{([{[({[<{}[]>[{}()]]{<()>}}({<()()>}<<<>()>{[]}>))]((({({}[])>{[(){}]{<><>}})(({()[]}[()<>]
[([([([<[{{<[[{}[]]{<>{}}][<{}>(()[])]>[({<>()}(()[])){<[][]>{()[]}}]}}<{(({()}([]()))(([]())<()[]>))<((<>{}
<{[{(({([([[{((){})[[]]>{{{}[]}[<>()]}]])]{([([<[]{}>((){})]<[()<>]<()()>>)][<<{<>{}}{<><>
[[{{(([{(({[[{{}[]}]][<<<>()>({}{})>[[{}<>]{{}<>}]]}[(({{}}{[][]}){[{}{}][<>[]]})(<<<>{}><<><>>>)])<[
[[{([<<([[<(<{<>()}<[][]>>{[<>[]]{()[]}}){[<[][]><{}()>][([]())<<><>>]}>]((<<[(){}][(){}]><([])>>))
[{[<{(([(([([(<>[]}(<>{})][<{}[]>[()[]]])<{[{}<>]<[]<>>}{{[]<>}{{}{}}}>]<<{[<>{}](<>())}{{()[]}{<>{}}}>[
{({<[(((<{<<[[()<>]]<({}<>)>>>[<({[]<>}{()<>})[[()<>][<><>]]>({[{}[]]({}<>)}[<(){}>(<>())])]}><[{<[[<>
<(((({{(<({[<<[]<>>>([()()]{<>()})][<[{}{}]{<>()}>{{{}{}}[[][]]}]}{(<<<><>>(()<>)>(<<>()>[()[]]))
[<{{[{[[[<(({<()()>[(){}]}[([]())[(){}]]))>{[<[[[]]<[][]>]{[[][]](()())}>[(<<>()>{[]<>})(({}())<{}[]>)
(<[[((<<({[(([()[]]([]<>)){{(){}}})]{<(<<><>><[]{}>)<<{}<>]([]<>)>>}}){(<{<{[]{}}[{}<>]>}>{({(<><>)<()[]>}{((
{[{((<{<<<<([<[]{}>[[][]]]<[[]()][<>[]]>)[[<{}[]>{{}()}](<()<>>[<>[]])]>>[{([<()[]>{{}[]}](({}{}
(<([<((<{[<<(((){})<<><>>)<[{}()]<[]<>>}>[([[]{}](()[]))]>[<{({}()){{}()}}>[(([]<>)({}[])){
{((((<(({[(<{<()]([][])}>){[<[[][]]>]<{{{}<>}[[][]]}>}]}[<{([{[]{}}]{[(){}]<<>()>})[(<()<>>{()<>
<<{([{<[[[<{([[]<>]){[<>()][(){}]}}[{(()[])[()[]]}]>][{{[{{}[]}<()<>>]>[[{(){}}[<>[]]][[<>[]]({}()
<((<[<(([<[{({<><>}(()[]))}]<[<[{}()]<()[]>>(<()()>)][[(<>())<()())]<{<>}<{}>>]>>({{<<<>[]><<>(
[({{{{{{(([[<<()()><<>[]>>[{[]<>}]]{(<{}<>>(()[]))<<[][]>(()())>}]([<({}()><[][]>>]<{[[][]]<[]<>>}(
(<(<{{<[{{{[<[<>[]]<[]{}>>[{<>{}}{()()}]]{<<{}()>(<>())>[[{}[]]]}}}}][{([{[([]{})<()[]>][[<>{}]{()[]}]}(([()
{[<<(<<<{[<<<<[]<>><()[]>>[({}[])[[]<>]]><((<><>)[{}<>])[{{}{}}[[]()]]>>{{{[<><>]<<>()>}[<[]{}>([][])]
<(<{<(<({[[{((()[])[{}<>])([<>()]>}{[({}{})[(){}]]<[()<>]({}[])>}]{[<{[]{}}><{[]{}}[[][]]>][[<{}<>><()[]>]<[
{<({[<((<<<{{([]<>}{<><>}}<{<>{}}[[]<>]>}>{<[{{}}(()())]>}>(<<{[(){}]<()[]>}({(){}}[()<>])>[<<<>[]>{[]
{(({<{{{{{((<{[]<>>(<>{})>[[<>()]])<<(()())[<>]><[(){}][{}{}]>>)}({([[[]]]{<{}{}><()[]>})<{[(){}][[]()]}>
<<[<<[((({[[(<{}[]>({}())){[()()]}][{{<>{}}<<>()>}[<{}[]>[<>[]]]]]{<(([]())([]()))>{([()()]<<>[]>)[<
{([<<<({((<{{[<>[]][<>{}]}<<<>[]>[[][]]>}[{[()[]]<<>[]>}<[{}{}]<<><>>>]>({[<[]<>>]<<()()>([][])>}(((<
(<{<((<{[[<[(<[]{}>{<>{}})][<([][])[{}<>]>[<{}<>>]]><<[(<>[])[{}<>]]{<{}{}><{}[]>}>(<([]<>){()[]}>)>]]}{({[<(
[{{(({<<<<{{<({}()){{}{}}>[(()[])]}[([(){}]{<>[]})[(<>())[{}]]]}>[<<<{[]{}}{{}{}}>]{<[{}<>]>{(()())}}>[{(<[]<
{[<<{<[[({{<<{()[]}<<><>>>([[]<>>[{}[]])>}[[[([]<>)[<>{}]]]<<[<>()](<>{})>>]})(((({({}[])<<><>>}([<>])))((<
[{(({({<({(<{{[][]}({}<>)}[{()()}{[][]}]>(((<><>)(<>()))([{}()][{}()])))([{[[]()]<[]{}>}{(
{<{{<[<<[(<([({}())[{}()]]{{{}<>}<[]>}){[((){})<[][]>]<([]())({}[])>}>{<(((){})[()<>])(<()[]>[(){}]
{({({<{{(<([<[<><>]((){})>{{()[]}<<>{}>}]{[(<>())<{}[]>][{()<>}[[]()]>})>[[<{([])[()[]]}><<[(){}]({}())>>]{
(<{{(<<<{(<(({<><>}{()[]})<[{}[]]([]())>)([(()<>)[[]<>]]({[]()}{{}{}}))))[(<{{()[]}<()[]>}((<><>))>[[
<<[<([{<<[[({<[]<>><<>()>}{([]<>)[[]<>]}){[<{}{}><()[]>]<{<>()}{<>()}>}]{{<({}{})>})]>[<({<
(<<[[({[({(<{{[]{}}<[]{}}}>[<<()<>><{}<>>>(<()()>{{}<>})])}{<({({}[])<()>}<([]())<{}<>>>)<<[(
[<(<{(([(<([[<<>{}>(<>{})]](((()[])[[]()])[[{}<>]({}{})]))><<{<([]<>){[][]}>[{<>[]}<()<>>]}>(<((<>[]){()<>}
[<{[[{(([[{[{<[]<>>(<>[])}<<<>()>{{}{}}>][({[][]}<<>>){(<>[])[<><>]}]}(([([][])(<>[])]{(()())}))](<<{
((<{<<([<[(([{()()}((){})][<()[]><()[]>])<{({}<>){{}<>}}>)[{(<<><>>)<{{}[]}>}({(<>()){()}}{([
[({{{{((([({{(<>[])[[]<>]}([{}])}(({<><>}{<>()})[[{}[]]]))<{[[<>{}](()[])](<()<>>{[]()})}{{<()()
[<[<({[[({[[[<<>[]>]({[]}[<><>])]{[[()<>]([]())]<({}{})[[][]]>}]}<<(([()()]<()<>>)<{()()}[()[]]>
{<([[<[<<(([<(()[])(()<>)>{[<><>](<>[])]]{({{}})}){<((<><>)<{}<>>)((()[])[[]()])>})<<(<(())(
<[<((<{(<[[({{{}()}({}{})}}<[[()<>]]<[()()][<>]>>]<[([()()]({}<>))[<{}()>([]<>)]]>][{[[(()())[()]][[<>[]
[{(<(<[((<{(({(){}}[()[]])<{[][]}(<>{})>)[(<<><>>[()[]]]{[{}[]]{()<>}}]}><[<[[{}()](()[])][(<>()){<>()}]>[{
([({<({{{[[<[{{}<>}([][])]{[(){}]{()<>}}>][{[{[]<>}][<{}()>]}]]}{((<[{{}[]}(()()))[{<>[]}]>({(<>{})<[]<>>}
{[({[<[([(<{((<>{})<{}{}>)}(<[[]()]<{}{}>>({{}[]}{[]<>}))><[((()[])(())){([]<>)[()[]]}]<({()
[(<<<([{[[[<<<<>>{{}<>}>[{[]()}]>[([[]{}]{[]<>}){[<>()]}]]]]}]<<((<([{[][]}<{}<>>]<[[]{}][[]<>])){{[<>[]
{[{{[[{{[<[<<{{}<>}<[]{}>><<()[]>[<>[]]>>[([<>{}](()()))]]>{({([{}[]](<><>))<<(){}>(<>{})>}({([]<>)[{}[])}(<<
<{([[{<[<{{([(<>{})[<>()]]){{[()[]]([])}}}[{<((){})([]())>}(<{[][]}<<>{}>>[[[][]]<()()>])]}>[
{(<[({{(<<<{[(()())]<[<>[]][{}{}]>}[[<()[]>{[][]}]]>(<((<>())[()[]]){{()[]}{[][]}}>({{[]<>}<[][]>}(<[]{}
<{{[{((((<[{({[]{}}<(){}>)}[[{[][]}<<>{}>]<<[][]>{[]}>]]>{{([((){})<<>{}>]{{()()}})<[<<>()>](<<>>[()
<([({(<<<{[<{(()<>)(<>[])}([<>]{<>{}})>]<(<<<><>><{}()>>[([][]){[]<>}])>}{[([[[]<>]{(){}}]<[{}<>]{{}<>}
{<<<[{[(<[([([[]()]<()[]>)(([]())({}[]))]<[[()<>]]<[(){}]<[][]>>>)(<{<[][]>)<(()<>)<{}[]>>
{[[<[[<(<[[{(<()<>>)<{{}<>}[[][]]>}<<(()()){[]{}}>{<[]()>>>]]>)({<<<<[{}{}]{<>()}>{<<><>>([]{})}>>[([<()()>(
[[[{({{({[{[(({}())(<>[]))<<<>[]>[[]<>]>]<<<()()><<>>>[({}())(<>[])]>}[({<(){}>({}{})}[[{}()]]){[[[]<>
<(((<<[{[[<({({}<>)[{}()]}[{[]{}}([]())]){([[]<>]<[]<>>)[(()[])[{}[]]]}>(<<<{}[]><()[]>)>[[<{}(
[<<{[{{<<[[{<<()[]>(())><<{}()][<>()]>}({[{}{}][<>()]}<([]())([])>)]({{{[][]}[<>{}]}<[()]{{}()}>}(({
{([(<[[<(<<<(<<><>><{}<>>)({{}()}[<>()])>{([(){}][[][]]){[<><>]{<><>}}}>>(({(<<><>><()<>>){{()<>}{(){}}}}
[(<([[[([(({[[<>[]]]}))([{{[{}()]([]<>)}{{<>[]}[[][]]}}(<([]())>[([]{}){()<>}])][<{<()[]><()()>}>{<([
{([[<<[[<[[[<[{}[]]{[]<>}>[<{}()>{<>[]}]]]<[<{[][]}(<>[])>[[{}[]]<[][]>]][((()[])[<>{}]){{{}()}[(){}]}]>]>
{[[[<<{{[<<<([{}[]]<<>[]>)([()]<{}{}>)>({<<>{}>(()[])})>[(((<><>>{<>{}})<<<>[]>[[]()]>)({(()(
[[[{<<(({{[((<{}<>>[{}])({<>{}}<{}{}>))[(<{}()>(<>{}))(<<><>>{{}{}})]]({{<()>}}(<{(){}](<><>)
(({{[[[<[{<{[<{}()><<>{}>]}({[[]()]<{}[]>])>}[<{{(<><>)<{}()>}{{{}<>}{{}[]}}}(([<>[]]([][]))
<[<<{({[(<(<{({}<>)<[][]>}{(()[])({}[])}>{(<{}{}>>})>([<<<<>{}>((){})>[(()())[[]()]]><{[{}<>]<<>
[{<{[(<[[[{({({}<>)(()<>)}{<[][]>})}{[<[()[]]{[]<>]>{<{}()>(()())}]{[<()()>{<>[]}]<[<><>]>}}]
({{<{[[[([({{<<>()>(()<>)}(<{}()><()[]>)}<[[{}()]<{}[]>]{((){}){{}[]}}>)[([{<><>}<()<>>][(<><>)(()())]
(({<{{{[([{<<<{}{}>{[]{}}>([<>[]]{[]{}})>}{<<{[]{}}[[]{}]>{<<>{}>([]())}><(<(){}>({}[]))[(<>[])(()<>)]>
<[<(<{[[<([({[<>()][<>{}]}{{()()}[<><>]})]<[[<[]()>]<[{}<>]([])>]{<[<>[]]<<>()>]((<>())[<>{}])}>)([{<[[][]]
<<{{((({<<[[<{<>()}(()())>[(()[])[()<>]]]{({{}[]}[<><>])}]<{<<<><>>{{}[]}>}<[<[][]>[{}[]]](<()()>{[]{}})
[<<{<{([{(({[{()[]}{()}][({}{})(()[])]}{({<>()})({[]()}({}[]))}))}][[[([[{<>[]}[{}[]]][[<><>]<()[]>]]([
[([[{{<(<[{(<<()<>>><[[]()]{()()}>)<(({}()){[]<>})>}]>)>{<[<{{((()())({}<>)>{([]{}){{}<>}}}}<({
((<<{(<[(<[[<({})>[{[][]}[<>[]]]]]>)]>)}([(<[[([(([][]))[{{}()}([][])]][((<><>){[]()})])]]<<(
<<<<(<{[{[({<{(){}}[<>]>[<[]<>>{<>()}]}[<[<>()]>{[[]<>][{}[]}}])(<{<(){}>[{}{}]}<(()<>)<()[]>>>)][<{{<[]<
(([[<{[({{{[<<<><>>(()())>({[]<>}(<>()))]{<[<>()][{}{}]>([[]()]((){}))}}((<({}{})[<>]>([<>()]{(){}})))}[<{([<
{[([<<[([[<[(<[]()>{()[]})<{<>()}{(){}}>]><<{<[][]><{}()>}(<[]<>>([]<>])>>]{[[<<{}<>>({}[]
{{[<<(<({[<<{<[]<>>}{(<>())}>[{[<>]{(){}}}]>]}{{{<([()<>]{<>{}})(<()[]>[[]()])><[<<>[]>({}{})]((()())[{
[{{[<{<<{{<[<<()()>[{}]>([{}{}]({}{}))]{(<[][]>([][]))(([]{})<<>[]>)}>}({{<{<>[]}[<>()]>(({
[<{[(<<[<<(([[<>[]]][([]())({}<>}])){(({[]()}{()<>})[<[]{}>(<><>)])[<[{}[]][{}{}]><{(){}}<{}{}>>]}>({<<[[]()
[({[<<<({<({({{}<>}[[]{}])}({({}<>)<<>[]>}))([<{(){}}>])>}{<{[[{{}{}}(<>{})]]<[[()[]]<<><>>]{[<><>]<{}()>
[<{<<<<(([([[{{}()}[<>]][((){})[[]{}]]](({[]()}[[]()])[{[]()}(<>[])])){[{<<><>>{{}<>}}<{()[]}[[]
[{({<(((<({{({[]()}))[((()())<[][]>)<{<>{}}(<><>)>]}{[<[[][]](<><>)>][[{<>{}}[<>{}]](<<>[]>{[][]})]})>)))>}
[[{[[{({[([(<<<>[]>[<><>]>([{}()][<>()]))<<[<>{}]{{}<>}>[<<>{}>([]{}]]>])<(<(<[]()>)[(()[])
<([(<<[<<({{{([]{})}[{()<>}<[]()>]}}{(<{[]{}}([][])>)})[[[<[[][]]<<><>>><{{}{}}(<><>)>]<<(()())[(){}]>{
[(<{[{({[({<{<{}[]><<>()>}{<{}()>[[][]]}><<{{}()}{(){}}>>}[<{{<>{}}{()())}>]){[<[{()()}<[]()>]><[[{
<{<[{([([<<[<[<>()]{(){}}>][({{}[]}((){}))[<[][]><()<>>]]>>{{{<{<><>}{(){}}>({<><>}<()))}({<()><{}[]>}(<(
({((([[{([<[(([]{})){[()<>][<><>]}]>{[<<{}{}><()[]>>(<<>>)]({<<><>>[<>{}]}{<[]{}><<>{}>})}])[(<(([<><>][{}{
<[<(([(({([[<(()[])[[]{}]>{<<>{}>(<>{})}]]([([<>{}]{[]{}})][{<()>{()[]}}(({}[])(<>[]))]))})({{[(({(){}}[<>

10
inputs/11.txt Normal file
View File

@ -0,0 +1,10 @@
3265255276
1537412665
7335746422
6426325658
3854434364
8717377486
4522286326
6337772845
8824387665
6351586484

24
inputs/12.txt Normal file
View File

@ -0,0 +1,24 @@
rf-RL
rf-wz
wz-RL
AV-mh
end-wz
end-dm
wz-gy
wz-dm
cg-AV
rf-AV
rf-gy
end-mh
cg-gy
cg-RL
gy-RL
VI-gy
AV-gy
dm-rf
start-cg
start-RL
rf-mh
AV-start
qk-mh
wz-mh

910
inputs/13.txt Normal file
View File

@ -0,0 +1,910 @@
688,126
1237,406
1228,327
827,189
132,457
641,120
1255,579
1310,187
371,166
576,332
1207,835
746,595
468,5
428,282
540,446
1253,393
788,701
1034,387
509,526
209,360
676,245
781,107
515,301
1235,194
83,304
177,568
159,570
141,583
599,763
519,263
261,260
18,281
870,688
1190,598
1287,169
616,351
89,488
23,725
338,204
641,792
693,577
1278,768
739,304
749,565
1096,742
504,621
900,103
627,11
1272,543
281,491
1185,129
1293,526
917,701
781,395
1005,264
843,67
930,812
967,746
1160,845
1057,313
164,92
1089,687
1267,504
113,675
676,469
1042,82
1053,777
877,334
641,270
731,855
1165,526
638,250
306,544
1034,294
1297,624
509,78
549,127
1001,647
624,499
478,509
261,232
801,526
818,810
213,339
1064,364
972,690
213,555
117,388
1146,354
837,42
667,672
223,59
50,507
1027,504
22,397
3,613
554,383
649,31
806,621
176,201
619,88
847,183
768,542
1143,140
971,110
574,747
639,120
1294,196
542,94
1011,39
89,504
875,803
271,37
729,805
253,357
492,806
622,126
748,333
693,465
780,127
1057,840
1086,826
1200,826
813,158
473,42
277,600
1022,95
1064,530
37,36
823,1
1057,651
962,714
60,816
710,794
82,810
1277,267
843,301
872,866
482,322
991,362
428,164
127,696
693,410
1139,868
832,873
32,126
872,516
21,182
875,91
1310,709
1290,201
1283,683
661,863
73,306
194,457
1094,187
144,431
1262,339
305,525
507,735
467,281
525,627
1250,78
1049,773
900,819
582,707
627,211
124,637
62,383
473,78
975,691
16,644
1245,466
1181,757
654,485
594,368
256,113
529,787
637,78
1141,626
701,670
765,347
397,329
731,263
668,721
291,179
1217,280
192,586
552,154
785,179
709,211
893,628
1273,484
89,292
571,304
437,883
1197,614
667,224
348,628
1005,600
410,551
401,406
567,417
1006,206
850,247
1004,96
674,95
393,701
1007,831
820,418
888,588
624,652
393,774
257,117
469,189
296,567
373,222
276,507
301,332
440,294
435,53
1092,772
1139,637
595,350
1042,530
435,841
75,855
492,536
93,728
927,73
497,46
673,526
445,808
557,652
401,805
818,806
412,114
1073,280
323,793
1293,647
487,1
843,145
112,94
365,765
355,487
1026,369
1193,782
694,95
463,183
820,707
57,725
1123,575
306,798
1203,288
7,868
15,465
793,480
925,277
811,196
646,546
641,326
88,42
349,294
994,268
841,705
596,252
638,644
214,742
435,526
1238,707
561,166
577,93
517,190
639,317
92,221
226,506
541,488
517,414
1019,715
909,243
37,410
601,211
232,588
617,186
37,484
1248,511
139,165
736,747
216,203
417,628
961,712
659,812
743,477
339,784
316,626
800,7
172,322
893,182
636,281
164,585
547,674
542,876
1197,70
525,267
15,36
1240,177
1005,425
1006,21
1245,121
933,600
1054,893
600,100
949,86
373,403
1057,56
1054,1
694,799
550,82
1057,243
89,824
435,501
1021,577
1185,107
483,332
955,683
1091,837
1042,364
1071,642
1273,260
167,140
619,536
113,728
857,877
437,235
129,137
1087,96
952,253
659,109
910,595
176,693
952,499
721,502
164,354
529,339
417,182
781,787
170,826
857,241
775,372
453,843
962,404
316,268
744,404
582,35
1160,84
765,498
589,196
299,519
72,259
164,866
761,127
125,765
1134,693
795,593
1015,488
216,187
299,855
52,812
1002,431
721,193
914,252
304,273
910,707
585,728
510,711
917,466
438,68
43,484
1041,603
397,614
542,352
400,747
537,11
1261,518
313,624
495,371
1116,247
21,369
803,159
566,852
303,383
748,781
656,37
254,299
176,497
1303,691
0,485
1241,504
1163,735
1064,147
182,439
490,707
214,94
1129,42
293,715
107,9
542,542
284,369
1235,39
991,469
1200,467
632,397
1014,701
1130,306
1015,406
75,197
927,427
1096,800
1241,838
1066,810
765,435
700,686
401,651
1300,647
815,526
838,767
23,189
708,203
1034,632
150,761
460,247
1029,491
1193,800
633,712
1134,201
870,94
467,491
401,54
1056,819
470,798
1134,497
837,852
602,203
1190,296
346,57
1203,53
1143,754
110,68
890,389
13,270
781,339
991,82
1017,585
813,44
269,277
393,466
383,427
975,469
1007,383
955,375
467,301
1148,806
490,418
1091,78
505,120
1287,705
331,225
848,196
346,407
641,774
356,798
27,211
785,627
343,792
599,660
1109,577
664,546
125,129
102,238
519,631
504,49
344,420
164,802
676,649
372,191
525,403
549,739
1203,368
1257,659
589,253
813,119
271,256
842,5
229,204
579,476
264,831
987,549
547,501
22,497
785,851
1001,32
574,299
1053,329
760,82
885,569
728,299
171,189
892,329
939,614
566,42
385,277
1039,256
355,519
1091,501
7,245
879,103
932,632
242,114
639,568
562,673
763,448
1019,267
537,500
1033,658
141,311
1273,36
8,546
1163,36
1193,836
124,767
381,683
431,103
1186,637
823,337
647,355
1303,245
167,1
291,582
1227,304
636,799
1201,396
490,810
828,322
254,819
1037,737
633,861
467,831
129,267
721,701
1057,89
565,390
89,614
738,567
858,575
68,866
1125,637
1143,893
1151,324
1197,675
729,502
418,565
617,484
75,194
1129,852
900,119
1014,567
436,122
1171,749
1156,147
1019,806
55,277
299,459
1223,252
714,28
415,869
820,540
1302,348
868,331
514,649
843,491
579,253
6,33
843,281
80,694
487,754
1062,108
964,57
1197,824
261,120
1026,525
763,9
223,551
420,389
1049,54
987,793
396,642
704,555
1125,201
843,831
1014,193
433,207
1056,187
244,810
873,11
1054,45
651,109
1169,481
1109,17
1208,154
393,120
219,816
315,560
1283,211
67,351
875,78
1183,885
952,74
581,805
726,290
410,819
460,701
1059,855
641,102
959,189
765,95
1146,707
365,129
1093,771
107,672
1066,103
909,54
214,163
1171,613
223,835
634,245
714,476
693,484
912,45
328,411
13,624
982,483
310,868
875,841
618,163
646,348
70,221
311,466
818,536
187,319
1201,347
711,763
453,877
45,758
1154,68
763,226
1096,549
507,484
94,140
403,476
1160,581
574,694
365,186
289,129
770,448
914,642
1166,431
1198,18
338,367
714,866
813,718
748,221
676,21
256,45
601,235
425,164
840,798
1134,385
1303,26
472,127
639,774
716,526
930,82
795,145
219,91
1198,94
726,738
800,711
711,234
32,768
540,448
214,184
253,854
311,428
495,1
1084,388
674,799
237,189
43,410
641,494
1243,543
201,115
1181,627
611,619
256,449
1096,688
976,481
331,101
729,306
545,498
694,351
811,114
561,565
65,232
686,690
445,861
967,550
164,84
89,602
182,767
1076,617
415,421
113,614
691,358
1059,476
639,858
372,703
619,806
269,603
902,791
676,425
979,793
309,144
562,561
721,698
1266,367
1203,526
305,294
164,757
1295,36
1178,457
1170,649
472,15
939,36
959,511
358,820
718,159
1039,579
22,49
541,518
172,217
239,252
1034,507
971,784
1056,299
836,588
21,871
872,28
1033,600
17,526
530,189
60,78
273,737
1307,505
1297,102
1019,582
1310,185
766,427
1006,621
577,281
1267,410
979,225
572,567
826,826
542,793
403,418
253,812
268,812
1223,865
909,406
945,129
875,526
714,812
140,245
271,315
572,119
677,871
987,221
656,857
482,665
387,656
1275,88
109,347
700,238
125,555
157,176
875,53
387,238
483,562
1297,400
117,800
361,86
181,368
73,406
632,206
393,568
180,451
485,268
437,323
57,110
1265,136
530,637
311,596
811,780
221,560
554,282
909,530
1171,281
438,28
261,840
677,182
150,810
909,651
1038,772
16,219
284,525
1007,63
634,649
319,362
565,292
440,184
1005,525
1064,747
335,691
828,229
659,785
398,45
952,372
917,120
1139,705
440,94
82,327
144,183
584,290
1230,136
589,641
739,590
246,147
828,665
1294,250
43,843
276,387
1267,51
1273,410
781,555
677,861
870,294
253,840
693,17
331,345
768,262
70,177
67,543
97,690
16,250
525,851
252,180
1002,463
13,326
277,294
103,768
589,876
1288,245
827,637
253,581
525,715
725,504
467,145
1256,346
164,309
917,326
244,119
900,551
647,474
537,782
1094,203
22,245
937,403
219,803
1146,309
841,201
144,887
1006,721
1123,319
11,224
425,690
962,628
170,696
fold along x=655
fold along y=447
fold along x=327
fold along y=223
fold along x=163
fold along y=111
fold along x=81
fold along y=55
fold along x=40
fold along y=27
fold along y=13
fold along y=6

102
inputs/14.txt Normal file
View File

@ -0,0 +1,102 @@
OKSBBKHFBPVNOBKHBPCO
CB -> P
VH -> S
CF -> P
OV -> B
CH -> N
PB -> F
KF -> O
BC -> K
FB -> F
SN -> F
FV -> B
PN -> K
SF -> V
FN -> F
SS -> K
VP -> F
VB -> B
OS -> N
HP -> O
NF -> S
SK -> H
OO -> S
PF -> C
CC -> P
BP -> F
OB -> C
CS -> N
BV -> F
VV -> B
HO -> F
KN -> P
VC -> K
KK -> N
BO -> V
NH -> O
HC -> S
SB -> F
NN -> V
OF -> V
FK -> S
OP -> S
NS -> C
HV -> O
PC -> C
FO -> H
OH -> F
BF -> S
SO -> O
HB -> P
NK -> H
NV -> C
NB -> B
FF -> B
BH -> C
SV -> B
BK -> K
NO -> C
VN -> P
FC -> B
PH -> V
HH -> C
VO -> O
SP -> P
VK -> N
CP -> H
SC -> C
KV -> H
CO -> C
OK -> V
ON -> C
KS -> S
NP -> O
CK -> C
BS -> F
VS -> B
KH -> O
KC -> C
KB -> N
OC -> F
PP -> S
HK -> H
BN -> S
KO -> K
NC -> B
PK -> K
CV -> H
PO -> O
BB -> C
HS -> F
SH -> K
CN -> S
HN -> S
KP -> O
FP -> H
HF -> F
PS -> B
FH -> K
PV -> O
FS -> N
VF -> V

100
inputs/15.txt Normal file
View File

@ -0,0 +1,100 @@
1611211251115912246318291351712232221112291225613417396681596333922111215456315139438667612549131941
8932114117311575142243171112817226232119863432221628251318261661191181914131437113236733419511921113
3311112319881299126138992415428219269217291531671353324111619434247412712947881243552169128135998191
2519114235316687331115265422264283428712233596112945181199111152385542971123592212311162661421311721
1382461356912146511842319166317957261971229314621394111613112824713571111351337871924493182613432256
5114711863712392214191153831119241119273761167659431242745167938327311529213316381831112912163261726
2133551185321341121928148131837914911121496412338312251193532149215486158331691323639142596645122111
1711569246152189932234173111631965298489584111312431711132154431213342671841478551877131719115182119
9122149481122135915537133111611623234859281656147415218627843119137181419118649192615139557824552374
4911523117167829117391221297181113512124212111923552525313422843324691463742313599316131243752253684
5414417111829212132324935672161432171112458323991236122391625212798322322229323469836523865422521221
6411419531652111283121918212256619646644819331891775249312384935234199392273946162322562911231297881
2128729415918832321163943197715389275338541111113951736132921133694314913712199421116532211811753165
4155523539192111125923842191181996311591936139684321893331918133513841219121725123321178229123219131
9479285145913396251237128221525362732111772949515352815229526959117541561311121638422294521121411186
5361431713278166762792211821131161119224248551162317662211612621114112115836126641192459222212113327
2494757131117376374123218127935211421161131174291195896246235724212194112343914127851943372836444151
1126333352124135364191315839321423442739332131119751918814928429539165252271192793931114699193141352
7993476425955975972523385123991731131227922419193851353711242334711754713176123716252617514911343624
3837633187113119153159621661333345499733158211731234919113375757122732611351412411224458275312113323
1213823111311973291166152828314699226174131294182312323228596132434921226112127148541491997311661191
1941285148119221112175922114193977135939237888391111177353313353689991314261133271214122191599821736
8119315121159215398141511314171194211295753133431893571741116342288969422281953477211127122222213973
3211111167199143898758411863181981129346176513322864719479111538191232861611116115119312419947645553
1116492399643291188637718819419298121111918367194662558912163995311127427114328911165321911938295897
5221341524613111111223219421487242918173161311123534127423239989283232112859413129411118482547249611
2221112419417121234321411525226131119681871293873972521124131841952617392731118211645272733175695623
9612345322815334929511532521673436495145189314311416112129421593214128111119235149113134463374743313
1244221693131322581451147117421391191864425622293214124341731361291125663915221114141621411362821278
2172253112327761111869591591622634435924853217231815881111128255855675618865529681213195121163164521
5743111872122589683117162112882841163318223322251188355331721123578419616834686786529121123113218593
3321161112491141116159313111431514931151434445121713391782311211112188453711967181121569227119699721
7512453185178912811919718138316122226148122383921386636142313119496642377384231129986892299376621781
3113599931452121119619213654414531351118185111248215332182424311317111178972225269831323284339236238
9912366294321341583781633214743179594932161437249186115152411911369753336382255511323199954813623728
1314711821143992615365323742237972221289177334988151971416866117414415987181446288212921318291872287
1624323218114569968532411252451323154227171182184321146819515242113128613341112811137258318916548332
1195511352111831237947711128751752123921434481581332911154674751178836895113494129677169311468467511
1863122261482612323595412171126851273311324418253578198211196382173948331667691631411433864291121391
3122131239163387493384638361292847829627718461433891215125431265311315821112996425882765126561237115
9911861321475453331414812557311159914929131473161814111427321154399431161191225423116724752189845823
8151641221153511138821713126551323968737187495942257223319592116321152816393654749195121842859351561
1166117415617912214512233311622311349827111971281785282815252122131242554221212241132169312158111271
2233996127755859511239121167379563381398219339928131397735621213582199233313911145982592291244594129
8569151891541511111461248226124157912265892366222218221872634432811432182612229317181291524711139591
5412311262782192614933281411582713218722165267517317328522142495131291471384412276125722597121434111
4173541913248981189134359164156111911121424819924627122149411627829189431144112131161789527537415321
6199541772813361931132121169128154757113922428416775411215491988894985711765281981294312137712596211
5251419132285971615119119177942242443621167411481133191239129831611177111334811322714342335212111579
1211672567181413837159338619362214593438571282737841891171811922112975413195436813376511357913889116
6914528121947132224243611758351474856334243631714152291226249163141142233286146216271151727381151169
1871184111221765954832861441175634212721111212163252244115391345154411384118131211297436312614113428
3557196222191552169112122212625667121963141445463531367892145241154113939211239289676471619622335121
8567338617111541261391871614787255952111293114637631145121311622153232556918911718514211615412216141
3944121182193414694117121173381311212142432119146149621727971611129135332923129117951215298211269685
1111592571437471142981893366164971251413314142436483167321549514181212232343999516918983819933236711
2375115619131214293975661177135192182233622431221411615114284928141121112272113151119724411224972212
1145312314943244314182211125113132121152177139345496164699415321632281441514462841822959821322912811
1128221793138934439154535119891154314517512192822451911664244177187311411881591162215129524277142942
6921947132116612163531511516186151192965868417146111719495941314413311391186879899168572141191251821
3186112191177114711191511274113892212111986111184132611486471323117534245765967313831244815411149751
7211143432211162819111341412884428411157442849137112139891933941951342191473171151339821319247144849
1131113162196912112827566145361732144314447154315612293272485153184992426631931523811115124359133865
2281351241119151142551963821187631141146729957878815111212296647772312131896111211121435246213415112
6613911666125516111611198421146871358716222211126181284827422512433151939174162969714755332383281551
1314838958146117922189891941512614221122283989927215899611211552121843851111181341741142862615891571
1184414114322239212541616362157152294513233374491318461448714111519235422661798718171439241333431296
9311816362385233444141981596131861168924891222652896114258832451273331121448932163431364431164713512
1712984142627979443581394797712382615719949171481235263498912867711341219911315133743566529611474376
1718233118179567122847133769922353161321539632555611121981121731282117121198481422621181544275958977
1965611713311299491119831837156322619154487176611728193194757471222195131333111191133639479288145129
1925143767879899127119296284583131662912411236971684115512125122995914975232517512847426331989161132
4499267153717255561739216833131923245176337118314966821513423353715111317591526423211571894215118187
6579124183396925714615176324644214696647734416475522221315511135949232212422214239431992312238376121
9422683256329462113113721585689491163835132226239324123952341945732131113122223192114515783614231313
2155691356142542121131351729332713931122531151137795833172153367423193842872211218197921147111831296
2316296411941633442127418259415912992294191164991361512885441591856325534682915231823857139781651122
9145636137281236355296215512749138944731311141277711621121111498691212276268831522715182159527772777
3224122132239918842916762517116151661619122978482962411115113411995381473218465123135111322141134939
6582351117483126471318349319471541111917442217717826322613365376294124112591671131243119511279414331
6423952732261724348136382963134472539218234399242771194234392191432797697271349538712139262173323939
5995413228134633761812711113695646455338171181624111194996368911812318641817184264325113531133191771
1161351263343243681321468581721652196519161223416276521842811111224136921281256361216611912232865513
2185132121111682961259657424131224958141284152159882687111141923263321231218111258572158565191221314
2817225411782624419714272493347261556461522152931965215218223824912411171151744891113912194137111423
1579421337169822546441817285517972381181324434929391762124311161134381199823232531412315824999419213
3397433594321463666814912371119113783382222111221112984248888113935751232163134138754215731563528193
3142471143234221613116412482441787257711122117635393189121212512552831411161239125913133111811135743
3892129761474512987363928223283161741741136114411532151214231333431431221937142357114251112998852553
5541195316631416357251394178322219446412481895123714849951917522182335426248194849111296984119159115
6135415326645125142212956869181913111276972623139411379444646921626426393126519431231627738414519415
7251911292354759133915441134817595316198333184811718729171311322429315768358628238138131651543153821
1429314149329291981111115452911258119831371787279311981671662216716411183121183216117779949145194819
9446771212175891141141332112891165219141111999616597311271116422955215881561111292111311146215473192
2521861131871723318434421918715152965195611181488289421611546398635412427117931218893287513626244111
8153191121156911192812112313211137214128163295685421243114341139614913113191157196121836348767226615
7191223694191111525131311232587511392919411121716188943799133588811321333393142496522191428461621541
4311991831229124542211761611121912789517192135112141341544155561111164536149942489792274122235211192
1955255328184197192291393141191318135231142911827322211178376698122131997147521924327551211333124525
2327268121248272713243282411262957517495392942118222115384214211191592248992511958919114295121113911

1
inputs/16.txt Normal file
View File

@ -0,0 +1 @@
A20D5080210CE4BB9BAFB001BD14A4574C014C004AE46A9B2E27297EECF0C013F00564776D7E3A825CAB8CD47B6C537DB99CD746674C1000D29BBC5AC80442966FB004C401F8771B61D8803D0B22E4682010EE7E59ACE5BC086003E3270AE4024E15C8010073B2FAD98E004333F9957BCB602E7024C01197AD452C01295CE2DC9934928B005DD258A6637F534CB3D89A944230043801A596B234B7E58509E88798029600BCF5B3BA114F5B3BA10C9E77BAF20FA4016FCDD13340118B929DD4FD54E60327C00BEB7002080AA850031400D002369400B10034400F30021400F20157D804AD400FE00034E000A6D001EB2004E5C00B9AE3AC3C300470029091ACADBFA048D656DFD126792187008635CD736B3231A51BA5EBDF42D4D299804F26B33C872E213C840022EC9C21FFB34EDE7C559C8964B43F8AD77570200FC66697AFEB6C757AC0179AB641E6AD9022006065CEA714A4D24C0179F8E795D3078026200FC118EB1B40010A8D11EA27100990200C45A83F12C401A8611D60A0803B1723542889537EFB24D6E0844004248B1980292D608D00423F49F9908049798B4452C0131006230C14868200FC668B50650043196A7F95569CF6B663341535DCFE919C464400A96DCE1C6B96D5EEFE60096006A400087C1E8610A4401887D1863AC99F9802DC00D34B5BCD72D6F36CB6E7D95EBC600013A88010A8271B6281803B12E124633006A2AC3A8AC600BCD07C9851008712DEAE83A802929DC51EE5EF5AE61BCD0648028596129C3B98129E5A9A329ADD62CCE0164DDF2F9343135CCE2137094A620E53FACF37299F0007392A0B2A7F0BA5F61B3349F3DFAEDE8C01797BD3F8BC48740140004322246A8A2200CC678651AA46F09AEB80191940029A9A9546E79764F7C9D608EA0174B63F815922999A84CE7F95C954D7FD9E0890047D2DC13B0042488259F4C0159922B0046565833828A00ACCD63D189D4983E800AFC955F211C700

1
inputs/17.txt Normal file
View File

@ -0,0 +1 @@
target area: x=32..65, y=-225..-177

100
inputs/18.txt Normal file
View File

@ -0,0 +1,100 @@
[3,[5,[7,[3,9]]]]
[[[[7,0],0],[2,[2,8]]],[[[7,8],1],3]]
[[[[2,7],0],7],4]
[[2,1],[9,0]]
[[[[7,1],[3,2]],[[9,8],5]],[2,7]]
[[[8,9],[[8,7],0]],[[[8,7],[6,3]],[[1,7],[8,9]]]]
[[8,6],[[9,[1,7]],[6,[3,9]]]]
[[2,[[5,6],6]],[[4,[5,9]],[3,[4,5]]]]
[[[[2,0],[1,1]],[6,6]],[[1,9],[[2,7],[6,8]]]]
[[[4,6],[[6,3],[3,9]]],[[[2,6],[6,1]],[[9,9],[1,5]]]]
[[[4,[3,1]],3],6]
[[0,[[5,2],8]],[1,[9,[4,3]]]]
[[[[8,6],[2,1]],[2,[8,6]]],[[[7,1],[3,9]],0]]
[[[[4,7],[2,7]],[[8,9],2]],[[[2,4],[7,2]],[3,7]]]
[[5,[2,2]],[[1,6],[[9,1],[5,0]]]]
[[5,[[1,2],[6,4]]],[6,8]]
[[[5,[1,7]],7],[7,[8,1]]]
[[1,9],[[0,3],[[6,7],[2,4]]]]
[1,[7,[[0,6],0]]]
[[[[5,7],9],[[3,2],7]],[[5,1],[9,9]]]
[[[[0,4],[9,6]],[[8,3],[7,4]]],[7,[6,2]]]
[[[[1,6],0],[[8,0],[3,4]]],[[3,[0,3]],4]]
[4,[[7,8],[4,[9,7]]]]
[[[2,[3,7]],5],[0,[9,9]]]
[[[2,0],[[5,8],[7,6]]],[[9,[6,2]],[3,2]]]
[[[3,1],3],[[[3,7],6],[9,8]]]
[[7,[[2,5],5]],[5,[3,[4,5]]]]
[[[6,7],6],[2,[[9,3],9]]]
[[[[5,6],7],[[3,2],5]],[[9,[4,3]],[3,8]]]
[0,7]
[[[4,6],[2,9]],[[[7,6],[5,1]],7]]
[[0,5],[[1,[4,1]],[[7,3],9]]]
[[[2,[3,8]],5],[[[5,9],8],[7,0]]]
[[[6,[8,6]],[[3,6],7]],[[2,1],[6,[7,5]]]]
[[2,[[6,3],[8,9]]],[[[5,6],4],[[7,0],1]]]
[[[[7,1],[5,6]],8],[[[8,9],4],[8,3]]]
[[[9,2],[1,0]],0]
[[5,[5,[8,5]]],4]
[[3,[5,[4,9]]],3]
[[8,[[7,7],6]],5]
[[4,[[5,1],1]],[1,[1,[9,8]]]]
[[[7,[3,6]],[[2,8],[4,7]]],[[[8,8],[4,0]],[2,4]]]
[[[[3,6],3],[0,9]],2]
[[2,8],[[8,[8,6]],[[1,1],[4,5]]]]
[[2,[1,[1,0]]],[[[6,2],[7,4]],[[7,1],6]]]
[3,[8,[7,[8,6]]]]
[[1,0],[[[0,4],[0,5]],[1,5]]]
[[[[5,0],4],[[7,8],[8,8]]],[[1,7],0]]
[1,[[[4,1],7],[6,[9,0]]]]
[[[1,8],2],[[5,5],[8,5]]]
[[4,[9,[0,6]]],[[[8,9],[4,5]],4]]
[[[[5,4],[1,7]],[[3,1],[7,9]]],[[[0,8],[4,7]],[[5,9],6]]]
[[[[8,0],9],4],[[7,[1,3]],5]]
[[[[5,0],6],[[6,1],8]],[[9,1],7]]
[[9,[6,[8,8]]],[7,[[7,1],6]]]
[[[5,[1,5]],[3,[4,2]]],[[[5,2],7],[[6,9],[2,8]]]]
[[[5,[5,5]],[5,7]],[4,[[2,9],7]]]
[[[[0,4],0],[[0,6],[3,0]]],[0,[[8,1],2]]]
[[[7,[4,6]],[[7,2],[4,6]]],[[[9,3],[4,9]],6]]
[[6,7],7]
[[[4,1],[8,[1,5]]],[[4,6],0]]
[[[4,[5,5]],5],[[0,[2,7]],[1,1]]]
[[[[0,1],3],[6,7]],[4,7]]
[[4,[6,4]],[[[9,8],1],[9,3]]]
[[[4,9],0],[[[7,0],[0,9]],[1,[1,0]]]]
[[[7,9],[[9,5],[6,9]]],[[0,[3,0]],[0,[5,9]]]]
[9,[[0,0],[[1,9],9]]]
[[[5,[0,5]],[[9,8],[9,5]]],[[0,[2,5]],7]]
[[[[5,8],6],9],[[[2,7],7],[[7,8],5]]]
[[8,[[4,7],6]],2]
[[[[7,1],[9,0]],[9,[1,7]]],[[8,[6,7]],[2,5]]]
[[4,[2,9]],8]
[[[[7,6],[5,3]],[5,[9,7]]],[[6,[8,1]],[[6,4],9]]]
[[7,[[7,8],4]],[[1,3],[4,[9,7]]]]
[[[6,[6,7]],[[2,8],3]],[7,[6,[0,3]]]]
[[9,8],[[0,[4,8]],[[9,1],1]]]
[[[[4,0],[5,9]],7],[6,[[5,9],[9,6]]]]
[[8,1],[1,[9,[8,3]]]]
[[[1,[5,1]],[6,7]],[[5,9],[2,[6,7]]]]
[[[3,7],[[7,8],1]],[[0,[6,3]],[8,0]]]
[[5,[[9,3],[1,2]]],7]
[[[1,[9,9]],3],[[6,4],[4,1]]]
[[6,[1,[3,6]]],[2,9]]
[[2,[0,2]],[5,[[9,4],[5,0]]]]
[[4,[[3,1],[7,0]]],[[9,1],[[5,5],[6,7]]]]
[[3,[[7,1],[3,4]]],[7,[9,[9,4]]]]
[[9,9],[[5,4],[[9,7],4]]]
[[[5,1],8],[[6,7],9]]
[[[0,[9,5]],[4,3]],[3,2]]
[[[6,[4,1]],[[8,7],[5,3]]],[[[1,2],5],[[9,2],5]]]
[[[[7,4],[9,0]],[[1,8],[2,9]]],[[5,[1,9]],[4,0]]]
[[[4,[3,8]],[[3,3],[2,8]]],[[[1,3],9],[[8,5],6]]]
[[[[6,4],[7,9]],[[7,6],8]],[7,[9,8]]]
[[7,[3,5]],7]
[[[[5,0],[2,3]],[3,7]],[[4,[6,3]],[7,[4,4]]]]
[[6,[3,[7,6]]],[[[5,8],[8,1]],[3,[1,5]]]]
[[8,[9,[5,2]]],2]
[[1,[5,4]],[[7,[8,0]],8]]
[[[[2,7],4],3],[[1,4],[8,4]]]
[3,[9,2]]

856
inputs/19.txt Normal file
View File

@ -0,0 +1,856 @@
--- scanner 0 ---
536,703,543
-132,-41,-64
-429,350,-809
-477,567,455
-369,-732,-732
-806,-680,810
502,729,469
-417,400,-831
497,-739,-564
-545,-726,-743
271,357,-605
13,-26,94
508,-654,-647
-581,-685,774
396,-908,355
-481,568,418
-634,-665,910
306,410,-668
540,739,539
465,-656,-423
-474,-628,-795
-463,568,426
254,306,-662
358,-788,353
-396,313,-691
251,-873,452
--- scanner 1 ---
405,377,-919
-471,604,350
479,506,644
495,326,707
-407,-663,-846
618,-537,318
-584,506,-618
-577,-375,640
682,-442,283
-579,-587,598
612,361,-928
-253,-680,-729
512,382,-895
531,379,751
-468,-460,659
-262,-699,-913
974,-376,-550
539,-333,326
917,-437,-630
-422,787,372
48,7,-59
-451,618,404
-697,390,-626
-766,485,-587
971,-556,-663
--- scanner 2 ---
-652,-598,521
680,708,-671
401,-847,-328
-666,588,522
-629,-292,-571
256,-750,-363
-576,-428,-551
-698,690,-828
640,385,384
698,679,-614
-801,-392,-556
490,-475,680
-594,-543,549
27,-15,66
-878,546,524
-703,476,-864
741,661,-790
-793,527,633
506,-675,668
-736,691,-860
-646,-597,737
650,579,455
363,-849,-448
-77,-44,-102
636,387,485
609,-565,657
--- scanner 3 ---
-694,-480,675
-79,48,-39
-713,754,292
329,-686,-566
352,-717,-653
689,385,454
-736,862,-562
-619,615,350
687,515,-478
754,359,540
-741,-551,707
-416,-641,-826
780,-406,714
757,427,547
-766,670,-548
376,-703,-591
-676,-675,645
616,-364,628
-413,-651,-750
-645,601,324
-837,864,-558
618,546,-543
651,-444,702
-438,-700,-839
735,493,-571
--- scanner 4 ---
-530,746,312
786,-443,556
-889,-559,548
707,-625,-700
-597,746,-565
-695,733,324
797,-456,613
521,468,-520
798,-448,530
-820,-811,-882
-905,-712,-989
700,666,439
759,795,432
637,796,456
-877,-533,314
-887,-526,362
671,-621,-704
-575,696,330
-940,-809,-844
-478,699,-504
-654,717,-547
-56,111,-123
529,444,-427
618,407,-518
697,-695,-738
--- scanner 5 ---
-622,-664,638
91,56,-46
-584,-588,503
-597,-542,-844
637,-732,382
541,-389,-695
608,849,773
-824,472,329
-715,664,-901
-807,472,398
696,824,658
-748,513,423
734,-704,553
-603,-571,-996
702,-641,519
-564,648,-902
-546,-560,-802
529,757,-875
-774,670,-893
710,934,780
-633,-647,616
45,186,-187
571,805,-747
469,-300,-758
548,722,-801
470,-365,-800
--- scanner 6 ---
-63,90,49
498,853,-791
578,-569,-624
-655,-638,533
625,-555,-405
612,-558,-546
481,703,-791
472,508,699
-676,-594,581
641,-783,554
689,489,688
-597,648,491
-588,829,-432
447,-795,466
-611,-448,-552
-628,702,-523
517,666,-715
-730,-425,-642
-606,719,-512
-714,-437,-442
-537,611,499
-462,665,425
597,478,703
460,-784,616
-648,-556,677
--- scanner 7 ---
845,881,-301
-501,-349,486
-315,-608,-344
-480,685,-388
718,980,-308
915,979,627
-279,-529,-320
749,-436,411
-508,-323,638
-557,-346,709
744,-481,476
738,-636,412
-431,775,-306
-486,759,-520
378,-599,-409
-575,569,537
538,-579,-380
94,37,37
-656,696,463
931,951,534
931,865,728
448,-570,-525
-739,579,511
-301,-469,-277
782,925,-452
--- scanner 8 ---
-642,587,781
449,768,-502
-541,-248,454
-652,688,-666
-657,-301,345
388,565,306
-711,575,-617
-597,592,716
31,60,-133
-705,-303,534
-728,553,-628
518,471,325
-449,-629,-686
-462,-608,-643
399,395,424
573,-579,-519
-49,145,4
485,-560,410
365,-564,556
408,793,-443
-580,-592,-693
542,-671,-541
408,862,-426
380,-463,470
-442,598,780
580,-773,-513
--- scanner 9 ---
511,-520,557
831,490,487
-549,-659,-680
536,-615,-490
165,-84,33
652,-552,474
-516,602,-544
-439,-556,-691
-267,-451,305
-822,579,548
-571,544,-572
-16,-6,-106
841,452,-616
-517,596,-760
-364,-306,340
584,-594,-534
820,314,481
680,-622,-572
883,419,585
-722,751,533
-639,-540,-703
735,-563,559
947,393,-650
-686,526,528
905,520,-588
-265,-413,425
--- scanner 10 ---
-737,650,-388
799,760,694
-389,-453,768
-667,-803,-543
537,-419,977
573,-564,910
699,461,-254
-644,698,-366
-657,-874,-737
556,-410,793
-672,581,-419
-653,-773,-735
680,814,727
78,-167,23
-376,-475,827
861,-734,-576
649,-736,-534
776,-625,-595
-649,292,813
860,817,614
-624,339,830
50,-20,162
-465,-450,778
-562,315,844
903,382,-262
794,525,-219
--- scanner 11 ---
99,76,34
-676,680,608
-416,-818,449
-383,-733,-582
-278,-673,-485
-263,-587,-586
-297,-719,373
610,574,866
544,-363,576
743,689,-672
-817,391,-552
-607,706,535
601,429,776
-805,494,-602
-779,332,-498
699,-427,570
703,798,-570
759,-798,-323
643,-689,-270
-605,648,465
648,653,-655
-286,-837,543
-21,-98,124
581,458,936
807,-609,-325
744,-362,565
--- scanner 12 ---
-425,-551,749
399,-500,-745
621,-564,617
458,551,789
-771,404,712
-635,-782,-410
141,-60,-11
-407,-500,691
427,311,-461
434,438,-362
-786,391,773
-533,-750,-406
578,374,-417
420,485,830
376,378,782
-602,225,-477
535,-509,559
-733,594,734
652,-499,714
-466,-660,638
375,-461,-524
-501,241,-363
13,-15,-141
392,-416,-592
-585,-935,-464
-408,225,-391
--- scanner 13 ---
-869,-562,284
-626,-660,-761
863,541,-592
-615,-577,-676
594,-454,-831
-713,476,667
915,554,-452
621,-462,713
528,750,450
680,-516,627
-640,407,641
-783,478,609
866,578,-609
-705,797,-876
-875,786,-758
662,-561,828
-658,-801,-678
524,593,486
-852,-619,335
-799,667,-857
-817,-556,388
479,-362,-887
490,705,572
101,-76,-131
-40,-1,16
414,-474,-816
--- scanner 14 ---
441,817,-678
-598,650,753
371,-553,781
-510,-749,-608
9,-9,185
364,-412,661
-698,-767,-537
-695,787,-546
-93,144,106
676,-367,-546
-564,746,-667
478,752,-535
-588,-350,394
565,773,-725
-587,-306,537
-678,698,-692
-773,-762,-605
-393,632,689
597,749,893
827,-282,-517
-490,578,681
380,-405,668
808,-318,-662
578,692,850
579,917,825
-578,-442,497
--- scanner 15 ---
711,434,636
-814,919,616
-367,796,-569
667,-597,612
637,-360,-736
668,-381,618
699,-371,-662
-351,789,-562
591,759,-398
786,439,704
128,62,-70
-793,-527,-586
722,-569,670
-754,-553,694
600,895,-438
601,851,-295
-796,-491,821
-663,834,645
-795,883,761
-690,-470,-654
-728,-676,-612
-690,-525,762
639,-287,-734
-358,648,-682
523,452,707
--- scanner 16 ---
509,-793,667
878,553,565
-582,760,-790
-599,-400,-777
581,-549,-837
-498,-416,-891
-405,-400,-863
-530,575,-848
769,655,525
-8,-11,-79
538,-953,687
90,-139,81
-529,308,461
402,325,-509
-282,-582,524
-347,-587,569
654,-883,658
-718,306,509
-609,253,625
-283,-593,724
-632,607,-844
430,-486,-793
395,241,-662
437,-613,-892
733,638,620
378,286,-730
--- scanner 17 ---
754,602,-677
-722,-580,-369
-439,722,669
-372,731,-647
16,-1,-34
164,118,125
433,-796,-390
474,-459,828
943,619,739
-765,-605,576
-402,923,-633
697,631,-695
873,649,-738
-700,-639,-356
592,-518,899
-756,-789,557
566,-719,-309
475,-540,761
-725,-590,-445
692,-807,-381
-611,-722,593
-550,783,796
911,620,701
-441,764,881
-301,925,-637
947,834,706
--- scanner 18 ---
113,-179,93
-709,565,-575
-585,-728,588
812,527,-496
-496,315,704
-367,364,615
939,-532,762
727,472,-351
701,704,557
-312,-886,-799
944,-633,873
-779,594,-691
-533,-891,548
499,-602,-827
-608,-769,451
-375,-930,-648
-619,574,-720
829,432,-460
460,-823,-851
757,693,547
415,-755,-834
950,-664,733
-439,-985,-792
702,691,743
-341,400,702
--- scanner 19 ---
765,-723,-476
-795,553,792
640,682,-495
138,123,77
648,-491,767
617,736,-578
-556,-542,581
-679,-488,-787
-738,-463,-828
-755,-394,-828
508,578,559
779,-845,-366
-638,-549,725
489,795,570
611,-431,759
665,-356,833
478,703,555
80,10,-59
-594,-570,677
-783,747,704
-705,828,-630
677,-838,-451
-784,566,642
-495,837,-652
598,810,-543
-646,836,-636
--- scanner 20 ---
698,-671,896
-629,-578,570
882,-690,887
633,-486,-344
815,-654,742
862,582,-466
-307,396,-533
-671,-366,572
556,494,383
-327,471,-605
-403,796,727
-526,-508,-812
-690,-451,681
-48,50,4
595,399,452
-741,-541,-816
-435,627,698
-381,613,678
611,-348,-461
-527,-546,-780
587,515,565
887,614,-414
-361,524,-418
552,-419,-343
867,468,-504
--- scanner 21 ---
591,695,-643
-461,-434,378
876,-525,845
447,688,-725
-609,715,615
858,-320,-565
-724,-437,365
752,-379,-599
725,-496,760
816,-447,-627
413,806,524
-598,737,632
-528,629,-524
-660,-471,-643
-649,-505,360
405,746,561
-606,-523,-455
-605,-529,-671
-638,732,-535
339,881,578
-110,154,-71
857,-380,809
38,67,-3
-518,755,742
495,667,-681
-728,613,-512
--- scanner 22 ---
417,869,-670
-390,-523,-643
668,-601,466
-449,460,555
-411,652,-704
757,407,838
-332,-429,-504
-399,817,-717
-14,26,-96
-635,458,588
549,-578,556
-401,470,562
-674,-468,562
-687,-471,703
-364,-497,-657
460,693,-688
508,-376,-588
902,442,741
478,750,-717
518,-305,-394
652,-589,666
109,117,38
-417,772,-667
795,527,840
-640,-457,484
522,-406,-396
--- scanner 23 ---
-800,-816,-415
486,376,-362
-411,496,636
260,419,326
-938,-671,519
1,-24,20
359,-713,278
-930,-835,-509
-611,650,-431
668,-637,-556
429,325,-345
-833,-731,616
423,429,-397
282,369,338
-953,-585,620
400,332,305
296,-609,383
-437,334,532
-919,-717,-339
348,-707,454
527,-720,-588
444,-635,-599
-540,682,-574
-186,11,-59
-399,393,586
-609,708,-501
--- scanner 24 ---
661,560,-615
-838,-878,-425
756,-980,519
-430,-499,528
-840,792,-299
-891,-834,-389
730,337,599
-711,491,690
-613,-477,577
-835,768,-406
-827,499,803
792,592,-663
-711,-771,-373
656,286,631
-856,801,-506
-42,-81,88
841,216,626
-599,-531,557
767,-854,387
754,-461,-726
-732,460,872
859,-869,436
668,-426,-620
626,-548,-657
802,511,-703
--- scanner 25 ---
871,758,-518
-441,-709,335
458,576,380
704,-742,-632
-721,571,786
-803,-452,-835
-752,658,763
-711,565,-686
828,638,-529
-687,377,-660
392,-542,358
-686,530,-584
818,761,-520
-888,-342,-883
480,483,428
-798,-414,-880
324,-535,361
-399,-623,499
-54,-43,48
511,548,497
350,-449,426
807,-776,-756
-738,596,739
81,137,-43
716,-700,-860
-479,-697,464
--- scanner 26 ---
-901,-451,391
-534,-435,-744
-383,810,622
-7,71,53
474,684,458
-861,602,-891
-769,-567,440
-571,-578,-679
-457,735,676
605,-576,840
-920,-596,355
417,-505,822
680,-508,835
384,612,-707
471,-446,-673
462,781,-698
565,644,585
-864,517,-869
554,666,568
-909,737,-873
-658,-388,-700
-449,675,639
585,-421,-625
602,-567,-714
397,746,-782
--- scanner 27 ---
-490,-562,-654
501,516,490
-310,-612,762
560,738,-569
587,-506,-667
-782,970,-551
-729,935,-614
-289,-544,-609
424,433,614
606,-412,-491
-833,987,-608
378,-468,689
-404,-503,-708
391,546,639
487,738,-654
-436,705,597
451,-491,621
-400,701,593
-321,-555,775
567,-397,668
81,40,90
582,667,-630
-410,739,523
-309,-529,770
657,-413,-678
--- scanner 28 ---
69,84,-59
-289,-502,-551
595,-623,583
-456,920,-639
583,-423,567
778,439,713
-576,755,732
714,-491,-517
-307,-690,-480
-693,808,704
879,437,717
739,598,-801
-377,912,-843
-645,786,797
741,640,-589
-544,-542,669
742,-546,-575
-520,955,-734
606,-513,686
526,-545,-569
-671,-633,709
-561,-553,691
-294,-427,-483
808,631,727
630,579,-716
--- scanner 29 ---
554,-452,430
712,317,-664
554,-470,422
-577,514,-619
-735,-733,754
-625,-635,-349
419,547,547
-441,819,564
-504,514,-704
-518,736,440
809,-385,-687
30,-54,-66
722,-406,-827
-599,585,-680
772,-418,-805
-123,-145,56
765,282,-601
-662,-695,652
-660,-788,804
383,551,543
-650,-675,-301
-723,-747,-314
-408,706,589
555,-466,459
393,513,473
-30,28,95
816,265,-658
--- scanner 30 ---
648,439,-720
-883,-704,-653
760,676,623
681,-717,482
288,-461,-535
739,-762,425
752,755,827
-682,-622,380
-665,-711,526
278,-470,-658
-587,838,467
-793,461,-725
588,-655,448
-850,825,464
-702,588,-685
-662,843,535
-870,-779,-787
795,612,718
-796,-670,405
595,556,-748
5,-51,26
235,-459,-538
-131,33,-79
-805,-695,-822
-713,571,-707
626,487,-813

102
inputs/20.txt Normal file
View File

@ -0,0 +1,102 @@
###.#####..###..###.....##.##.#..#.#######..#...####.....#.#.###..##.#....####.#...##.#.#..##.###..######.#.#.#.##..#...##..###....####.##.##..#.#..##...##.#..#..#...#..#....###.####.######..#..#..#..#..........#.####...#..####.##.....#.#..#..#..####.##..#...####..#....#...##.#####...##.#.##.#..#....###....###..#...#....###.#....#..##....#..#..#..#..#.......###..##..##..####...###..#.....######.#.#.#.####.####.#####.....#..#...#.#.###...#...#.##.##.....#....#..##.###..#.##.#.##..#.#......####.#....#..#.#...
...#.####...#...#..#####..#.#.##........###..#.....##..####.###.#####......#.##.#..###.#####..#..###
#...#.#....####.##.#...###..##...#.###...###...#..#.##.#.###..#.#.##..#.####.#..#..#.####.##.#..#...
....#.##..##.#####.#...#########..#.#.####....#..#.#..##.##.###.#.####.##.###.##...#.######..#.#.#..
..#.##.###.##..#.###..#.#..#.#..###..........#..#..###.#.......###.##.#.#..#####.##.###.###.###..#.#
##...#...#.###.#####..#.#####.#..##.#.##.#..#.##.#..#...##...####.#.#..#....#########.#.##...####.##
###.##...#.###...#.####...#.#.##..##......##..#.###..#####..##...##.##..##..##.##...#.#.#..#.#..##..
.#.#####....#...#...#..##..##..#....#..##..##.##..#..#.##..#.#.###..##..###..#...#....##.##...##.###
.##.#..#####.##.#.#..#..#.#####.....##.####.....#######.#.####.####..#.#.###.#....###.#...##..#.#.##
#.#.#..###..###.#.###..###...##.##.#....##.#.###..######....##.##......##.#..#..######.###.##..###..
#..######..##..####..#.#....#...#.#.###....###....#.#..##.###.#..#.#..#.##.#....#....#....##..##....
.##....#...###...##..#...#....##.####..#.##..#.....#....####.#..#...##.#..###.#.#.####....##.#...###
##.#######...###...........##.###..##..######..###..#.##.###..#.##...#.####...#....###.#..#.##.###.#
.#..#..#..#...###....#.#..#.####.#.#....###...#.#...#..##.##..#...###.#.#.....#.#.#.###....###.#...#
###..##.####..####.#.##..#..#.######.#.#####....#..#.#......#........#.#..##.#.####...###.#..#.##..#
.##.#.####.#.##.###..#..#....#####.#.....#..#....###.....#.#..######..#..#....#.##....####.###.#.##.
.#..#.....##....#.#.#...######...####.#####..#.#.#.##.#..#####.#.#.#.##..#..##.##.......##..#.#.##..
###..##...####....##.#...#..##.##.###.#......##...##.....#.#.#.....#.###.##..####..##.####.#.###.###
..#...#...####.....####.#.#.#..##..##..#....##.##.###.#.#####.#..##.##.##...##..#.###..#.#...##....#
.#.##.#..####.#.#..##...#......###.#..##.##.........####.###.#..##.####..#.#.#.#.###...#.#...##.##.#
##.#..#...##.##.##.#...###.....##.#####.#.#.##...#.#.###..#.##..#.##...#...#..#..#..####..##..###..#
...#####.##..##.###.#.#..###......#..##..#..#######.#.#.......##.#.#.###.##.#.#.####...##.#..#....##
#.#...########.##.#.#..####.###.####.##.#####..##.###.#.#.###...#....##..#..###.#.....#.###.##.....#
.#.##.##.##...#####..##..##.###.######.......#.#.#....##.###..###..##.###.#.#..#..#..####...#..#.#..
##.###.###....########....#.#...###..#.##.#....###..#.#.....###..#.#..#.##.#.......######.#.#.##....
##.#.##..#....#.#..##.#.###.##...####.....#...#.#######....#..#.#.#.#.#..#.#.#.##.####..#..#...###..
.#.######.##.#..#..###.#.###..#.#.#..#...#..##.#######.#...#...#..####.#....###...#.###.##...##....#
.#.##.#.#.#..#..#.####.##..####..#..###.#.##..#..##........#.#.#.#########.#..####..#..#.##.##....#.
..###.#..##.##.##...###.##...##.##.##.#.##.###.#####.##..#####.##..######..####.##.#.##..#.....##...
##..####..#.##....##.#..##..#.#.#..#.##.....#..#....#.#.###.##.##.####.##....#.#.##......#....#.....
..#.......#.#....##.#.#.###..####..###..#.#.####.....#...#..##.#..#..#...######...........##..##...#
...#.#...#....##.#....##.##.##.#.#..#.##.#.###.#.#.#.#.#######.#.##.##..#..##.#.....#..##..#.##.#...
.#.#..#..#..##..#....#.#..#....##....#.###.###...#..#...####.###.....#.##.#..###.....##..#.#.##..#..
.#....##..##..#..#...##.##.#.##..#.##.#.#...#####..#....##...##...#...####.###.#..#####.#..##..#..##
###.#####.#.#...#.#.#######.#.....#####.#...#..#.##.###...#..#..#.#..##..#.#...###.##.#..##..###.#.#
.#####.###.#######..#.#......#.##.#.##.#.#...##....##.#.#.#...#..#....##...#..#...#...###....#..#.##
###...##.##.##.##..####.##.######.#.######.##..#.#...##...#....####...#..##....#..#..#####....#.#..#
#...###.#.#.###...####...##.#.#..###..#######.##.####..#.####..##.#.##.###.######.........###.#.#.##
####.###.#.#.#.####...#..#..######.#..####..##.#.###...#.#.#.##....#..#.#.##.#..#....#...##.##..###.
#...#..##.#...#..##..##.####.#..###.##.#...#.#.#...##.##.#.#....##...###.#...#...#..#.#.#.##.##....#
...#...###...#..######.#.####.#.#..####.....#.####..###.#.######..##.......##.#...#..##..#.###..###.
.##.##.##..#..###.#...##..#.#.#..##..###.#.###.#.#.##.....#.#.###....#.#..##.##..##.###.###.####..##
###.###....####..#..#.##.#.#..#.####..##.##.#..##..##.#.#.#.##..###...#.#.##.#..##.##..#.#..##.##.##
##...####.##.##...#.###...##..#.##..#.##...####..###.....#.##.#.##.#.#....###.........#.#.#..###.###
.#..##.###..##.#..#.#####......#..#####.#.###...###.#....##...#####..###.####.###..##.#.#...#...#.#.
..#...#..####....#..#......#.##...######.##.###.##.##.##.#......#####.#..##.#...##...###..###...####
..#..###.####.####.####.###..##...#########....######..#....##.###...#.#........##...##...#..##..###
.##..#......###.#...##.#..#.#..####.###.#.###..##.##.#...###.#.....##..#..#.#.#..#......#.####.##.#.
###..##.#.#.###..#....#.##.###.........#.##...#.###...##...#.##....#.#.#.#..###....###.###..#.##...#
###.#..##.#...####..##..##.#...#.##..#..##.####.#..#.#.#..#.##....#..#......###....####......#.#...#
.#######...###...###.##.#.#..#.....##...#...#.####..##.#.##..#.#...#..###........##..##.#.##..#.....
..####.#####...##..##.###.##.#..#..##...#.#....##.#.#...##...###...##.#....###.#.##....#.....#.#.#.#
...#.......#..#.###.....##.#.......#...#..##....#####.##.###.....##....##.#....#.#.##.#.#.#..####.#.
.#..#.#..#...#.#.#..#..#..###..#####..###.#.#.####.##..#.#....####.##...#...#....##..##.##...###.#.#
.#.##..#######..#.......#.###..#.#.###.#..##.##......##.####.##.###......#.###.#.#...#...##.....##..
#..####.....#..#...###.#.###..#...#.###.#...###...##.##....##.##..#.###.###.###.#.##...####.#.##.##.
.###.....#####.##.#...####..#.##..###########..#...######.......###.......####.###....#.###.....###.
.#.####..#..#.##...#.#######.#.###....#.###.#..#.#.#..##.#.#.#..#.#.#.....#..#..###..##..#....####.#
.#####..#..#....#.###.#.###...#.###..#.#.##.#....#.####...##....##.#####.####.##..#.#.#####..####.##
#...##....###..###...##...#..#......#..#.##..####..##.#.#......#..##.#..##..###.##..###...#..####.##
....####.####..........#...#..####..#.....#....##.####.#.##..#..#....##...#.#...##.#.#..##.##.##...#
.....#.#...#...#.###..#..#.#....#....#..#.###.##.#.##.##..#.#.....#.###....####.#....#.....#.#..#.##
#...#.##..#.#..##.#.....#.#.#.#..#.####..#...#.#.#...##.....#.#####..##..##..###.##.#....#.....#....
.####.##..##.......##.####..##......##...#.#.###..#.....##.#..#.##.#.#.#.###.......###.##.#.........
#.###.#.#.###.#.#.#..##.#..#.######..#...#....#..###.##.#...#.#.#.#.####....##..###.###....#.#.###..
.#.#..#.....####.#####..##..####....###....#....##.##......##..#.#.#...#.#...##.##.##.######.#.#.###
###..#.#..###..#..##..###.....#####.#.#...#.##......#.#.#........#.#...#.....##..##...#.#....#.#..#.
##....#####...#.#..###.####...#...##....##..#.#...#...##.##...##........#.#....#####..#.....####..#.
.#..#.#####.#...#.#.#..###.##...##...##..##......##.#.###...#.#..#.#####.#.#..##...##..##...###.....
.##..#..##..#.###..####.....##.#..##.#.#...##.#########..#..###..#.##.#.#..#.#.#.###.###..####..##.#
##..#..#...#..##...#.#.##...#....##..#.#.##.....##.#####.##..##....#.#......#.###.....#.###.....#...
#.#.#..#..##...#.##.##.###.###......#...###....#.#..##..#.##..#..#.##.#####...#...###.#####..#...###
...#..##.######.#..#..##..#..##..#....#.#.#..#...#.##....##.#.##.##....###.#.######..#..###...##.#..
###...######..#.##.##.#.#.###.#.#.#...###.##...##.#.##.#.#.#..#....####...###.#..##.##.#.##..#..#..#
#.##..###.######..#..#.##.##.#.##..##..#.##..#.##..##.######.#.#....#.#...#...##..#.#.##.#.#...#.#.#
..##.#.#...###.##.....#.#.#.#.#####..###.#..##..##.#.#..##.#.###..#..#.##....#....##...#######.#.#.#
.#.###.....#..#.#.....#..#.....#....#....##..###.##.##.#.#####....#.####.....##....#.####.#.##...##.
#.####.##..#..#....###.#.......####..##.##..##...#...#..##..##.#...#.#..#..#.##.##.#..########..####
.###.#.#..#######...#.#.###.#.#.##.....#.#..##.#..##..#.#....##..##..##..##.#.#.#..#.#..#.#...#..#..
###.#.#.#....#.#..#..###..#..#.####.#.#....#.#####..#.####.#.##.#######.##...###.#...#..#.####..###.
.#.....###.##.##..#..###...####....####...#..#...###..##...##.###.###..#.##.#.#.####.....##.#.......
.#..##.#.#...##.#..........##.####.#.###..##....#.....#.####........#.#.#.##.##.##.#...##..#..###...
#.#.###.###..#.##..#.##..##...#..#.......####...#.#..#...##.#.##...#..##.###.####.#......#.......###
..###..#..####.#.#...#..###..#.#.#...#####..#..#####..#.......#.#..#.###..#..#.##.######.###.#.#..#.
#.###.##.#..#...##.#.##.##..###.#.#.#..#.....#..##..#...#.#####.#.#.#.........#.#####.#..#####...#.#
#..#.#...#####.#.##.##.#..##..###.##.#...##..#.##.#..#.###.#.##.#.#..##.###.###..#.#..#..#...##.##.#
#...##.###..#.#...##.##...##..#..#.#.##.#.#..####..#####...##.##.####...#.###.#.##...##...#.##.##.##
#.##..###..###.#...#.....#...##...#..##.##.#..##...###.#.....#.##.......#####.#####....#.###.#######
..#...##.#..####...###..#.##...#.##.#.....##..##...#.#..#.#.#.##.......#...#.###..#....##.######....
###.#..###..##.#........##.#.#.#..#....##.#...#....#.###..##.##.##.###..####.#####.....##...#..#.##.
.####.##.....##............##.#...##.###...#.##..########.#..###......##..##.##..##..#.###....#.##..
##.##.##.#..#...########.####.####.#.#.###..#...#.#.###..##.#.#.####.#..#.#.....#..#..##.#..##.##...
##.##.#..#.....##.#####..#........####.#.#.##....#..#..#....###....#.......#.###.##.##...#..###..###
##...#..#...#.#...##.#..###..###....#.#.......#...##.....#...#..#.#..###.##.##..###..#.#########.##.
.#######...##.#..##.#####.....#....###.####.#.#.#..##.#.#..##...##.##.#.###.#.#....###.##.#.###.#..#
..##.##..##.##.#.#..#.#..#.##..####..###..#######..#..#.#.#...###...#.###.#...#.###.##....##..#.###.
#.......#...#.##...#.#...##....#.#....##.#.###.#.#...#...#######...###.#.#.##....###.#.##.#...##.##.
##.##.#..##....#.######..##...#.##.#...#.#.####..####.##...####.#.#.#.##.#....###..##.#######..#..#.
.....##....#.##.##.#.##....#.#.##.##......####.##..##.#....#..#.##.###.#..#....##.#..#.#.#.#.##...#.
.#.#..#...#..#..#.....#####...#####..##.#.##.#.#....##..##............#.##...######..#.###..#...#..#
#.#####.##.#.#.....#...#..#.#.#....#....#..##.#..#..#....####.#...#.##.####.#.##.#...#.#.#.#..#...##

2
inputs/21.txt Normal file
View File

@ -0,0 +1,2 @@
Player 1 starting position: 2
Player 2 starting position: 5

420
inputs/22.txt Normal file
View File

@ -0,0 +1,420 @@
on x=-25..22,y=-37..17,z=-38..8
on x=-1..45,y=-43..11,z=-22..28
on x=-20..26,y=-29..24,z=-16..29
on x=-49..4,y=-9..40,z=-3..47
on x=-36..10,y=-30..18,z=-14..30
on x=-45..2,y=-32..16,z=-33..18
on x=-7..39,y=-7..47,z=-31..17
on x=-13..35,y=-41..13,z=-8..39
on x=-20..27,y=-11..42,z=-2..48
on x=-16..32,y=-9..42,z=-18..30
off x=-11..5,y=-35..-25,z=15..30
on x=-27..17,y=-9..39,z=-45..2
off x=-40..-25,y=21..35,z=-24..-10
on x=-12..38,y=-30..19,z=-38..11
off x=8..19,y=25..37,z=6..23
on x=-17..34,y=-10..43,z=-45..4
off x=-44..-31,y=-22..-5,z=-22..-13
on x=-8..43,y=-6..41,z=-25..25
off x=-17..0,y=28..47,z=19..34
on x=-45..0,y=-44..6,z=-33..15
on x=-7874..5506,y=-20379..-3039,z=59810..88971
on x=-21433..-6261,y=-46900..-34324,z=50271..88746
on x=38450..68609,y=-7656..11913,z=-72939..-50513
on x=10810..32231,y=62915..80230,z=27306..45793
on x=16240..33178,y=-69605..-65010,z=23182..41140
on x=74585..88021,y=-33713..-11811,z=8878..14352
on x=8952..26425,y=-5524..18862,z=-92382..-59599
on x=-5011..17567,y=-62318..-50559,z=47882..72780
on x=74303..97592,y=-15251..3184,z=-10887..11253
on x=-71741..-56752,y=-14773..-2871,z=44590..48159
on x=7145..26216,y=-73908..-47204,z=45148..72408
on x=3353..11909,y=70884..90962,z=-42418..-30798
on x=-86705..-60907,y=-13957..4192,z=-47576..-27852
on x=45879..55901,y=-64766..-35760,z=-50770..-23619
on x=43802..76492,y=43658..54364,z=-29093..-11590
on x=10370..26860,y=45297..57854,z=38221..70721
on x=-63998..-46603,y=-20267..-6000,z=-59847..-56863
on x=-18630..18378,y=40771..60137,z=62275..69541
on x=55671..80730,y=-27426..-12642,z=-60454..-41374
on x=-34693..-14417,y=-79191..-69262,z=-26703..3282
on x=-38261..-30043,y=-31904..-3317,z=60552..74101
on x=-63295..-41017,y=-66142..-47664,z=17578..31398
on x=-13577..1488,y=54526..61735,z=-65440..-38952
on x=48354..70605,y=14703..31697,z=-65071..-40580
on x=62691..92710,y=3173..42903,z=-27555..-15004
on x=-34060..-14740,y=-80185..-57343,z=17703..26938
on x=-88335..-73992,y=7675..23682,z=-29991..-17731
on x=-64720..-47504,y=45814..72187,z=-26042..-1648
on x=57030..64993,y=35410..49151,z=-13732..9894
on x=-77291..-65322,y=-25591..-24178,z=26942..36225
on x=-11274..13032,y=-60620..-45108,z=-82331..-52549
on x=-88590..-60753,y=-7850..4911,z=23234..57969
on x=26408..43629,y=49378..89017,z=5396..16841
on x=69300..87125,y=-47624..-20717,z=-6957..27242
on x=43326..53338,y=41342..68666,z=-29928..-8141
on x=-69964..-57576,y=-44817..-7703,z=24558..49911
on x=-5529..3405,y=-70486..-57793,z=38667..71794
on x=72365..86627,y=-25567..-16003,z=-13583..-4327
on x=9348..39319,y=-73553..-55808,z=-30116..-18951
on x=20947..43924,y=68210..91134,z=-10996..26549
on x=-80994..-60522,y=-17003..2655,z=-6840..18812
on x=7928..33299,y=54071..62569,z=29146..61880
on x=-73188..-48824,y=33993..63516,z=-25454..-8089
on x=-82484..-65282,y=-9918..10639,z=20102..31437
on x=53747..68021,y=-49346..-36316,z=-21310..-15842
on x=-5298..6291,y=-56004..-49801,z=-59794..-43568
on x=37703..55636,y=-48346..-37782,z=27178..43960
on x=28973..48768,y=30630..54886,z=-48787..-38801
on x=40085..42058,y=58803..86868,z=-7156..-3537
on x=-5244..14514,y=-17017..4800,z=71648..82401
on x=66637..87713,y=-28138..-11871,z=22841..29706
on x=-73391..-56078,y=-42567..-24073,z=-34558..-8746
on x=-46758..-10848,y=-37005..-29780,z=-83643..-48720
on x=32265..48746,y=44256..70123,z=40711..65344
on x=7095..34285,y=47014..76227,z=-58356..-43652
on x=30778..34567,y=-75173..-60339,z=-50645..-26616
on x=-95002..-66778,y=-6534..21540,z=9811..31414
on x=-78525..-56832,y=-52209..-37537,z=-27987..-18272
on x=34941..61589,y=-66061..-52884,z=16427..26746
on x=26607..44757,y=56550..76152,z=9943..15669
on x=65247..79688,y=-1198..18004,z=-38529..-28860
on x=-39043..-33901,y=-41363..-15844,z=57226..73240
on x=517..18030,y=72575..94894,z=-32607..-9450
on x=-48138..-33957,y=-8725..23156,z=-74829..-64476
on x=14674..40415,y=-10310..8599,z=55548..76889
on x=5411..28795,y=39926..72819,z=43387..60574
on x=-11735..1244,y=-81181..-73820,z=-28100..-4131
on x=-94982..-74210,y=6396..18510,z=-2618..15316
on x=-14012..-6314,y=-84572..-63156,z=31111..52228
on x=-118..20059,y=34462..58751,z=-80546..-56745
on x=-42424..-16763,y=-61392..-46124,z=40506..70305
on x=-68200..-52902,y=-53715..-33370,z=500..10204
on x=-78742..-74311,y=-749..26775,z=-17380..-1983
on x=-45225..-18627,y=-10476..6301,z=71396..78161
on x=-41962..-13258,y=5655..31861,z=48787..82853
on x=-4287..23298,y=-39395..-12857,z=-89437..-61466
on x=70684..81806,y=1617..22727,z=-9322..17632
on x=60320..64982,y=-11794..2549,z=35758..64707
on x=-50895..-17858,y=-34644..-9840,z=-85306..-64871
on x=12118..28830,y=-73335..-43482,z=29166..45459
on x=11184..43399,y=-84603..-53931,z=13762..37604
on x=42155..53212,y=38257..63651,z=-39259..-31414
on x=-80486..-58420,y=-37408..-30208,z=-27620..-6908
on x=-12226..5972,y=-82320..-53208,z=30951..48037
on x=-72814..-45894,y=-51715..-34510,z=-29165..-7498
on x=4315..28593,y=-50405..-29388,z=-72958..-48216
on x=7546..29936,y=-32734..-29248,z=-88518..-50920
on x=26049..50278,y=-65601..-42011,z=-55923..-45671
on x=-14665..5917,y=63952..90182,z=5320..26209
on x=-64305..-32115,y=-67815..-54683,z=15642..41774
on x=40402..72364,y=-48615..-32584,z=11970..43341
on x=-36423..-21574,y=27425..31751,z=-86149..-56524
on x=38326..62079,y=45689..52640,z=38903..56896
on x=-18427..3353,y=6007..19691,z=-85062..-73139
on x=-4191..20389,y=-47833..-14927,z=65632..75890
on x=57372..78099,y=-2471..13074,z=50..19993
on x=-30736..-13109,y=-67034..-52066,z=27271..58053
on x=-71822..-41486,y=-69702..-55488,z=15902..29808
on x=-31535..-20720,y=75586..92489,z=-26956..-1456
on x=-80124..-61667,y=-47297..-19803,z=-2412..28939
on x=-24308..1478,y=-79483..-76964,z=-34232..-15794
on x=56194..75420,y=21437..47033,z=25529..49225
on x=4079..40058,y=-24280..5057,z=65772..77187
on x=-62180..-45533,y=-51608..-32908,z=30378..45483
on x=-13480..28,y=-75291..-63119,z=16709..51335
on x=58818..66910,y=-62369..-43633,z=8382..17832
on x=-43387..-27774,y=28522..39561,z=45765..73429
on x=-64923..-30680,y=-62106..-53157,z=28636..45166
on x=54328..67007,y=-74271..-36618,z=-12995..3637
on x=-77163..-45508,y=26641..51588,z=7513..28872
on x=-87028..-61596,y=-23424..-6875,z=29267..57373
on x=-32999..-2171,y=-51771..-28704,z=-80305..-51440
on x=-1213..13360,y=62211..71724,z=-52865..-26389
on x=-59595..-40976,y=608..38385,z=-67678..-39972
on x=-51375..-40493,y=52834..78732,z=-32478..-20512
on x=-59461..-51678,y=-57205..-51776,z=-18552..6908
on x=-67103..-58469,y=2666..27721,z=-59857..-31316
on x=-31553..-20945,y=-56604..-41792,z=46058..64858
on x=-82863..-52103,y=1792..32261,z=13005..32987
on x=-53436..-31839,y=31585..55069,z=50592..61674
on x=41525..49552,y=-25674..-19103,z=52676..72349
on x=65926..70611,y=-37803..-18555,z=20771..41361
on x=64024..83956,y=-37756..-22888,z=21054..36415
on x=41255..70996,y=-60030..-36048,z=12729..25474
on x=40757..43045,y=34970..56717,z=-44253..-30030
on x=-58784..-42274,y=-73761..-50142,z=11208..29144
on x=-34430..-8005,y=57336..71214,z=18509..46142
on x=224..27032,y=-40856..-23310,z=-73458..-63394
on x=-94313..-58262,y=-36381..-23880,z=-12765..10563
on x=-3922..21855,y=22784..35285,z=56549..82919
on x=-25358..1966,y=-82528..-76828,z=-13146..-10953
on x=34104..47312,y=44304..79133,z=-48368..-24337
on x=39991..75751,y=-46352..-19595,z=44418..52968
on x=-39306..-16416,y=-26164..-186,z=61105..74914
on x=55569..75595,y=24301..43891,z=-47519..-35261
on x=26093..41420,y=57621..71127,z=-51351..-25437
on x=35996..57167,y=-64743..-46879,z=-1650..7206
on x=-28855..-11320,y=76234..80807,z=2935..13504
on x=-67054..-36441,y=-63873..-43786,z=-28254..8947
on x=-14509..3328,y=-73695..-39712,z=-55836..-51258
on x=68827..93867,y=3505..11168,z=18139..41193
on x=-62902..-53742,y=-62316..-29660,z=20939..50463
on x=-49675..-30208,y=45417..70955,z=-37743..-14049
on x=46586..53764,y=-33379..-5171,z=-72062..-39028
on x=-20911..-1427,y=49674..65860,z=-63296..-37531
on x=-54985..-36111,y=37281..62377,z=30172..45519
on x=-4397..18030,y=-84894..-61794,z=10830..21585
on x=11750..38443,y=-82567..-66253,z=13438..29233
on x=59514..67757,y=-51804..-35103,z=7019..24467
on x=27432..50977,y=-42003..-30595,z=-63979..-42141
on x=-15819..-5759,y=-61346..-42796,z=-54195..-34015
on x=-76984..-52460,y=28797..64073,z=-7149..25332
on x=-52158..-26040,y=11304..26896,z=-80266..-51382
on x=-9558..1461,y=72523..94866,z=-43893..-23592
on x=-66298..-44000,y=25979..47853,z=-53578..-42707
on x=6988..18659,y=51164..69431,z=33837..57752
on x=-38858..-13161,y=-56417..-38120,z=-69115..-48732
on x=40312..77361,y=42382..59137,z=20671..36281
on x=-37374..-16194,y=-6138..22213,z=57535..93920
on x=4822..17630,y=-78489..-55730,z=31282..65954
on x=-51269..-21808,y=51723..72289,z=31278..65239
on x=67584..92800,y=-7980..-46,z=-37946..-5803
on x=-11191..7756,y=50336..65372,z=60030..68673
on x=-35391..-26531,y=6204..17520,z=61001..78026
on x=-28728..1160,y=-84803..-59728,z=-54020..-32667
on x=59337..65724,y=33773..45079,z=21264..50548
on x=-64482..-40710,y=47616..59937,z=8139..31218
on x=-16863..13681,y=-30676..-9757,z=-92073..-59935
on x=-24997..-9374,y=17287..40966,z=-84648..-60166
on x=-25337..-3767,y=-74787..-62296,z=-35829..-10718
on x=63697..85710,y=953..32652,z=20768..32117
on x=-44147..-19389,y=-60163..-35869,z=-83248..-50697
on x=-57894..-53539,y=48553..53550,z=26409..38273
on x=48679..55245,y=15109..50451,z=35152..65388
on x=25604..62419,y=-20961..7848,z=-79350..-64190
on x=-22084..-10836,y=12754..33323,z=-83535..-61512
on x=21009..43671,y=-32733..-5575,z=65432..73204
on x=-7178..29385,y=-48608..-17272,z=-80620..-69880
on x=25772..50009,y=65383..86566,z=-32131..-5636
on x=634..12760,y=52120..69063,z=48427..64000
on x=-5534..7408,y=57575..74937,z=-38916..-22273
on x=-32741..-17540,y=-40077..-31838,z=-76144..-56680
on x=40310..65131,y=-47993..-25612,z=40235..71257
on x=44408..77248,y=13423..34189,z=-53040..-34392
on x=70803..96452,y=9302..24010,z=-11413..9911
on x=15449..37539,y=48012..67955,z=46095..64173
on x=7151..40444,y=-25065..6244,z=-91166..-75247
on x=-90737..-75720,y=-5475..16668,z=4153..29576
on x=-33261..-13080,y=55167..75616,z=24910..40299
on x=-65599..-40401,y=-18178..-728,z=-78145..-51418
on x=-58978..-34779,y=-59342..-42300,z=-191..21488
on x=18497..38363,y=-21451..-14602,z=-92202..-55994
on x=-73368..-42678,y=45965..58851,z=-35584..-25807
on x=68712..81585,y=-27605..-8858,z=20493..44638
on x=-49956..-15982,y=-34609..-16081,z=52125..71155
on x=-72367..-47140,y=32980..52447,z=22136..36531
on x=-41906..-21763,y=-60745..-33327,z=-74200..-40503
on x=74281..82455,y=-24387..-3961,z=-20290..15753
on x=-6850..14006,y=29406..50293,z=-79525..-70587
on x=-19273..13527,y=32325..50356,z=-76866..-55145
on x=-58958..-39262,y=-12206..10909,z=59320..69684
off x=52775..62708,y=-22725..-18131,z=-64772..-51042
off x=-7316..18889,y=-9236..18079,z=75734..84988
off x=-68904..-56803,y=7963..21320,z=28299..44607
off x=56738..81745,y=-33655..-19734,z=27734..54876
off x=-26307..-4399,y=-90257..-66498,z=-8368..6190
on x=-63424..-48935,y=51182..61255,z=-35303..-9366
off x=-59497..-39391,y=-48595..-21538,z=-65637..-43222
off x=10314..35649,y=5352..24478,z=66042..95448
on x=66990..86515,y=-26082..-17705,z=-18769..-11276
off x=37208..65114,y=-31814..-16425,z=50870..76166
off x=-6163..11246,y=-77431..-59123,z=-61149..-39103
off x=-65580..-57918,y=-42189..-20880,z=-49370..-41832
off x=-68181..-47291,y=-43131..-24122,z=-52032..-39969
on x=-28183..-20075,y=55733..67672,z=-45712..-26158
off x=-20854..-3684,y=10595..33536,z=62130..75618
on x=-1550..8093,y=64709..84232,z=-13210..4539
on x=-14584..8934,y=-89926..-70898,z=10403..26190
off x=-23968..-2269,y=55599..70257,z=46101..49355
on x=63447..78212,y=-1665..5767,z=-49492..-33869
on x=-76609..-63970,y=11730..33874,z=-31397..-933
off x=-81830..-56014,y=-53112..-33489,z=1528..28062
off x=-8280..-4015,y=47133..68418,z=-64354..-42733
off x=48414..73285,y=-28088..-1338,z=48697..64341
off x=38375..56868,y=-75954..-47951,z=-13590..9529
on x=43124..69757,y=45938..57740,z=-28736..-4974
on x=-9344..-3482,y=55482..85763,z=-39420..-38492
on x=-43081..-29483,y=9548..30431,z=61108..88470
on x=-37982..-17628,y=48715..75366,z=36941..48193
off x=-8331..2546,y=-78987..-61305,z=-30626..-2011
off x=-81700..-62256,y=-10742..6586,z=722..26440
off x=-24912..-11729,y=-25032..-3413,z=-88232..-75563
on x=58167..74001,y=15467..21830,z=-37657..-16140
on x=9988..37527,y=-48291..-30477,z=54921..80713
on x=62474..73375,y=-17054..1407,z=35366..53946
off x=-83614..-64521,y=29149..33522,z=-38377..-14053
off x=-53987..-32165,y=11117..19957,z=-75785..-68730
on x=42103..70775,y=-73724..-54732,z=-5872..7872
on x=20494..44429,y=11307..21039,z=-76857..-61050
on x=-20646..11084,y=62264..88883,z=26886..41113
off x=-88900..-69393,y=1605..20025,z=-36353..-23657
off x=-5057..19004,y=63779..92275,z=-19254..13570
on x=-57000..-34567,y=-71407..-61402,z=-25281..-23453
on x=-3652..25227,y=-26409..-7375,z=-78623..-67258
off x=53792..79784,y=-46089..-39765,z=8293..18162
off x=-76199..-59669,y=-45245..-28456,z=-13993..15531
off x=12995..45491,y=56914..91086,z=-30682..-5699
off x=15637..32089,y=-59007..-37524,z=-75718..-52527
off x=-73386..-49956,y=-39740..-16542,z=-69266..-46619
off x=-19602..6141,y=-6868..8551,z=67012..92514
on x=21642..48389,y=-64658..-42774,z=34948..63725
on x=-20429..-2111,y=9416..26675,z=71825..81116
off x=-2501..21349,y=49578..64417,z=51184..71703
off x=46241..68960,y=-27030..3257,z=-60862..-44951
on x=-27054..-11006,y=59976..79200,z=5931..18842
on x=-24276..-2701,y=-66183..-52326,z=-49472..-34192
off x=-68877..-53836,y=-28126..-15302,z=-46581..-34719
off x=-73359..-34792,y=13665..36009,z=-56369..-46033
on x=32103..49141,y=-79415..-57451,z=-40343..-18996
on x=73069..82323,y=-9569..9367,z=-14857..7647
off x=-56161..-38162,y=29352..48859,z=43169..72145
on x=-66774..-55959,y=-65235..-30961,z=13584..33678
off x=27548..45916,y=-26792..283,z=-75012..-66571
on x=-80711..-66751,y=-29628..-15357,z=-41564..-15914
off x=71552..81414,y=-7863..9193,z=-14213..10187
on x=36611..56676,y=45719..53058,z=-57614..-36899
off x=62768..88220,y=-49020..-30531,z=138..22494
on x=15720..31386,y=-31469..-20942,z=-79951..-69439
off x=20888..41231,y=-64104..-39191,z=-58681..-44918
on x=64912..75468,y=22232..45193,z=-29893..2078
on x=361..31325,y=63314..77907,z=-54330..-28730
on x=-19404..15732,y=73142..90411,z=25581..35682
on x=61748..71694,y=19771..38115,z=13843..22810
on x=-6187..8381,y=-42494..-25695,z=-86533..-60639
on x=63798..82990,y=-40381..-13733,z=4229..28270
on x=-81663..-57842,y=-666..22557,z=-68350..-41120
off x=-47003..-20315,y=-62845..-55753,z=-52267..-35229
on x=-94464..-67322,y=-40490..-19348,z=-5254..10478
off x=43705..67726,y=-24299..-700,z=-75234..-57148
off x=-41646..-12552,y=-68007..-46831,z=-43270..-39325
on x=8135..18536,y=43749..52328,z=52189..74451
off x=12530..45202,y=42121..58623,z=-64757..-34726
on x=-38525..-6498,y=-85547..-69786,z=-3153..19751
off x=28152..47986,y=57588..66161,z=25607..39999
on x=-81199..-63920,y=-10524..3660,z=-1797..9134
on x=-25334..-13304,y=58421..89837,z=-32681..-21215
on x=-73427..-47035,y=26359..48721,z=-8616..13879
on x=-35010..-13996,y=11972..23992,z=-91842..-56559
off x=61555..72930,y=15378..28117,z=-45130..-33545
on x=-76375..-71158,y=25706..30056,z=-5494..385
off x=-32602..-6222,y=-79216..-72287,z=-9505..12380
off x=-88346..-67085,y=-14944..7502,z=-27154..-10379
off x=-31807..-5298,y=65364..79818,z=29230..47308
on x=-57443..-23960,y=59901..70861,z=12729..28027
off x=13199..37843,y=67820..79799,z=-5787..6066
on x=-54982..-33556,y=56857..84194,z=-5511..17250
on x=22920..41679,y=4390..24163,z=58350..76766
on x=-59743..-28439,y=-84006..-54986,z=-7949..14308
on x=61639..80928,y=16361..30223,z=2020..26391
off x=-10984..10732,y=-89468..-59751,z=9884..41102
off x=-79212..-64694,y=14128..32527,z=28460..47157
off x=64235..86210,y=-42383..-17290,z=-28514..-12861
off x=-1388..7043,y=61942..90427,z=-20381..-12457
off x=63544..80468,y=-37417..-9915,z=36144..49273
off x=-35734..-19033,y=53057..72367,z=-60953..-41489
on x=35159..48100,y=-76380..-55607,z=-2127..3715
on x=-75962..-58571,y=-54185..-42931,z=-7049..26522
off x=40155..77172,y=-42052..-32487,z=37159..57286
off x=28393..39783,y=-358..22551,z=-75711..-64727
off x=-49182..-19539,y=-19313..11789,z=51776..88876
off x=6323..22117,y=-66212..-50296,z=34106..55484
off x=26923..57572,y=-84808..-57461,z=8216..22262
off x=-55268..-27345,y=-34331..-26689,z=-66095..-50926
off x=-16773..7149,y=40517..69874,z=57767..64060
on x=-7644..5711,y=57323..80843,z=-46902..-23267
on x=12990..46040,y=-85031..-65525,z=-14638..2525
on x=36838..61816,y=43624..45798,z=-56805..-30128
off x=-16625..-13438,y=15198..26225,z=56760..89970
off x=-47586..-8125,y=38595..61503,z=-79954..-54733
on x=68425..94332,y=-23770..-10888,z=-15853..-1516
off x=45879..72720,y=10249..22803,z=31170..65673
off x=-66838..-47717,y=22029..54053,z=17894..34996
on x=-27131..-15091,y=-72018..-41671,z=-69529..-45135
off x=49858..81214,y=-40371..-32977,z=12446..29253
on x=-49045..-40498,y=35803..50496,z=-54698..-45453
on x=37056..66261,y=-37677..-19546,z=49803..65703
off x=-28190..-3348,y=-73123..-58301,z=30508..41418
off x=-78271..-57241,y=-18397..11460,z=-41270..-21406
off x=48500..57434,y=-15736..22263,z=55834..67267
on x=-94862..-73351,y=-7423..9149,z=-27569..1987
on x=43486..56652,y=39047..56815,z=17045..40948
off x=-2337..16612,y=42633..69610,z=45684..73188
on x=21127..49270,y=-30808..-25029,z=-81791..-62703
on x=-30891..-21855,y=-28949..184,z=69030..89093
on x=44543..50914,y=20954..34529,z=-70573..-46226
on x=5780..19766,y=50550..70469,z=-48331..-34703
off x=56501..93443,y=-4621..18563,z=11287..38665
on x=42327..58505,y=-70210..-42337,z=-35047..-1223
off x=18423..36939,y=-8454..6658,z=-91865..-58242
off x=58609..79717,y=34512..43834,z=19543..51200
on x=30744..40798,y=43451..74091,z=21225..50983
off x=-16052..-514,y=-28879..585,z=67792..93741
off x=-5109..4752,y=56092..80738,z=-56908..-27027
on x=-91998..-65044,y=-497..38054,z=-22159..-5072
off x=67089..80512,y=11116..39389,z=24842..41259
off x=17874..33524,y=47720..80311,z=-53378..-23314
on x=11894..29924,y=-80907..-60120,z=22583..34522
off x=26908..30896,y=-78232..-56487,z=3888..26400
on x=43517..74781,y=32409..38655,z=38475..57762
on x=-33512..-10912,y=39239..68119,z=50194..76546
on x=-31556..-23733,y=55040..76570,z=34651..56813
on x=59734..87601,y=-46068..-27321,z=13508..43534
off x=-28179..-2124,y=25183..50241,z=58671..87869
on x=-69791..-45293,y=-74163..-44289,z=-17713..4452
on x=-17404..695,y=45309..60367,z=-58557..-48788
on x=-21736..-18077,y=68659..70975,z=21432..48567
on x=23875..54273,y=-75359..-45864,z=-54931..-27989
on x=-35409..-24375,y=-82394..-43946,z=31058..42523
on x=-8343..13717,y=31327..58902,z=55577..83325
off x=-48926..-32870,y=42263..59054,z=41809..53373
off x=48808..87204,y=-57303..-27371,z=-32342..-7317
on x=-67008..-39098,y=-51403..-26899,z=-54475..-39811
on x=6581..35901,y=-85829..-56275,z=-41133..-19639
off x=-88954..-64372,y=20411..33836,z=3213..34345
on x=-7765..15787,y=59696..72865,z=46260..65892
on x=-41030..-16419,y=72963..77043,z=793..25599
on x=-34743..-14557,y=-71490..-52461,z=16977..35464
on x=52820..76139,y=-16895..8754,z=-67504..-46523
on x=26561..43699,y=35122..47583,z=-69853..-60751
off x=53935..80807,y=-50668..-40940,z=-9088..11134
on x=-9256..18245,y=-82833..-74237,z=-8555..9806
off x=-54561..-36968,y=-16270..15979,z=49514..84021
off x=-71537..-60947,y=-34759..-10335,z=16287..34069
on x=62156..92714,y=71..22995,z=-2786..24138
off x=-93224..-70481,y=-17263..-11214,z=-8572..14568
off x=27687..38549,y=66418..78828,z=-26765..-1993
off x=6373..44479,y=-20716..411,z=56296..85091
off x=-10240..9238,y=76954..86558,z=-20574..-9567
on x=59824..81660,y=42481..53777,z=12226..39439
on x=10464..38714,y=-66090..-35600,z=-63269..-48994
off x=10086..26680,y=-67885..-33884,z=-73115..-35932
on x=46274..62715,y=-21783..14328,z=-66177..-46199
on x=-45939..-26665,y=606..21920,z=47479..84070
off x=67911..87660,y=-19150..18476,z=-7232..16762
off x=-62714..-52605,y=-63367..-33979,z=-48407..-23827
on x=55656..77456,y=-1928..20756,z=-59425..-29123
on x=22311..52656,y=56599..78053,z=-8060..16138
on x=-90012..-72349,y=-25411..-2567,z=-18968..1095
off x=-75165..-59317,y=-35674..-8599,z=-42017..-25631
on x=74039..92478,y=-4796..7717,z=-23856..-14498
on x=37389..46931,y=50038..78098,z=-9817..5995
off x=29297..54007,y=54429..66539,z=3163..26930
on x=16320..36328,y=54585..75579,z=-30097..-3297
on x=6120..22699,y=63678..70653,z=38784..45811
on x=23070..32721,y=-41792..-30954,z=-66040..-45827
off x=20355..29767,y=66334..89377,z=-28998..4344
off x=5478..21486,y=-25991..5188,z=62514..90823
off x=59573..72444,y=39402..64676,z=-17460..-4643
on x=13708..27225,y=-57113..-21835,z=57734..67702
on x=-67885..-35556,y=28851..63688,z=-56125..-21746

5
inputs/23.txt Normal file
View File

@ -0,0 +1,5 @@
#############
#...........#
###A#D#B#C###
#B#C#D#A#
#########

255
inputs/24.txt Normal file
View File

@ -0,0 +1,255 @@
inp w
mul x 0
add x z
mod x 26
div z 1
add x 11
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 6
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 1
add x 13
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 14
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 1
add x 15
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 14
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -8
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 10
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 1
add x 13
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 9
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 1
add x 15
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 12
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -11
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 8
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -4
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 13
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -15
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 12
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 1
add x 14
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 6
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 1
add x 14
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 9
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -1
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 15
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -8
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 4
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -14
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 10
mul y x
add z y
101011000001011100001001101
10001011110100101011011101110101

137
inputs/25.txt Normal file
View File

@ -0,0 +1,137 @@
v>.v.>.v..>...v..v>>>.v..>.>>vvv.v>..v.v...>v...v.v>>.>.v.>.>.vv.>v..>vv>.v>>>>.>...>.>>v..v>>vvv.v......v..>v..>>>.vv.vv..>.v.v>v>>.>v.v>v
>...>v.>.>..v>v.v>v..vvv..>>>vv>>..vv.v>>.vvv>v..vv.>>.>>.>>.....>.vv..v>vv.v>.>>.....vv.v>.v.>v.....>.>.v>.v..>>.>......v>.v.v>.v>v.vvv..v
vvv..vvvv>>>..v>>>>..>.v.>>v.v>>>..>>...>vv.>.vv..>....>>v.>..vvv>v.v.>...>>.>>...vvv..>>vv.v>>.>..>>v..>v>>>v.>>...v.v>...vvv..>..v.>..>..
v...vvv..>.........vv..>>>>>>..>v.v.v...v..>..>.v...>.vv.>v...vvv.>.vvv....v.v....v>v>>vvv....>.vv.v..vvvvv..v......v.>vv>v>...vv.v..>>..>v
.vvv.v..>.>.v>v....>v.v.>>.vv..v.>.>.v.....v>..v...v...>>>.>....v.........vv.vv..>v>..>v.>>..vv.........>.>.vvvv...>...>v>..>vv.v...v.v...v
>>..v.v>>..>v.v...>.v..v.v..>v.>.>.>>.v.>v>>..>.>v.>v.v>.>vv>v.v>>>.>vvv>v>.>v..>..v..>.vv.v.v..>>.>>..v.v>.v.>.v....>vv.>v....vvv.>.v.v>>.
>>>>>v>>.v.vv>..v.>.v.>vvv.>v>..v.....vv..v>........v..>v>v.vv..>>>v.>>v..>v.>vv.v..>>>v..v>v>...>>..v>>..v>.vv>.vvvv.....v>.vv....>v.v..v.
v>.v.v...v.>vv.....vv.>.>..>..v.>v..>...>>.v.>...>.v.v>v.v.....>.>>v>>v.>v>.>..vv>..>.v.>v.......vv.>.>v..>>.>>.v..vvv>v..>v.v..v..v.>v.v>v
.....vv>>>..>..>..v.v..v>.>.>..>>....vv.v.v..>.vv>>vv.v...>.>.>>v>.>.>v.v..>.>.>.v.>.>>v.>.>.>vv..>...>v>.v>.>>....v.>.vvv>v>..>>>.........
vvvvv.......v.....>v.>.....>v>.>>...vv>....v.....v>.v..v>..>....>v.....v.v.>.>v>>.>.v.v...>.>>>..>v....>>vv...>.>v.v>v>.>.v..vvv>......vvvv
...>>v>...v...>.>.v.>..>.v.v.v.v...v.>.v>.v>....v>.v>>>..>>...>>...v..vv.......v>..>>v.v>.>.v.vv..>.>v>>.>vv...vv.>v.>v.vvv.>vv..>v>>....v.
v.....>....v>v>v.v.v..vv..v>.>....v>.vv..>..v.v>v>...>vv.>>.v.v>>v..v>.v...>.v..>>..>v>>vvvvv.v.>vvv.>>....v>>>v...v.......v...vvv...vv>..>
.....>.v.vv>v.>.v>...>.>v...>v.>.....>.v........>..v>v..v>>vv..>.....>>..>vv...v>v...v>..vv...>>..>>>..>.v>v>v>>.vv..v..>>vv.v>vv.v>>..v>>v
..v....vvv.>>.vv.....v...vv>.>>vv>.vv..>>>>.v...>.v..>v.>>>>....>>v.vv>v......>v.v>..v>..v.vv....>>v..v..>.>>...v.>..>vv.v....>v....vv..>.>
>..>v>..>>>.vv..>>>...>.>v>>vv.>v.v...>.>.v>..>....v..>>v>vv..v..v...>..v.vv>v.vvv>>vvv.......v.>>..>>.>>>>v>>>>v....v.>v..>..v.>.v>..v...v
v.v...>..v..v.vv.>>v.>.v.>>.v..>...vv..v>.>.>>v.v>>>>v.>vv..>.v..>>...>vv..v.v.>........v>.>.>>vvv..>vv>vv>..v.v>.v>...v.v.....v>>.>.>v>>..
.>vv.v>......>.vv..vv....v.>v>v.>v>.v...>.>v..v..>v.v..>...>>.v>.vv..>.......>v..>.v.>vv...>v...v>..vv.>.>>.v.....vv>v.>v.>..>.>.>vv>.>vv.v
.>v.v.>..v>.>>.v>>.>v.vv..v......vvv>>v..>..v..vv>..>vvvv..v>...>.v..v..>.vvv..>.v.>.>>.>vv.v.vvv....>.vv.....vv.>>>..vv....>vvv.>..v..>vv.
...>>.v>>v>.>vv..>....v...>>...v>..v..v..vvv..v.>>>v.>..>>v>>>.>>...v.>..v>..>.v.v>>vv..v.vvv>>........>..vv..vv.>v.v..v.>>..>>..>v>...v..>
>.>.v..vvv...>.>>>>.>v.vv>>.v.>vv.>>..>...v..>...>...>>.>v..>v.>.v>.v.....v>..v..>.>.>>v>...v.v>..v.v.vv.>>v..v.>>.v..v>v...>>v.>v.>..>....
>.v.vv.v.vv...>..>v>>..v>.v.>.>v.>..>>.>vv>...>>.v..>v>..>v...vv....>..>v>v>.v>..>>..v.>>>.v.>>>>.v..>v....vv>....>>..vv..>vvv>v.>>>.>...>v
.vv...v.>.vv.>..>>..>>>v.v>......v.......v.v>>..v>.>......v.v..>vvvv>>..>..>..>..vv.>vv.....v...vv>v.>v.>...v>v...v.vv>..vv>>>vv>..v.v>.>.v
.>..>.>...>.>.v....>>..v>.>>.>....v>>>v.>v>.>>v.v.v..v...>.>....>vv.v...v....>..>vv....v...>.>......v>.>>v.v>v.>>v...v..>v.>..>..v.>.vv...>
>>.>>>v....v..v..>...v..>................>.v..v>v.vv.>vvv.>..v..>v>>v.v......>v....>>>...>v>.....v>>......vv.....v..>v.v.v>>...v.v....v...v
..>..vv>>.v>v..>.v..v..v....v>.v.v>.>>.>>..>v>..>.v..>....>..>v.>>v.vv..>...>.v>..>>.vv>vvv>...vvv>.....>.v>v>..>>vv>.....>vv...vvv.>.v>>.>
v.v.v....>>v.>>v>vvvv...v>>v.>..>.....>v>.>..>>>v.vv..>..>...>..>>>.vv.....>...>vvv>>.>>....v.>v>v>...>..vv>.>v.>.>..v>..>.v..>..>..>vv....
>.vv..v>...vv>vv.....v..v>....>vv.v>>.>..v>.>>>>vv>>vv.....>....v..>>v>.v......>..>v.v>.v.vv>...>v.......>.>.v.vv>>..v..vvv..v>...v>>....v.
.>>.>.v.v.v.>>..vvv.v.>>v..vv....v.v.v.>..>v.>>....>......>>..>.v.v>..v..v..>.>>.>..v>.>v....v.>v>v.v.>.>>vv.v>v>v.....>>v>.v>...>...v.>.v.
v>..v>...>..>....v.v.>>......>...>>.v>v..>...>.v....>.>..>.vvv.>.v..>>.>>.>>...vvv.v.>.>...>.>...v.v.>>>v.>.>.v...>>v>>>..v>.>.>>....>>>.vv
v..>.v..>v>.>.>>.v.>..>...v.>.v>vv..>>.vv...>>>>>..>.v.>.>>...>..v.>vv..>v..v>..>vv>..>>>..v>.>v...>v..v>>v>>.v..>>..v...>..>>.vv..vv>..vv.
...vv..>v.>v..>..v.>.>>>.>>..>.v..>.>...>.>.vvv>>.>vv>v..>>.>>.v>>.>>v>.>.>>>v..>..>>>....v.v.vvv>.>>.....>...>....vv.>vvv.v..>.>>.>.......
.>>..vvvv..vv>>>vv>.v.>vv...>>.v..v......>v.vv>>v>>v....v>>.v>>v.v.vvv>vv.v>.>.v..>.>>v>>>.v.>v....>.v.>v.vv....>>..>>v.v.v>v.v.v.v.>...>>.
>>..>>v.v.>>vv>>>.>>...>v>v.v..v>>>v.>vv.>.vv..v>..>vvvv>>.>..v.v>>.vvv.>>..v>>>..v>>...>>>.>v>.>>>...>v.v.vv.>.vv.vv>.vv.>..vv>v.>vv>.v...
v>>..>.v>..v.v..>.vv.>v..v...>v>v...vvvv.v>.v..v..v>..v>>.>.v.vv.....vv..v>.....>>.>.v.vv>.v...v.v.v.v>>...vvv>v..vv>>.....>.>..>..>v.v>>..
.>>.....v>>..v>v...v.>.v.>.v>>>>>>>v..>.>..vv.......>>.v>vv..>v.v>.>v>>v>.v..>..>...>vvvv...>.v.vv>..vv........>....v.v..vvv...v...v..vv..>
..v...vv>v.>v>..>>v...v>v>v...v>v>>>v....v..>v.v..v....v..>..>>..>..>.>.vv.>>>v..vv.vv..>.v..v.>>.v...v>....>..v.>...vvvvvvv.>>>v.vv.....>>
..>.v>..v.v.vvv.v.v>.v..>.vv>.>.>v>.vv.>v>....vvv.vv.v....v..>....>>vv..>..v.v...v...v>v..>..>.>....>>>>>>>>.>.vv.v.v>vv>.v>...>.>.>>.....>
.>....>...vv>>v.v.v>>..vv.......v>>..v..vv>.>>v>v....v>.v.>..v..>..>>v.v...>>>....>>v.vv.>..>>...>>>...v.>v..v..v...>....>>>>vvv......v....
..>.v.>..>>v.vvvv.>>.>.>>.>>v>.v.vv>v.>v.vv.v..v.>.>>.>v>..v...>.>...v>vv.>.>>>.v.>>v>...>v..vv>.v.vv..v.>>v>..v>..v.>>>v.>.v....>v..v>....
v..>.>>>vv.>>vv..>v>..>...>v..vv..v>>..>v>..v.>.........>.v.>..v..v>>..v>>>.>..v....v.>>v......>>..v.>.>>.>v>>>.>>vvvv>.>v.>.>.v>.>..>>v.>>
..v..>.v..>>>..v>v.>..>>vv>..vv..vv.>v>..v.v.vv.>>....>..vv.>..>.>.>...>vvv>..v....>.v.>vv>.>.v.v>..>>..v.>.v>...v>vv>>.>>.>.>....>...v>.>.
vv.>..v.v...v.vv>v.....v>.>v...v..vv>...>>>....>>>.....>..v.>.v>>.>....>v>....vv>.>.vv>..>.....v.v..>.....vv.v.>v.v.vvv.>v>...>v.....>v..vv
v.v>>.>.>...>>>...v>v.v.vv>.v...vv.>.>.....>..>>.>.>vv..v>>.>v.....>..v......>v>.v.>.v>v..>v.v..>..v.>>..v.>v.>vv>....v.>....v..>..vv.....>
v>v.>.......>.>>>...>.>......vvv...>..>..v>>>vv.>..>>v>.>>.>v>v>vvvv.v>.>.>v>.>vv.....>........>.v.>..>>.>.v...vvv.>>.>v.>....>.v.>.......>
>>...>vv>>>v.>>...v>.v>...>v....>>>>..>....>>..>>>>.v>.>...vvv>.....>>...v..v..>>>v.>vv>.v.>>v>vvvv.>.>vv..>.>vv.>v.>..>..v>vv.>.vv.....v..
v..>....>..>..>>v...>.>...v>v..v..v.>>....>>vvv..>.v..v>...>..>....v>v......>.v>v.vv..>.v...>v>>.v.>.>.v.vv>>v>>......v>.v.>...........v>..
v>.vv.>....>>..>.>>.vv..>....v>vvv>...>.>..>>.v>....>.v..>...v>>.v..>v.v.v.v>>.vvv.v.>v>>.>..v>v..>v......v...>.>>>>>v>v>.>..>v.>v>v>vv>...
..v.v.>v.>..>>..vv....vv.>.>..>...>v>>v.>.v>.v.>.>..>>......vv.>......v>..>v>.>.v.>>.....>v...>>>vv>.v>..vv.>.v.>.v..>..>.....vv.v>vvv>....
>.v.v..>>>>v>...v....>.>v>..>........>..v>>>.vv....>v>vv>>>>..v...v.v.>>v>v..v...vv.v.>v.v.>..>>...>.vvv..>....>...>v>v>.v.v.vv.v>v.v.v...v
..vv>.>.>...>v..v.>>>>.>.......>>v..>.......>>.v..v>.v...>.....v>v.v...>vv.>.v.>..vv>..v.vv..>>.....v.v....>..>>.v.>>>>.vvv.v>>>.>v.>>..>>.
>.>v.v>>.vv>v..v...>>..v.>v..v....>..v.>>v...v>.v>.....>......>.vvvv.v>>..>>...>...>>v>vv..v>v>.v>.....vv.....v...v>.>..v.>vvv>>vv>..v>.>..
v..>.vv.v..>>.>.v..>v.v.>v>>..>.>vvv..>.vv.vvvv>>v>>vv>.>>.>v.>.v.>>......>v>.>v.>v.>..>..>.v>.......>v.v..>.>v>...v..>...v.>...v>>v>.v>.vv
>.>>.v>.>v>.v..>>.vvv...>.>v>vv...v.v>vv>vv.>....v...>..v..>>.v..v......>vv>.>v>..v.>.>...>.>.vv...>>....>...v.v....vv..v..>>>>>.>.>..>v>..
.>.vvv>.>.>>v>v..>.v.>.v.....v..>..>v.......v.v>.>..>vv.v...>.>>.>.v>>.....v.>>vvv.v>.v.>>>.>.>>.>>.>>vv......vv.>vv..v.>>.v>...>.>.v>>v.vv
.>........>vv.v>v.v.>.v.>v.v>....v..v.>.....>v...v.vvv..>...>v>..>.vv.vvv...v.v.v>vvv.vvv>vvv..v.vv..>..v.v>...v....vv>.....v>..>>.v>......
v>v.v.v.>.>v>>v>..vv..>.vv......v..v...v..>.>>.v.>...>.......v...>..v.>.vv>.>>..>...vv.>v....>.vvv...>>.v...vvvv>.>..>>...>>>...v.>......vv
>.v.>..>v>vv..vv..>>..vvv.>...v..v.>.>vv.v.v.>.v.vvv.>.>>..v....>..v>v>..vv...v>>v..v>v.>>v>v..>.>.>.vvv.>....>v.v..>v...v..>.vv....vv>>.v>
v.>>...v>.v..v.>..>v.>..>.>...v..v.>>>...vv>>>>>.v.>.v>..v..>.vvv.v...>.>>v..>v...v.v.....>.vv>>.>..v.v..>.>.v>>v>>.>vv.>>...vv>>..v>>v>>v>
>v.>...v..>........v..>vvv..vv...>..v.vvv.v.>..>>v.>.v.v.>..>..>.vvv.v>v....>>>>.v>.v>vv..v..v.v.v.>>>>.........v..v.>v.vv>vv.v.vv....v>.vv
........>.>..v....v.>.v...vvv.v.v.>v..>>...v......>...v>......>v.>.>v..v.>>vv>.vv.>>.v>...>>.>>v.>..v>...v....>vv>.vv>..vvv.v>>.vv..v.v.v>>
>>.>..>vv.v.v>>v..>>....>..>.>...v.v.>..v>.....>...>.v.v>....>vv...v....>..v.>v....>.v.v.....vv>>vv>..v>.v.>..>>>>.v>.v....>>..>.v....v...v
....vvvvv.>.>>....v..>..v>....>...v.v>.>v..>.v.v...vv...v.>>.....vv.v>>.>>>>..vv>.v.>.>..>v..>.>...vv.vv.v..>..v.>v.>>v>..v.>.>.vv>..v..v..
..v...v..vv....vvvvvvv.v>.v>.v>>..v...v..v>vv.vv.v...>>v.>>v.v...v.>>v.>.v>.v>.v..>vv....v>.>.>...v>>..v.>>..v.v>>..>>>.vv.>vvv.>.v>...>>>.
.>v>v.>..>v>....>v>.v...vv...vvvv>v..v>.v..>.vvvv.>>.v>.v>.v.>>.v>.>>>>v..v....>>..>.>>>.>.vv.>..>.>.vv>.vv..vv..v.>>v>v..>>v>>>.v..v..v.v>
vv...>vv>....>>...v..v.v.vv...>.>v.>...v.vv.....v.>v.v.vv.v.>>>..v..>v>>>vvv....v.v.v.v.>vv.>...>........v.>..>vv.>.v.v>v>.vv>vv.>>vvv>v...
v.>.>.>>.>.v..>>>v.>v>.v..>v...v.>.>.v.v.>>>vv>...>.>.v..>..vv>vvv..>..v.>>.v...v.>>...>v>.v.>..>.v...v...>.>>v.>>....v.v.>>>>...v..v..>..>
vvv.>v..>v..v>.>>vv..v..v.>..>.>v>v.v.>..>.vvv..>>.>v..v.vv.>v.vv.>vv......v...v.>.>>>>v>...>.v.v.>>.>v..>..>...v.v.v.>.>v..v.>...vv...>.v>
>v.........v....>>>.>...>.>vv>..>.v.>>vv>...v.>v.>...>..v.>v.>.>v>.....>>>.>...>.v>....>v>>v>>.v.vv.v.>v..v.>>>v>v.v>..>>v>.>v>vv.v.vv....v
v.>.>v..v.vv..>>...>..v...v>..vv.>.>>>>..v>>vv>....>..>v>v>>..v.>.>>.v.>v.v...v>.>.>>vvv>>.>.>>v....>v...>v>...>>..>.v.v...v>>v.vv..v...v.>
.v.vv>v.>...>v>.v.>.>..>.v......vvv.....>.vv>>>..v...v.v.>....vv.v.v.vvvv.vv..>>..>..>....>.vv>>.>.>>.vvv.vvv.>..>>>..v.v....v..........vv>
..v.v.>..>...>...v....v.>>>...>>...v.v>.vvvv.>v.>..v>.>>...vv.>....vv...>>.>..>vv>v>.>.>..v>.vv.>>v.>>vv>..>..v>v>...v>.>>v.v..>>vv.>....>>
>.v>.....vvv..>>>>v.v...>.v.>....>.>v>>.>>..>.>vv>.....v>v.v...v.v>.>..v>...>vv>..v>>..>..>>>.v.>>>....v>v..>vv..v.v..>v>v>.>.v...>v.v..v..
....>v>>>v>>..v.>v>..v>.........v>>>>..>.>.>.>.v.>.>v..v..>..v.>......>v.v.v>v.vv....v...>........v>...v.>>...>.>v.>.vv...>.v.>>v...>.>.>vv
>...v.vv>.>..v.>>..v.>v.v>....>....>.>>.vvv..>.>..v>.>.>...vv>....v.vvv.>...v..>.v..>....>..v.>v.>.>....v.vvv>.v>v......v..>vvv..vv.vv>vv..
.....>vv>v....vvv..v>v>.v..v..>...>..v>>>......v..v.>vvv.>v.vv>.v....>.>v>..>v..>v......vv.>.>>>.vvvv...>...>>v....>..>>.>.v>v>.>.v..>.v.>v
...........v>>.>vv..v......>vvv>.v.>.>..>.v..v.v....>v>.>.>>..v..>vvv..v.vv..>v.vv.>v.v..vvv>.>..vv.vv.v>v.>>.v..>....>v..>v.....>.>.>vv.>>
v.>.v.v.v...vv...v....v....v.>v>v.>...>v.vv>v..>v..>>...vv>...vv.v.....v>.....>...>>...v.v>.>v>v........>...v.v..vvv...>.v....>vvv.>....>..
v..v.vv>.vv.v...>>...>..>vv>v>>..>v.>...v.>v..>.v....vvv...vv..>vv.v...vv>v.>>..>.>>>>v>>v>.>vv>v>.>.>...>v>.vv.>..v>.vv.v....>.....v.v....
..v......v>vv...v>.vv...vvv>>.v>>>>>v...vv...>v.>>.>..vv>vv.v....v>vv...>...vv....>>.vv......v>..>.v.>..>vv.vvv>vv..>v.>..v.>vvvv>...v>vv..
...v.v.>>....>...vv>.v.....v>...v.......>>.>...v.v>vvv..>..>.>..vvvv..>...>..v..>vvv.......>vvv>>..v....v..v>>>>.v>....>>vv..>....v.v..v>..
.>v>.>..vvv.>>>>...>>.>..>>.vv>..v....>..>......>.vv>..>vv>.>v>v>.v>v....>v.>.>.>vv.>v.v.>>v...v.>.v...>>.....v>.vv>v.v.>vv.>.>.>....>>v>.v
vv...v..v.....v..>>v....v.vv..v>.>....>>vv>.>.>..>.v....v>>v......>.v>>>>.>>.>>>.>..>.>.v>.>...>>.vv.v.vvvvv.v.>v>>v.v>.v.......>.>>..>.>>>
>.v.>...>..v..v..>.>v...v.>v.>.>....>.v>>v.vv>v.....vvv>v...vv.vv>..vv.v>...>vv>>>>.v..v..>v.v..>v..v>v.....vv.>..v....v...v>....v>>.v..v.>
v>.>.>v>.>>..>v>.>.>>..v......>.>>..>.>..>.v....>...vv>>...v.>.>.v>.vvv.v>vv>.>v>>.>v.vvv>v.vvv>..vv..>.>..v.....v>.....>>....>>vv...v.v>>>
.v...>..v...>v...>...>.>.>.>>>>..v.>.vv..>..v>>..>..>v...>...v.v.vv.v..vv..v>....>.>..>>.v..>...>v>v>.>.>v.>.v>..>...>..v.v>...>...vvv..>>.
>>>..v>>vv.>v..v.>.v>.v>.>v>>.v>>v>v>>.v..>.v>..v>..>..v.>v..v.>.vv>.........vvv...>>.....v>..>>.>v.>.>...vv>..v.v>>..v...>v....v....vv>..>
>v....>>....v..v..>..>vv............>>...vv.>.v>..v>...v>.>v>>..>.....>>.v>..v..vvv>...vv>....>>vv..v.vv>....>.v..v..>.vvv..v...>>v.>.>v.>.
>...v>.v.v..>...>.>>.>..>..>..v.v..>>>.v>>vv.>...v>>.v.>vv....v..vvvvv...>vv....>.>.v...>>.>.>vv...>>v..>vvvv>.v>>...vv>.>v.>>vv...>....v>.
...........v..vv...>v..>.>>..v.....v.>...vvv.>.v.....>>>.v>..>..>..v.vv>v..>v>>..>.....>vv>v>.>v.>...v.>v.vvv....>v>...>...>..>.>>..>...>.>
.>...>....v....v.v>.>>.>.v>>.>>v..>v.>>>>.v.>.v..v>..v>>v...v.vvvvvv..vvv.>..vv.v...>..>>..>v.>>...v>vv>v.>.>.>>v.vv.v......v>v.v..v>vv>.>v
.v>vv>>v..v.>>..v.....>v.v>vvv.....>.......v>..v>v.vvv>...>..>...>.>.>.>v>.>..v...>v..v...v..v.v..v.v>......v.>...>.>vvv>>>.v.v.>.>.>..v>..
..v>v.v>>>..>vv..>.v.v.>v>...v.v.vv.v..v..v>.v.....>...>..>>>v...v>>.v>......v>>>v>>...v>.v>>.....v.v..vvv.>>.v>..>..>vvv.>vv..>.>......v..
.>..v>.v..>v...v..>>..v..>.>.....>...vv..v.v..>>v...v>.>v....vvv...>.>.vvv>vvv..vvv..v>vvv>v>.>..>v>>.>>>.v..>......>v>......>.>v.>.v>>>..>
v.>>>...>..vv.>..>vv.v.v..>>.>.v..v..v..>>vv....v...v.v>...vv>.>.>.>>vv.vv.>..>vv.>v.>>>.v.v.>....>v>v....>>>v..v>.>.>>....v.>.>>>.v..vv>v.
>vv.>>>........v>>v...>..>..>.............v..>>..vvv..>..>..v.>>v.>>v>..v>>>....v>.>v>>....v...>..>>v..>v>>..>>....vv.vv>v........>.>v>.vv>
v.....v.v.v..>...>>>..>>v...v..>v.v..v....vv..>>..>>vv....vv.>>>vvv>......>...v>v.v..v>.>...v>>.>.>v....>.>v...v.v>..>.>...>>>.>.v>.>...v..
.>.>.v.>vv...>v>>v.....v>..>..v>>>.v>>..vvvv.....>.v>.vv..>..>v..v>>..>v>...v.>.>v..>v.v.v.v>>v.>.>>.vvv..>>>vv...v>>v>...vvv.>vv..vvv..>.v
...>.>......v..v.v...v>.v>>v..>.v..v>.>.v.>>>..>.>v........v.v.v..>>..v.v.>...v.>....v...v.>vv>.>.v.>v...>vv>....vv.v..>v.v.>v>.>....>..v>>
......>...v...v.vvv....v>..>>.v...vv.v>>..v.>>>v.>>v.v>..vv.>v.v....>.>v.v..v>.>.>v.>..vv........>..v..v.vv...>v>.....>.>>.vv..v..>v.v>>v..
v.vv...>.....>.>.>>v.>..>v...>.v.>>vv.vv.v.v...>>>...v>>.v..>.>>>...>>>vv>........>v...>v>vv>.>v.>v>>v...>.>>.>>.vv>>.>>v>.>>>>v..v.v.vv.v.
v...>>.v.vv.vv>..>.v.v>...>v.v>v.v.v>>v.v>v.>...v..vv.....vv..>v>>>...v...>.v.>>>>.v>v>>>>>>...>....>.v..>v.>.v....>>.vvv..>.>vv......>>...
.>v..v....>>>>vv>vv..>v.v.>.v>.>..>.v.v..>..v>...vv..v.>>.v....vvv>v>v>>>..v..>>>>vv.>.v>..vvv.>.>>....vv...>..>>v>vv>.>...v.>.>v..vv...>..
....>....>>..v...>>>.v.>.vv.vv.>>>>>....v..v..vv>>..>...v>...v>..>.v...v....v>.vv....v...>...v.....v..>.v...>..>..>vv.>v.v>...>.v.v>.v..v>>
..>...v...v.>vv........>v.>..>>.>.v.v>..>v....v.>.>vv.>.v>.>v...>....>.v..>..>vv.v>v....vv>>>..v.......v.>vv>>v..v.>>.v.....>>>...>..v...>>
>.v..>v...>........>v..v.v..vv>v>.>>..>>..>v>v..vvv.v....v.v...>>>..v..>..>>.>>v.>..>..>vv.....>..>>..>........>v.vv>......vv......v.vvvv>.
.>..v..>..>v.v..v.v..v.>>v..>>.v>>.>v.v>>..v>vv>.vv>>.>>>>>>.vv>v..>.v.>...>>>.v>v>v..vv.>v..........v..>.>.>v....vv>...v..>..>...v...vv..v
v.vv..v.....vv....>>v.>v.vv>...>.>v.v...>.>.....v>.vv...>..vv.v..>v........>>vv.>vvv.>...>..>..v.>..v.>vv>..v.>.>v.>.>.v>.>.>.>.>vv>v.v>.>.
.vvv.>>>.>.vv.vv..>.>..>..v.....>.v>......v.>vv.>.v>..>.>.v>.vvv.v>.v..>..>v..>.v..>v..>..>vv.>v>>v>.v...>.v..v>>vv.>.>.>vv....>.v.>....vv.
>>>v..v.>.v..vv>..v...>..v.vv>.>.v>...>..vv>.>..v..>...>.>vvvvv..v..vv...v.>.v....v>>>.vv.>..>.............>>..v>.>>>.v>v..>.>>.>v>>v..>.>>
>.>.....v>v.vvv.vv......vv.>..v>..>vvvvv.....vv..v.>v>.v>vv...>..>>v...>v.>>.v>..>>vv.....>>>vvv>.>...>.>..>.>..>>>>.>>.vvvv..>>.>..>..v..v
.v>v...>vvvv.v>..v.vv>v..v...v..>.>...v>...>.>>.>..v..v..>v..v...>.vvv.vv.>>.v>vv.v....>>.>.>.>..vvv.>v.v.>v>.>>..>v>vvv>.>>>v>v..vvvvv.>.v
...>>>v>>>..v>...>>..>.>.vvv>vvvv>v..>>...>>..vvvv..v.>>.....>>..>>.>v.>v...v.v..>.v>..v>v>.>.v.v..v.v....>...v..v..v>..v.v.v...>v.v..>v...
.v.>>>..>v>>>>...>.vv......>>.v.v......v..v>.>...vvv>vv>v>v.....v>.......>>>>.v>..>..v..v>>>..>.vvv>v>>.>>.>...>vvvv>v.>...v.>v>..vv..v>vvv
.>.>..>.....v..v.>..v>..v..v>vv>..........>v.v...v>>.>v.v.vvv>v.vv>>vv....v...>v...vv>.>>>>>vvv>..>...>>>.v>>....vv.>.....>>..>v..v>vv..>.>
>>v>v..>...vv...v>.>.>>....>.>>vv..>.....>.v.vv..v..>.>v.v...v.>.v.>>....>...>v.>v>>...>..>v.>.>.vvv.>v.>>>vv>vv.vv>...v>.>......v.v.>>....
.>v..>>...v>>.>..v>...v.>..>>>.v.v..v>..>.v..v....v>>vv>.>>>.>..>..v..>.v.v.>v.>v>>..>.v...v.v>>...vv..v..vv.>>>>v..>...vv>>>>>v..v.vvvv>>.
>.....v.v>....vv.>.v>.>>>>...>v..>.v....>>>.....>...>>>>.vvv>.>v>...>v.>..v>v.>vv...>>....vvv..v........>....>...v>..v>v>v..>v..v..>.>.>>>v
.vv>.vv..>>>vv>.vv.v..>.>v.v>v.>vv..vv.v..v.vv.>v>>>....v.....>v.v.>.>v..v..v....v.v.v..v.vv>>>v.>>..>v...>...v..>...>>>.>.>v..v..>.....>v>
..>.vv.>.>v....v.v..>v.>..>.>.>>..vvv>......>v>>>.>.v.v.v...>v.v>........>>>..>......v.v>>....>>.>v..v..>.>v..vv>>.>.v.>..v..v..>v..>v....>
v>vv..vvv.>.vvv..>.>..>.v.v.v.>..>v..vvv>.>>.v>v>vv..v.v>.v.>>>v>.>..v>>....v...vv>.v..>.v>>...>>....v.v....v.>v...>..v..>>.....>>v..v.>>v.
.v>.........>.v>>v..v>.....vv>vv.....>.v>.>>..>..v>.vvvv...>..>.v>.v...v......v>v..>.v>.v>v>vv....>v.....>>v..v>..v.>...v>...v..>.vv>v>v>>v
..>v.v>..v.>...vv>>.>..vv>>>>.>.v.>.>....>..vv.v.>.v..>.>.....>>v.....vv.>.>.v..v>.>>.v.>.>....v.>>.v.v.vv>v.v.>>v>v>>..v>.>..v.v>.>>.v....
...vv>.v.....>vv............v....vvvv...>>v.v.v..>v.vv.vvv>>v.v...>v.>.>.>.v.>.v.>.>v>..>.v>v>v.>>...v>>>>v.v.>..v..v.>.>..v>......v>vvv>vv
..>.v.v...>..>vv>>>..v.vv>...>....v>.>>.>>...v>...v..v>>vvv......>.>.....>.>.>>.v.v>v.....>>v>v>>vv.v.v>.>v..v>v>.....v.>..vv>>....>>vv...v
>..>vv>>v>.>v....>v.>...v...vvv..v.v>.>.>>vv...v..>.....>....vv..>.vvv.>.vv>...v>.>...>..>>>.v>....>>v.v.>vv..>.>>v.....v.vvvv>.>>vv.>v...v
.....vv.>v.>..>>..........vv>>.>.>..>.>..>>......>..>...v.v>vv>.v..>>v>vv.vvv.v...v.>vv>...vv.>v.>.v.v...>vv.v>...>..v>...vv.vvvv.>...>v.v>
.>v>>.vv.v.v....>>>>..>>v>>.>>.>v.>>.>..v>.>..>..v.v..>v.......v>.>..v.v...v.vv.>..v...v.v>v>>v.v>.>..v..v.>v.v.v>v..>.>...>.>.>...>.>.vv..
.v>v...>....vv>>.....>.vv........>.v.vv..>.>>...>.>vv...v>.>..vvv..>>vv.>>...>.v>v>..>>vv...v..v.>>.>vv..v..v>>.>.>v>>...v>>vv.>>..........
.v...>.v>>vv>>v...>v...v...v>>.>v>>v.>>..>>vv>.....v.vvv.>v.....>..v.v.v.>..v>..v....>>..vvv..>v...>>.>v.v.v>..vv.vv.>.v.v.>..>.v.v>v>vv>..
.>..>v>>>.>...>>v..vv.v>v>.v>vvv.>..v.>>.vv>.v>...v.>>>..vv.v.......>>.>v...>.....>>.>v>v.>..>.>.>.>..vv.>v.>..vvvv....>.v....>>.v.>.vvv...
>v..>.v..>>..v..vv....v...>vvv>>....>.>..vv.>..vv...>...>v>>.>.>..>v>....>>>..v.>>.>..v..>v..>.vv...v.>.>..v...>...>..>.....v....v..>.v.v.>
>v>v......v>..v>..>.v>...v.....>.>v.>>....>v>>.>>vv..>vv.v.v....>v.v>v..>v>..v>v>>.>..vv.....vv..v.v.v....>v..v>vv.....>.>>.v..v>>...>..vv>
...vv>vv..>..>v.vvvvvvv.>.>..>.v.vv>>v.vv...>>.....v.>>.v...>.>....v.>.>>.>v>.>.>..>>...>vvv..>..>.....>..>.>..v>v.>.v>v>>....v>....>>..v.>
>v..>...vv.vv>>>v...vvv.>..>.............v>vv.v.vv.vv.>>.v>>...vv>...v>.>..v.v...v>v.....>vv.>vv>..>.>v.v>..>..>....vv>.......v>>vv.>>>>..>
>v..>vvv.v.>v>.....>..v>v..>.>>>.>.v..>.v.>...v.v....v>.v.v>.v.......vv.>..>..>v.>.>.v.v>v..v>..>vv.>>.vv>>.v..v>.>.>.>.>v...>.>v...vv..v>.
..v..v>v>>vv.v.v.v.>v.>>v.vv........>v.>.v...>.>v.>>.>v.vvvvv>.>.>>...>.>..>>...v.vv..v..v...>>v>>.>>.>.vv>.v...>.>.v..>...v.>>..>>.v>>>v.v
>vv..>..v...>.vv..>........>..vvv....>v..vv>..v.v.>>v>>.>>.vv.v...v>.v>>>...>.vv.v.v>..v...>.vv>..v.v>..>>.>v>.....>>.>..v>vv..v.v>vv......

62
src/01.cs Normal file
View File

@ -0,0 +1,62 @@
namespace aoc2022;
internal class Day01 : Day
{
IEnumerable<string>? lines;
internal override void Parse()
{
lines = Util.ReadAllLines("inputs/01.txt");
}
internal override string Part1()
{
int lastDepth = 0;
int numIncreased = -1;
foreach (var line in lines!)
{
var depth = Convert.ToInt32(line);
if (depth > lastDepth)
{
numIncreased++;
}
lastDepth = depth;
}
return $"<+white>{numIncreased}";
}
internal override string Part2()
{
int lastTotal = 0;
int numIncreased = -1;
int num1 = -1;
int num2 = -1;
int num3 = -1;
foreach (var line in lines!)
{
var depth = Convert.ToInt32(line);
num1 = num2;
num2 = num3;
num3 = depth;
if (num1 < 0 || num2 < 0 || num3 < 0)
{
continue;
}
var total = num1 + num2 + num3;
if (total > lastTotal)
{
numIncreased++;
}
lastTotal = total;
}
return $"<+white>{numIncreased}";
}
}

55
src/Day.cs Normal file
View File

@ -0,0 +1,55 @@
using System.Diagnostics;
namespace aoc2022;
internal abstract class Day : IDisposable
{
public void Dispose()
{
Logger.Log("");
}
internal void Go(bool runPart1, bool runPart2)
{
Logger.Log($"<reverse>{GetType().Name}<r>");
using (var parseStopwatch = new Timer("Parsing"))
{
Parse();
}
if (runPart1)
{
using var stopwatch = new Timer();
var response = Part1();
stopwatch.Stop();
if (!string.IsNullOrEmpty(response))
{
Logger.Log($"<+black>> part1: {response}<r>");
}
else
{
stopwatch.Disabled = true;
}
}
if (runPart2)
{
using var stopwatch = new Timer();
var response = Part2();
stopwatch.Stop();
if (!string.IsNullOrEmpty(response))
{
Logger.Log($"<+black>> part2: {response}<r>");
}
else
{
stopwatch.Disabled = true;
}
}
}
internal virtual void Parse() { }
internal virtual string Part1() { return string.Empty; }
internal virtual string Part2() { return string.Empty; }
}

41
src/Extensions.cs Normal file
View File

@ -0,0 +1,41 @@
using System.Diagnostics;
namespace aoc2022;
internal static class Extensions
{
public static void ForEach<T>(this IEnumerable<T> enumeration, Action<T> action)
{
foreach (T item in enumeration)
{
action(item);
}
}
public static (double elapsed, string unit) ConvertToHumanReadable(this Stopwatch stopwatch)
{
var elapsed = 1.0d * stopwatch.ElapsedTicks / Stopwatch.Frequency;
var unit = "s";
if (elapsed < 0.001)
{
elapsed *= 1e+6;
unit = "us";
}
else if (elapsed < 1)
{
elapsed *= 1000;
unit = "ms";
}
else if (elapsed < 60)
{
unit = "s";
}
else if (elapsed < 60 * 60)
{
elapsed /= 60;
unit = "m";
}
return (elapsed, unit);
}
}

72
src/Logger.cs Normal file
View File

@ -0,0 +1,72 @@
using System.Diagnostics;
namespace aoc2022;
internal class Logger
{
private static readonly Dictionary<string, string> colorCodes = new()
{
{ "r", "\u001b[0m" },
{ "black", "\u001b[30m" },
{ "red", "\u001b[31m" },
{ "green", "\u001b[32m" },
{ "yellow", "\u001b[33m" },
{ "blue", "\u001b[34m" },
{ "magenta", "\u001b[35m" },
{ "cyan", "\u001b[36m" },
{ "white", "\u001b[37m" },
{ "+black", "\u001b[30;1m" },
{ "+red", "\u001b[31;1m" },
{ "+green", "\u001b[32;1m" },
{ "+yellow", "\u001b[33;1m" },
{ "+blue", "\u001b[34;1m" },
{ "+magenta", "\u001b[35;1m" },
{ "+cyan", "\u001b[36;1m" },
{ "+white", "\u001b[37;1m" },
{ "bgBlack", "\u001b[40m" },
{ "bgRed", "\u001b[41m" },
{ "bgGreen", "\u001b[42m" },
{ "bgYellow", "\u001b[43m" },
{ "bgBlue", "\u001b[44m" },
{ "bgMagenta", "\u001b[45m" },
{ "bgCyan", "\u001b[46m" },
{ "bgWhite", "\u001b[47m" },
{ "+bgBlack", "\u001b[40;1m" },
{ "+bgRed", "\u001b[41;1m" },
{ "+bgGreen", "\u001b[42;1m" },
{ "+bgYellow", "\u001b[43;1m" },
{ "+bgBlue", "\u001b[44;1m" },
{ "+bgMagenta", "\u001b[45;1m" },
{ "+bgCyan", "\u001b[46;1m" },
{ "+bgWhite", "\u001b[47;1m" },
{ "bold", "\u001b[1m" },
{ "underline", "\u001b[4m" },
{ "reverse", "\u001b[7m" },
};
public static void Log(string msg)
{
Console.WriteLine(InsertColorCodes(msg));
Debug.WriteLine(StripColorCodes(msg));
}
private static string InsertColorCodes(string msg)
{
foreach (var code in colorCodes)
{
msg = msg.Replace($"<{code.Key}>", code.Value, StringComparison.CurrentCultureIgnoreCase);
}
return msg;
}
private static string StripColorCodes(string msg)
{
foreach (var code in colorCodes)
{
msg = msg.Replace($"<{code.Key}>", string.Empty, StringComparison.CurrentCultureIgnoreCase);
}
return msg;
}
}

25
src/Template.cs Normal file
View File

@ -0,0 +1,25 @@
namespace aoc2022;
internal class DayTemplate : Day
{
IEnumerable<string>? lines;
internal override void Parse()
{
lines = Util.ReadAllLines("inputs/##.txt");
}
internal override string Part1()
{
return $"<+white>";
}
internal override string Part2()
{
return $"<+white>";
}
}

48
src/Timer.cs Normal file
View File

@ -0,0 +1,48 @@
using System.Diagnostics;
namespace aoc2022;
internal class Timer : IDisposable
{
private readonly Stopwatch stopwatch = Stopwatch.StartNew();
private readonly string? name;
private bool stopped = false;
public bool Disabled { get; set; }
public Timer(string? inName = null)
{
name = inName;
}
public void Stop()
{
if (stopped)
{
return;
}
stopwatch.Stop();
stopped = true;
}
public void Dispose()
{
Stop();
if (Disabled)
{
return;
}
var (elapsed, unit) = stopwatch.ConvertToHumanReadable();
var color = "<red>";
if (unit == "us" || (unit == "ms" && elapsed < 10))
{
color = "<green>";
}
else if (unit == "ms" && elapsed < 250)
{
color = "<yellow>";
}
Logger.Log($"<cyan>{name}{(!string.IsNullOrEmpty(name) ? " t" : "T")}ook {color}{elapsed:N1}{unit}<r>");
}
}

95
src/Util.cs Normal file
View File

@ -0,0 +1,95 @@
using System.Diagnostics;
using System.Text;
namespace aoc2022;
internal static class Util
{
private static readonly char[] StripPreamble = new char[] { (char)8745, (char)9559, (char)9488, };
internal static void ReadData(string filename, Action<string> processor)
{
if (Console.IsInputRedirected)
{
string? line;
bool processedSomething = false;
for (int i = 0; (line = Console.In.ReadLine()) != null; i++)
{
if (i == 0)
{
var preamble = Encoding.UTF8.GetPreamble();
if (Enumerable.SequenceEqual(line[0..preamble.Length], preamble.Select(x => (char)x)))
{
line = line[preamble.Length..];
}
else if (Enumerable.SequenceEqual(line[0..StripPreamble.Length].ToCharArray(), StripPreamble))
{
line = line[StripPreamble.Length..];
}
}
processor(line);
if (!string.IsNullOrEmpty(line))
{
processedSomething = true;
}
}
if (processedSomething)
{
return;
}
}
foreach (var line in File.ReadLines(filename))
{
processor(line);
}
}
internal static string ReadAllText(string filename)
{
string contents = string.Empty;
ReadData(filename, (line) => contents = line);
return contents;
}
internal static IEnumerable<string> ReadAllLines(string filename)
{
List<string> lines = new();
ReadData(filename, (line) => lines.Add(line));
return lines;
}
internal static IEnumerable<long> ReadAllLinesAsInts(string filename)
{
return ReadAllLines(filename).Select(long.Parse);
}
internal static void StartTestSet(string name)
{
Logger.Log($"<underline>test: {name}<r>");
}
internal static void StartTest(string label)
{
Logger.Log($"<magenta>{label}<r>");
}
internal static void TestCondition(Func<bool> a, bool printResult = true)
{
if (a?.Invoke() == false)
{
Debug.Assert(false);
if (printResult)
{
Logger.Log("<red>x<r>");
}
}
else
{
if (printResult)
{
Logger.Log("<green>✓<r>");
}
}
}
}

74
src/main.cs Normal file
View File

@ -0,0 +1,74 @@
using aoc2022;
var types = System.Reflection.Assembly
.GetExecutingAssembly()
.GetTypes()
.Where(t => t.IsSubclassOf(typeof(Day)) && !t.IsAbstract && t.Name != "DayTemplate")
.OrderBy(t => t.Name);
bool runAll = false;
bool? runPart1 = null;
bool? runPart2 = null;
string? desiredDay = null;
foreach (var arg in args)
{
if (arg.Equals("-part1", StringComparison.CurrentCultureIgnoreCase))
{
runPart1 = true;
}
else if (arg.Equals("-part2", StringComparison.CurrentCultureIgnoreCase))
{
runPart2 = true;
}
else if (arg.Equals("all", StringComparison.CurrentCultureIgnoreCase))
{
runAll = true;
}
else
{
desiredDay = arg;
}
}
if (runPart1 != null || runPart2 != null)
{
if (runPart1 == null)
{
runPart1 = false;
}
if (runPart2 == null)
{
runPart2 = false;
}
}
if (runAll)
{
foreach (var type in types)
{
using var day = (Day)Activator.CreateInstance(type)!;
day.Go(runPart1 ?? true, runPart2 ?? true);
}
}
else
{
Day? day = null;
if (string.IsNullOrEmpty(desiredDay))
{
day = new Day01();
}
else
{
var type = types.FirstOrDefault(x => x.Name == $"Day{desiredDay?.PadLeft(2, '0')}");
if (type == null)
{
Logger.Log($"Unknown day <cyan>{desiredDay}<r>");
}
else
{
day = (Day?)Activator.CreateInstance(type);
}
}
day?.Go(runPart1 ?? true, runPart2 ?? true);
day?.Dispose();
}