This commit is contained in:
didier committed 2026-01-02 12:01:29 -05:00
1 parent 4fef30bfba
commit bbd000a14f
6 files changed
+189 -2

No files matched your search

+1
View File
@@ -2,6 +2,7 @@
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIComparable_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3ca480f22d7541c4b2fa2da0fd667e30dba800_003F22_003Fd6a15a2d_003FIComparable_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIComparable_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3ca480f22d7541c4b2fa2da0fd667e30dba800_003F22_003Fd6a15a2d_003FIComparable_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIList_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3ca480f22d7541c4b2fa2da0fd667e30dba800_003Fc3_003F06c7791b_003FIList_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIList_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3ca480f22d7541c4b2fa2da0fd667e30dba800_003Fc3_003F06c7791b_003FIList_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AISet_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3ca480f22d7541c4b2fa2da0fd667e30dba800_003F23_003Fe3036060_003FISet_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AISet_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3ca480f22d7541c4b2fa2da0fd667e30dba800_003F23_003Fe3036060_003FISet_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AList_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3ca480f22d7541c4b2fa2da0fd667e30dba800_003Fe3_003F6a06e768_003FList_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AString_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3ca480f22d7541c4b2fa2da0fd667e30dba800_003F27_003Fd5cf5f7a_003FString_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AString_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3ca480f22d7541c4b2fa2da0fd667e30dba800_003F27_003Fd5cf5f7a_003FString_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=1c82d21e_002Df0ab_002D47c1_002Da9ae_002D5c4a55b3d5c8/@EntryIndexedValue">&lt;SessionState ContinuousTestingMode="0" IsActive="True" Name="UnitTest1" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session"&gt; <s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=1c82d21e_002Df0ab_002D47c1_002Da9ae_002D5c4a55b3d5c8/@EntryIndexedValue">&lt;SessionState ContinuousTestingMode="0" IsActive="True" Name="UnitTest1" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session"&gt;
&lt;TestAncestor&gt; &lt;TestAncestor&gt;
+99
View File
@@ -0,0 +1,99 @@
namespace adventOfCode.day12;
record Pin(int X, int Y);
class Block
{
private HashSet<Pin> Pins;
public Block(HashSet<Pin> pins)
{
Pins = pins;
}
public static Block CreateBlock(string blockSection)
{
blockSection = blockSection.Replace("\n", "");
var pins = new HashSet<Pin>(9);
for (var i = 0; i < 3; i++)
{
for (var j = 0; j < 3; j++)
{
if (blockSection[3 *i + j] == '#')
{
pins.Add(new Pin(i, j));
}
}
}
return new Block(pins);
}
public override string ToString()
{
var ret = "";
for (var i = 0; i < 3; i++)
{
for (var j = 0; j < 3; j++)
{
ret += Pins.Contains(new Pin(i, j)) ? "#" : ".";
}
ret += "\n";
}
return ret;
}
public Block Flip()
{
return new Block((from pin in Pins select new Pin(pin.Y, pin.X)).ToHashSet());
}
};
public class Day12
{
private static string GetBlockSections(string document)
{
var xIndex = document.IndexOf("x");
var index = -1;
while (true)
{
var newIndex = document.IndexOf("\n", index + 1);
if (newIndex > xIndex)
{
return document.Substring(0, index -1);
}
index = newIndex;
}
}
static string ToBlockString(string blockSection)
{
return blockSection.Substring(blockSection.IndexOf("\n"));
}
static List<Block> ParseBlocks(string document)
{
var blockSections = GetBlockSections(document).Split("\n\n");
return (from blockSection in blockSections select Block.CreateBlock(ToBlockString(blockSection))).ToList();
}
public static void Main(string[] args)
{
var b = Block.CreateBlock("###\n##.\n##.");
Console.WriteLine(b);
Console.WriteLine("\n\n\n");
Console.WriteLine(b.Flip());
Console.WriteLine("\n\n\n");
Console.WriteLine(b.Flip().Flip());
}
}
+9
View File
@@ -0,0 +1,9 @@
namespace adventOfCode.day12;
public class Inputs
{
public static readonly string Example =
"0:\n###\n##.\n##.\n\n1:\n###\n##.\n.##\n\n2:\n.##\n###\n##.\n\n3:\n##.\n###\n##.\n\n4:\n###\n#..\n###\n\n5:\n###\n.#.\n###\n\n4x4: 0 0 0 0 2 0\n12x5: 1 0 1 0 2 2\n12x5: 1 0 1 0 3 2";
public static readonly string Input =
"0:\n##.\n###\n#.#\n\n1:\n###\n..#\n###\n\n2:\n###\n.#.\n###\n\n3:\n###\n###\n..#\n\n4:\n###\n.##\n..#\n\n5:\n#..\n##.\n.##\n\n38x36: 46 32 39 35 27 29\n48x43: 30 44 44 35 32 39\n48x41: 49 54 45 54 42 61\n49x50: 61 81 61 57 58 57\n48x39: 32 23 34 35 48 35\n50x43: 52 64 63 59 46 42\n35x43: 30 28 21 22 24 29\n45x44: 55 52 54 43 45 57\n40x37: 38 38 48 33 38 31\n46x43: 34 35 29 37 38 37\n44x39: 27 32 25 32 33 33\n37x45: 42 36 46 48 42 42\n48x35: 35 29 29 27 24 31\n47x42: 33 25 42 45 34 30\n42x43: 37 30 29 30 38 32\n36x43: 43 40 33 43 33 48\n39x45: 45 42 52 41 52 37\n45x35: 44 49 32 46 41 27\n46x48: 53 53 61 52 66 56\n36x43: 29 56 38 34 35 48\n42x36: 28 27 23 32 26 32\n45x43: 32 34 40 34 24 45\n47x42: 33 34 36 39 30 38\n37x40: 20 37 28 25 22 24\n36x35: 30 23 28 39 47 28\n38x37: 20 19 25 32 25 22\n47x37: 24 28 27 35 30 36\n49x48: 60 57 66 59 59 61\n38x39: 23 28 26 29 25 24\n45x47: 58 56 48 55 43 68\n44x45: 40 36 35 32 29 38\n49x50: 40 38 49 35 50 44\n35x46: 41 43 38 39 40 49\n49x42: 30 33 42 39 38 42\n37x47: 42 40 40 53 47 47\n45x44: 60 51 47 51 48 46\n42x45: 43 46 54 55 40 53\n36x35: 37 40 28 23 46 18\n46x43: 52 57 40 63 57 31\n48x41: 50 61 45 49 55 41\n36x43: 39 49 32 35 41 44\n40x49: 40 51 42 60 51 61\n43x49: 56 56 65 42 51 54\n45x39: 44 41 39 53 49 45\n39x44: 35 54 41 42 54 38\n47x42: 32 42 32 26 38 39\n37x49: 41 45 50 47 48 49\n49x37: 53 45 44 46 43 48\n48x41: 27 36 44 37 28 35\n46x49: 37 36 39 39 45 44\n50x44: 54 65 73 50 47 45\n49x48: 40 41 46 34 48 47\n36x43: 45 48 34 32 42 37\n43x36: 30 20 27 32 32 26\n46x48: 42 34 44 44 41 35\n39x43: 34 32 32 28 29 27\n48x43: 41 35 27 39 44 37\n42x35: 23 15 25 31 28 32\n37x48: 37 42 49 58 42 45\n43x48: 50 48 51 54 59 58\n38x44: 26 31 25 28 28 30\n37x41: 41 31 45 35 41 42\n39x50: 37 37 39 36 31 28\n42x50: 40 28 47 39 34 35\n42x47: 35 42 31 27 35 40\n46x50: 53 67 58 57 73 44\n43x48: 36 39 41 39 36 33\n42x50: 53 26 40 33 35 36\n44x43: 46 46 49 56 50 43\n45x38: 23 38 29 33 28 28\n43x38: 36 41 49 48 38 38\n47x37: 38 49 58 47 37 35\n41x44: 40 60 46 43 54 32\n36x38: 18 24 33 28 16 24\n50x38: 24 29 26 34 46 33\n40x38: 36 30 16 29 21 24\n47x49: 66 69 59 58 42 58\n48x35: 42 48 40 54 33 39\n46x47: 68 54 49 56 59 44\n44x42: 22 29 41 41 33 30\n48x40: 25 27 33 41 44 37\n39x47: 26 32 38 35 33 31\n39x48: 39 32 31 39 38 28\n45x47: 56 61 59 40 60 49\n46x40: 46 46 47 46 51 48\n40x45: 28 36 28 38 32 33\n48x49: 39 40 42 43 50 42\n43x42: 33 24 44 35 34 26\n36x50: 41 26 30 34 24 37\n49x37: 34 35 25 25 32 41\n41x49: 54 44 51 51 52 60\n46x50: 30 34 45 44 42 44\n50x36: 30 46 32 30 33 21\n48x36: 34 31 26 28 40 32\n41x37: 41 42 37 43 38 30\n50x43: 37 35 40 43 38 31\n40x35: 37 47 39 25 31 36\n36x44: 48 39 36 39 43 39\n45x45: 40 26 41 40 41 37\n40x42: 23 31 29 41 27 31\n45x41: 32 25 43 33 33 29\n42x44: 52 36 45 58 47 46\n41x35: 33 26 26 19 20 18\n48x49: 70 61 57 48 61 67\n49x44: 50 29 32 40 33 39\n47x36: 39 45 45 39 54 39\n37x41: 43 33 39 40 40 39\n39x39: 42 31 37 49 36 39\n44x36: 30 48 40 44 36 47\n44x48: 39 61 55 56 56 60\n39x49: 35 36 34 36 36 31\n48x47: 59 59 53 58 65 53\n41x48: 45 35 33 40 29 26\n44x38: 25 24 32 29 22 35\n45x47: 49 53 59 62 51 50\n35x36: 19 23 24 24 23 19\n46x37: 29 26 36 33 29 26\n39x41: 39 42 41 43 35 47\n41x41: 33 22 29 32 33 19\n35x49: 32 29 22 25 38 30\n47x50: 58 56 69 59 59 61\n39x35: 21 19 20 22 30 30\n49x49: 44 43 39 43 58 29\n50x47: 41 38 35 46 34 46\n47x39: 41 55 54 49 37 44\n41x44: 54 51 33 45 54 40\n45x38: 37 31 29 24 27 32\n42x43: 51 47 37 49 49 45\n42x48: 40 38 29 33 44 39\n43x38: 42 42 38 40 42 50\n36x46: 32 34 34 32 20 27\n45x46: 49 60 55 55 49 49\n49x50: 39 43 48 41 37 47\n42x42: 41 48 57 39 40 46\n46x45: 55 50 53 60 46 54\n49x39: 39 33 23 32 44 36\n35x44: 24 20 26 30 27 26\n48x50: 40 41 47 46 45 37\n40x46: 30 38 30 24 31 41\n38x35: 19 24 25 28 18 18\n48x44: 51 51 57 51 60 57\n39x39: 32 25 29 27 25 30\n41x49: 41 44 45 61 60 63\n46x41: 29 38 34 32 34 27\n37x48: 38 55 48 53 35 42\n50x35: 45 47 50 44 39 43\n44x50: 59 62 45 62 46 66\n45x40: 37 46 61 48 39 45\n46x48: 61 56 61 54 57 49\n42x40: 40 25 41 24 21 30\n35x46: 28 39 24 28 18 27\n42x44: 41 30 30 26 44 25\n48x47: 43 40 35 37 38 46\n42x38: 18 33 24 32 25 36\n45x49: 38 42 42 47 39 31\n36x40: 29 26 26 19 25 30\n40x46: 53 44 36 56 50 44\n50x48: 46 31 46 41 51 40\n44x43: 50 44 49 52 44 53\n36x40: 32 34 17 20 27 26\n48x49: 62 74 49 65 55 55\n49x48: 34 42 45 39 45 50\n44x40: 33 49 52 44 56 36\n47x50: 34 42 31 37 54 42\n38x42: 27 29 36 26 27 23\n36x50: 33 30 38 21 36 34\n44x46: 35 36 32 27 52 28\n36x47: 50 35 47 40 46 43\n35x49: 47 47 46 34 44 47\n45x42: 42 32 23 43 32 38\n40x41: 29 29 28 24 36 22\n39x38: 30 25 24 23 27 26\n39x39: 40 34 41 47 29 43\n44x40: 59 37 37 37 47 58\n43x44: 49 56 44 48 51 42\n35x36: 20 23 28 22 22 17\n41x36: 42 43 39 37 32 32\n38x49: 45 21 40 26 29 31\n49x39: 52 42 47 52 41 63\n35x36: 27 23 20 22 28 11\n37x36: 29 38 28 38 33 41\n38x49: 34 39 21 32 32 33\n38x43: 30 25 25 37 20 31\n43x42: 32 31 26 38 33 35\n39x49: 36 35 32 30 37 37\n47x37: 47 45 37 39 54 48\n39x44: 29 31 23 35 27 37\n41 Line truncated
}
+2 -2
View File
@@ -192,7 +192,7 @@ public class Question
var twoPoints = CreateAllPointPairs(points); var twoPoints = CreateAllPointPairs(points);
var circuits = CreateCircuits(twoPoints, n).Get(); var circuits = CreateCircuits(twoPoints, n).Get();
return circuits[0].Count() * circuits[1].Count() * circuits[2].Count(); return circuits[0].Count(); //* circuits[1].Count() * circuits[2].Count();
} }
static long Question8B(string document) static long Question8B(string document)
@@ -208,7 +208,7 @@ public class Question
return circuits.P1.X * circuits.P2.X; return circuits.P1.X * circuits.P2.X;
} }
public static void Main() public static void Main_()
{ {
Console.WriteLine($"The answer to question 8a is {Question8A(Inputs.Input, 1_000)}" ); Console.WriteLine($"The answer to question 8a is {Question8A(Inputs.Input, 1_000)}" );
Console.WriteLine($"The answer to question 8b is {Question8B(Inputs.Input)}" ); Console.WriteLine($"The answer to question 8b is {Question8B(Inputs.Input)}" );
+71
View File
@@ -0,0 +1,71 @@
using System.Runtime.InteropServices;
using System.Runtime.Serialization;
namespace adventOfCode.day9;
record Point(long X, long Y)
{
public static Point ParseLine(string line)
{
var x = line.Split(",");
return new Point(long.Parse(x[0]), long.Parse(x[1]));
}
public static long Dist(Point p1, Point p2)
{
return (Math.Abs(p1.X - p2.X) + 1) * (Math.Abs(p1.Y - p2.Y) + 1);
}
}
record Rectangle(Point C1, Point C2)
{
}
public class Day9
{
static List<Point> ParseInput(string document)
{
return (from line in document.Split("\n") select Point.ParseLine(line)).ToList();
}
static IEnumerable<Tuple<Point, Point>> AllPairs(List<Point> points)
{
for (var i = 0; i < points.Count; i++)
{
for (var j = i + 1; j < points.Count; j++)
{
yield return new Tuple<Point, Point>(points[i], points[j]);
}
}
}
static long Question9A(string document)
{
var points = ParseInput(document);
return (from pair in AllPairs(points) select Point.Dist(pair.Item1, pair.Item2)).Max();
}
static long Question9B(string document)
{
var points = ParseInput(document);
var pairs = from pair in AllPairs(points) orderby Point.Dist(pair.Item1, pair.Item2) descending select pair;
foreach (var pair in pairs)
{
// if
}
return 23;
}
public static void Main_()
{
Console.WriteLine($"Answer to question 9a is: {Question9A(Inputs.Input)}");
}
}
+7
View File
@@ -0,0 +1,7 @@
namespace adventOfCode.day9;
public class Inputs
{
public static readonly string Example = "7,1\n11,1\n11,7\n9,7\n9,5\n2,5\n2,3\n7,3";
public static readonly string Input = "97615,50359\n97615,51574\n97880,51574\n97880,52787\n97832,52787\n97832,54045\n98308,54045\n98308,55187\n97455,55187\n97455,56428\n97608,56428\n97608,57577\n97086,57577\n97086,58800\n97054,58800\n97054,60056\n97128,60056\n97128,61283\n97011,61283\n97011,62360\n96295,62360\n96295,63474\n95780,63474\n95780,64718\n95702,64718\n95702,65758\n94990,65758\n94990,67104\n95133,67104\n95133,68247\n94699,68247\n94699,69240\n93917,69240\n93917,70385\n93499,70385\n93499,71581\n93170,71581\n93170,72717\n92702,72717\n92702,73502\n91601,73502\n91601,74745\n91319,74745\n91319,75801\n90706,75801\n90706,76627\n89745,76627\n89745,77961\n89534,77961\n89534,78812\n88622,78812\n88622,79459\n87470,79459\n87470,80349\n86652,80349\n86652,81297\n85905,81297\n85905,82410\n85333,82410\n85333,83641\n84859,83641\n84859,84224\n83712,84224\n83712,85182\n82941,85182\n82941,85489\n81580,85489\n81580,86273\n80667,86273\n80667,87660\n80237,87660\n80237,87896\n78879,87896\n78879,88858\n78085,88858\n78085,89421\n76998,89421\n76998,90264\n76103,90264\n76103,90831\n75024,90831\n75024,91515\n74018,91515\n74018,92447\n73143,92447\n73143,92488\n71787,92488\n71787,93692\n71024,93692\n71024,93312\n69506,93312\n69506,94350\n68637,94350\n68637,94479\n67379,94479\n67379,95144\n66333,95144\n66333,95471\n65160,95471\n65160,96293\n64141,96293\n64141,96243\n62855,96243\n62855,96580\n61686,96580\n61686,97010\n60535,97010\n60535,97390\n59366,97390\n59366,96985\n58055,96985\n58055,97125\n56855,97125\n56855,97277\n55659,97277\n55659,97593\n54477,97593\n54477,97412\n53250,97412\n53250,98188\n52079,98188\n52079,97850\n50851,97850\n50851,97591\n49640,97591\n49640,97613\n48433,97613\n48433,97478\n47232,97478\n47232,97959\n45983,97959\n45983,98122\n44739,98122\n44739,97901\n43531,97901\n43531,97758\n42314,97758\n42314,96719\n41262,96719\n41262,97232\n39921,97232\n39921,96719\n38786,96719\n38786,96225\n37658,96225\n37658,96045\n36448,96045\n36448,95750\n35265,95750\n35265,95184\n34173,95184\n34173,95280\n32840,95280\n32840,94440\n31858,94440\n31858,93838\n30794,93838\n30794,93113\n29795,93113\n29795,93299\n28353,93299\n28353,92192\n27553,92192\n27553,91710\n26435,91710\n26435,91165\n25347,91165\n25347,90253\n24485,90253\n24485,89978\n23217,89978\n23217,88985\n22426,88985\n22426,88304\n21425,88304\n21425,87446\n20559,87446\n20559,87114\n19267,87114\n19267,86006\n18614,86006\n18614,85364\n17561,85364\n17561,84365\n16835,84365\n16835,83879\n15605,83879\n15605,82741\n15031,82741\n15031,81877\n14176,81877\n14176,81139\n13168,81139\n13168,80122\n12482,80122\n12482,79364\n11466,79364\n11466,77950\n11328,77950\n11328,77269\n10183,77269\n10183,75850\n10124,75850\n10124,75271\n8765,75271\n8765,73896\n8695,73896\n8695,72983\n7845,72983\n7845,72127\n6848,72127\n6848,70848\n6673,70848\n6673,69631\n6410,69631\n6410,68724\n5442,68724\n5442,67546\n5091,67546\n5091,66231\n5138,66231\n5138,65210\n4378,65210\n4378,63906\n4476,63906\n4476,62782\n4019,62782\n4019,61592\n3793,61592\n3793,60572\n2824,60572\n2824,59258\n3156,59258\n3156,58109\n2702,58109\n2702,56905\n2535,56905\n2535,55719\n2221,55719\n2221,54475\n2427,54475\n2427,53302\n1837,53302\n1837,52073\n1940,52073\n1940,50856\n1855,50856\n1855,50338\n94918,50338\n94918,48430\n2294,48430\n2294,47210\n2136,47210\n2136,45974\n1928,45974\n1928,44816\n2583,44816\n2583,43602\n2623,43602\n2623,42452\n3100,42452\n3100,41261\n3276,41261\n3276,39997\n3124,39997\n3124,38711\n2970,38711\n2970,37675\n3839,37675\n3839,36558\n4329,36558\n4329,35324\n4431,35324\n4431,34177\n4825,34177\n4825,32887\n4842,32887\n4842,31903\n5669,31903\n5669,30777\n6123,30777\n6123,29546\n6355,29546\n6355,28756\n7505,28756\n7505,27268\n7271,27268\n7271,26599\n8579,26599\n8579,25471\n9042,25471\n9042,24432\n9662,24432\n9662,23524\n10480,23524\n10480,22341\n10894,22341\n10894,21323\n11559,21323\n11559,20292\n12213,20292\n12213,19289\n12911,19289\n12911,18288\n13619,18288\n13619,17248\n14294,17248\n14294,16628\n15419,16628\n15419,16039\n16548,16039\n16548,15220\n17435,15220\n17435,14383\n18306,14383\n18306,13672\n19286,13672\n19286,12373\n19789,12373\n19789,12150\n21156,12150\n21156,11025\n21831,11025\n21831,10536\n22972,10536\n22972,10037\n24092,10037\n24092,9428\n25134,9428\n25134,8698\n26104,8698\n26104,8188\n27203,8188\n27203,7023\n27961,7023\n27961,6535\n29085,6535\n29085,6343\n30338,6343\n30338,5846\n31445,5846\n31445,5498\n32612,5498\n32612,4868\n33671,4868\n33671,4752\n34914,4752\n34914,4301\n36039,4301\n36039,4224\n37274,4224\n37274,3841\n38419,3841\n38419,2952\n39455,2952\n39455,3029\n40716,3029\n40716,2858\n41917,2858\n41917,2054\n43024,2054\n43024,1940\n44247,1940\n44247,2483\n45530,2483\n45530,1888\n46701,1888\n46701,2338\n47943,2338\n47943,1574\n49138,1574\n49138,2240\n50360,2240\n50360,2185\n51572,2185\n51572,1632\n52818,1632\n52818,1686\n54046,1686\n54046,2670\n55174,2670\n55174,2098\n56468,2098\n56468,3008\n57562,3008\n57562,2737\n58839,2737\n58839,2624\n60108,2624\n60108,3047\n61269,3047\n61269,3156\n62506,3156\n6 Line truncated
}