bastien.monsarrat 6 年之前
父节点
当前提交
9999a44941
共有 5 个文件被更改,包括 1563 次插入0 次删除
  1. 6 0
      Adv2018.sln
  2. 9 0
      D25.1/D25.csproj
  3. 100 0
      D25.1/Program.cs
  4. 8 0
      D25.1/Properties/launchSettings.json
  5. 1440 0
      D25.1/input.txt

+ 6 - 0
Adv2018.sln

@@ -99,6 +99,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "D24.1", "D24.1\D24.1.csproj
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D24.2", "D24.2\D24.2.csproj", "{9DD991C4-F621-42A0-AA99-714718FD1119}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D25", "D25.1\D25.csproj", "{0E2B8F9A-AB54-46ED-B770-E2F6CA5EC4A8}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -297,6 +299,10 @@ Global
 		{9DD991C4-F621-42A0-AA99-714718FD1119}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{9DD991C4-F621-42A0-AA99-714718FD1119}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{9DD991C4-F621-42A0-AA99-714718FD1119}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0E2B8F9A-AB54-46ED-B770-E2F6CA5EC4A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0E2B8F9A-AB54-46ED-B770-E2F6CA5EC4A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0E2B8F9A-AB54-46ED-B770-E2F6CA5EC4A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0E2B8F9A-AB54-46ED-B770-E2F6CA5EC4A8}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 9 - 0
D25.1/D25.csproj

@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp2.1</TargetFramework>
+    <RootNamespace>D25._1</RootNamespace>
+  </PropertyGroup>
+
+</Project>

+ 100 - 0
D25.1/Program.cs

@@ -0,0 +1,100 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+
+namespace D25._1
+{
+    public class Star
+    {
+        public List<Star> Connections = new List<Star>();
+
+        public int[] Coords;
+
+        public override bool Equals(object obj)
+        {
+            var star = obj as Star;
+            return star != null && EqualityComparer<int[]>.Default.Equals(Coords, star.Coords);
+        }
+
+        public override int GetHashCode()
+        {
+            return Coords.GetHashCode();
+        }
+    }
+
+    class Program
+    {
+        static public int Manhattan(int[] a, int[] b)
+        {
+            int man = 0;
+            for (var i = 0; i < a.Length; ++i)
+                man += Math.Abs(a[i] - b[i]);
+            return man;
+        }
+
+        static void Main(string[] args)
+        {
+            if (args.Length < 1) return;
+            if (File.Exists(args[0]) == false) return;
+
+            List<Star> all = new List<Star>();
+
+            var file = File.OpenText(args[0]);
+
+            do
+            {
+                var line = file.ReadLine();
+                if (line == null) break;
+
+                var coord = line.Split(",").Select(v => int.Parse(v)).ToArray();
+
+                var star = new Star()
+                {
+                    Coords = coord
+                };
+
+                foreach (var a in all)
+                {
+                    if (Manhattan(a.Coords, star.Coords) > 3) continue;
+                    a.Connections.Add(star);
+                    star.Connections.Add(a);
+                }
+
+                all.Add(star);
+
+            } while (true);
+
+            file.Close();
+
+            HashSet<Star> visited = new HashSet<Star>();
+            Queue<Star> queue = new Queue<Star>();
+
+            int constellations = 0;
+
+            while (true)
+            {
+                var first = all.Where(a => visited.Contains(a) == false).FirstOrDefault();
+                if (first == null) break;
+
+                constellations++;
+                queue.Enqueue(first);
+
+                while (queue.Count > 0)
+                {
+                    var s = queue.Dequeue();
+
+                    visited.Add(s);
+                    foreach (var c in s.Connections)
+                    {
+                        if (visited.Contains(c)) continue;
+                        queue.Enqueue(c);
+                    }
+                }
+
+            }
+
+            Console.WriteLine($"The answer is : {constellations}");
+        }
+    }
+}

+ 8 - 0
D25.1/Properties/launchSettings.json

@@ -0,0 +1,8 @@
+{
+  "profiles": {
+    "D25.1": {
+      "commandName": "Project",
+      "commandLineArgs": "\"..\\..\\..\\..\\D25.1\\input.txt\" "
+    }
+  }
+}

+ 1440 - 0
D25.1/input.txt

@@ -0,0 +1,1440 @@
+5,-7,-5,-4
+-4,-2,-3,2
+7,0,-2,1
+2,-6,6,5
+2,0,-2,1
+3,-2,5,7
+2,-6,0,-7
+-4,7,3,2
+-8,1,-5,-6
+0,-1,3,-7
+-5,0,5,7
+-7,-2,-6,-7
+4,-3,3,2
+7,-4,0,3
+0,3,-2,-8
+0,-2,-8,4
+-7,6,0,2
+1,-1,2,-8
+-4,-1,-3,-8
+7,-3,3,-5
+1,-8,2,8
+0,8,7,-5
+0,-6,-6,-8
+0,-6,5,0
+-2,5,4,6
+-7,4,1,-8
+-3,0,-4,0
+-1,-1,3,1
+6,2,0,-4
+0,8,-6,-1
+2,-5,-1,4
+0,5,4,6
+0,4,-3,7
+-4,4,0,7
+3,0,7,-2
+-7,-3,-5,6
+-2,-2,-3,3
+-4,-1,4,5
+0,8,-6,7
+7,3,8,-4
+2,-5,-6,-7
+-2,8,2,-5
+8,4,2,-5
+-5,-1,-2,-4
+3,0,-7,2
+-6,5,3,-5
+-4,8,7,7
+-5,3,-6,2
+-2,7,-1,7
+8,4,-1,6
+-7,-2,-4,-6
+5,2,3,-4
+4,7,-5,-7
+-1,-7,7,0
+-1,-4,5,3
+7,-1,-3,5
+-7,5,-5,-7
+4,8,-8,-1
+-3,-7,2,-5
+-3,1,-2,0
+-7,0,2,-2
+8,2,1,-6
+0,-7,-6,6
+-7,0,8,8
+0,-2,-5,-5
+4,0,0,7
+4,-3,-8,8
+-8,1,3,5
+-4,-1,0,3
+6,-8,6,3
+7,-6,0,-8
+6,0,7,5
+-5,-1,2,-4
+-7,0,2,-5
+0,-6,-4,-7
+-3,6,0,-6
+-8,6,0,-3
+-4,1,-1,-4
+1,7,-4,-2
+-1,-5,-7,-4
+7,5,7,-6
+-3,4,-1,-7
+-7,6,-3,-2
+6,-5,5,4
+-3,-4,-6,5
+0,1,-8,-2
+5,4,-4,-6
+4,-6,-1,2
+6,-7,4,5
+-1,7,7,-5
+8,8,7,2
+0,0,-7,-1
+-6,-2,6,2
+-4,0,-8,0
+-4,-8,-2,7
+-1,6,2,-3
+-2,-2,0,-5
+8,-7,5,-5
+-1,-2,-4,2
+4,-7,-4,4
+0,-4,4,5
+-1,3,-2,7
+-6,-2,4,0
+1,-2,-3,5
+6,-4,7,0
+-6,8,5,-7
+2,6,8,5
+4,1,7,4
+-8,5,-8,-7
+4,-2,0,3
+7,-3,0,-3
+-8,7,-5,7
+-2,0,-6,0
+-4,-4,-8,3
+-7,-5,0,-7
+-2,8,2,-1
+0,-1,-1,-3
+-6,0,3,-1
+-5,0,0,7
+-4,-6,-3,-1
+0,0,2,-4
+-4,3,7,8
+-7,-2,3,-2
+-4,-3,-2,-7
+-7,-3,8,-1
+7,3,-1,-5
+-5,-3,-8,7
+2,-3,0,-4
+-6,2,0,1
+6,5,2,-4
+5,4,-7,1
+-3,-8,-4,0
+-5,-3,2,-6
+-8,0,-7,5
+-8,4,-1,3
+0,4,-3,3
+3,5,6,-6
+-8,5,-6,0
+-7,6,6,-7
+6,3,3,5
+-4,-6,-1,-6
+-4,2,-2,2
+-8,-7,-5,6
+3,4,-4,-6
+-6,-2,8,2
+3,-6,8,7
+-6,8,5,-4
+5,7,-1,7
+6,7,-7,5
+-5,0,2,5
+-7,-3,-8,-2
+0,0,7,-2
+3,-3,-4,0
+2,-5,-2,2
+-8,7,-2,-8
+4,-3,-6,-8
+4,4,0,2
+0,-1,8,4
+4,8,2,-4
+0,-7,-5,1
+5,0,0,5
+2,-3,-6,-1
+0,-4,-3,0
+1,1,7,-8
+3,6,6,-7
+0,0,-6,8
+8,-3,-6,-1
+5,-3,-6,0
+-5,8,-6,2
+0,0,-4,2
+-3,-2,0,-2
+-7,8,-2,-7
+-7,8,-8,-2
+0,-8,0,3
+7,5,-8,0
+0,-3,-3,3
+-8,-6,-4,1
+5,8,6,0
+-4,-7,4,-6
+-4,4,-1,2
+3,7,8,-7
+0,4,2,-4
+5,1,-1,-6
+3,-4,0,-1
+-1,-4,-4,8
+-3,1,5,-7
+-6,-8,6,5
+4,-1,6,0
+-8,1,0,-2
+6,0,4,0
+4,-1,5,3
+3,6,5,-8
+4,5,2,5
+8,-3,-6,7
+2,1,6,-8
+2,-3,6,4
+2,-5,4,8
+-2,0,-3,-6
+0,7,-7,-2
+8,0,4,-8
+-1,-7,-7,4
+6,-5,2,-2
+-3,1,-4,-2
+0,3,2,-8
+1,8,-3,-7
+1,-8,7,4
+1,7,-6,-4
+-8,-4,-4,0
+-3,-2,7,3
+-2,2,2,-2
+-8,5,5,1
+2,-3,2,5
+-5,4,-8,6
+1,-1,4,-8
+0,-7,2,0
+-3,-4,-7,-6
+-8,7,-2,0
+3,-6,4,-4
+3,3,7,6
+-4,0,-1,3
+-4,-3,-7,-3
+2,-8,-6,0
+0,-5,0,-3
+6,-1,-1,0
+0,-2,0,-6
+-1,-7,3,3
+-5,0,6,-8
+-8,6,0,-8
+8,5,-7,-7
+2,4,0,5
+0,1,2,1
+3,-3,-7,0
+0,-2,5,-6
+-4,-1,0,6
+-2,-4,-5,-1
+4,-7,4,3
+-1,1,7,0
+0,5,4,4
+3,0,7,1
+1,-5,8,-2
+-2,0,6,-3
+-6,-5,-4,2
+3,-7,4,-3
+6,1,-4,-6
+0,-7,-4,-4
+1,0,-4,4
+4,-3,-8,0
+0,0,-5,-1
+7,4,6,-8
+-4,5,5,7
+3,-8,-7,1
+0,2,1,-7
+-4,-3,7,-7
+-5,3,-1,1
+-2,-2,-5,8
+-2,-6,1,6
+2,3,7,0
+0,-1,0,-3
+-7,8,4,-8
+6,6,8,1
+-6,0,-4,-3
+0,1,-1,0
+0,1,1,8
+7,4,3,0
+-1,-8,-5,2
+-8,2,6,5
+6,0,-4,8
+3,-6,8,4
+1,-8,6,2
+-5,3,6,7
+1,5,-3,-1
+1,-2,-4,-6
+-4,5,8,-6
+-8,-5,-7,0
+2,6,2,0
+-4,-8,-5,-6
+4,6,0,-7
+-5,-6,5,-2
+-2,0,0,-7
+-6,8,-4,3
+-5,-5,-8,8
+2,6,1,2
+0,-8,0,-6
+3,-5,-4,5
+-8,4,0,1
+-6,-6,-2,5
+5,2,2,-7
+-8,6,8,5
+-2,0,2,-5
+8,7,0,5
+8,0,-5,2
+0,-4,-7,6
+0,-1,-6,1
+-6,7,-4,-3
+2,-1,-5,-2
+-7,3,-1,-3
+-8,-1,8,5
+4,-6,3,8
+7,-7,-8,4
+0,-6,-5,-4
+7,2,0,0
+8,8,-5,-3
+7,-4,0,4
+5,-7,-3,0
+7,-8,-1,1
+-1,2,0,-6
+-2,3,5,-5
+4,1,1,-1
+-3,2,-7,-3
+6,6,-4,-6
+-6,6,8,2
+1,-3,8,3
+5,8,4,1
+-7,2,8,5
+7,-7,-3,6
+4,5,0,0
+0,-8,-2,2
+0,7,1,-8
+5,-1,-8,1
+7,-1,4,7
+1,5,6,-3
+0,-6,-2,2
+7,4,-4,-7
+-2,-7,-3,-1
+2,0,-5,-6
+0,-5,5,-6
+3,-2,-7,-3
+-1,-1,4,-7
+1,-7,4,-6
+7,-1,6,-3
+0,5,-8,0
+4,1,0,4
+-2,5,2,5
+3,-4,0,6
+-1,1,-3,7
+4,1,7,3
+3,7,-5,-5
+-1,0,0,1
+-5,1,7,0
+-2,8,-3,-6
+6,5,8,2
+-2,2,6,-4
+4,6,-2,-8
+0,-2,-4,-2
+5,-6,-5,-4
+4,8,6,-4
+1,7,-2,2
+8,-8,-1,-7
+-3,4,2,-6
+-8,0,-5,-6
+8,-8,-5,0
+-5,-2,-4,-2
+0,7,-1,0
+-3,1,-6,3
+-5,0,-4,-3
+2,-5,-4,-1
+-2,0,3,7
+-8,5,-2,0
+-1,-4,-1,-3
+-2,-3,-2,-2
+2,-7,8,3
+4,8,8,7
+6,-6,1,-5
+-5,-1,0,-8
+-4,-2,-5,2
+-6,2,2,0
+3,8,5,-8
+2,1,0,5
+-7,6,2,-7
+-3,-3,8,2
+-7,0,-7,-6
+-7,0,2,4
+-3,-2,3,0
+4,6,-5,-6
+-1,-6,3,2
+-5,8,-3,2
+2,-5,4,-5
+3,-6,0,-1
+-8,7,0,-2
+-6,5,0,0
+2,6,0,0
+1,-7,-2,0
+-4,7,-3,0
+2,0,-2,7
+0,3,5,7
+-7,-7,3,8
+-8,-5,7,5
+-5,7,6,8
+0,-7,-3,-5
+3,4,8,-2
+2,6,6,-8
+2,0,4,3
+5,-8,-8,-4
+6,7,7,6
+-1,8,6,-3
+2,-7,-3,7
+0,1,4,7
+-5,5,-1,1
+-7,-2,4,0
+-5,8,-4,-2
+0,5,-4,-2
+0,8,0,7
+-1,-6,4,-8
+1,4,2,4
+-3,0,2,6
+8,8,-2,-8
+3,5,1,-7
+-5,0,0,1
+1,0,1,0
+0,-1,-4,-5
+-1,8,-3,-6
+7,-2,-3,-5
+8,-7,-6,-5
+-4,3,4,1
+0,4,-8,-7
+8,3,-4,7
+2,5,-5,-7
+3,6,-7,4
+2,-6,0,1
+-6,0,0,0
+0,6,1,4
+-2,0,-4,8
+7,8,1,-5
+3,0,4,1
+0,-3,-4,-8
+-2,3,-4,8
+2,-2,-8,2
+-3,6,0,0
+-4,-2,-3,6
+-4,-8,5,-3
+-3,0,0,-3
+-2,0,4,-1
+0,2,3,-2
+-6,0,4,0
+1,1,4,-4
+-5,-3,5,3
+-5,3,1,0
+6,-8,3,8
+-1,1,-1,-3
+-4,1,2,-5
+3,7,-8,8
+0,0,4,3
+-5,-7,-1,8
+7,2,3,-3
+6,0,1,-5
+3,0,-6,6
+0,1,4,8
+7,0,3,8
+6,4,0,-8
+-8,0,0,-3
+1,-8,0,5
+8,-6,5,-4
+-2,7,5,-4
+-8,-1,3,7
+-1,0,-2,0
+8,-8,8,0
+6,-5,8,3
+-4,4,6,8
+6,3,-5,-5
+-6,6,8,7
+-2,-1,-4,-7
+-2,5,3,-2
+0,-8,6,0
+-8,-1,2,-4
+4,8,5,-1
+-5,1,-1,8
+-2,-6,-2,-5
+1,0,0,-4
+2,0,-3,7
+-5,8,6,-6
+3,4,5,-3
+0,3,-8,8
+5,2,6,-1
+-8,-6,0,-8
+-2,-6,8,-5
+3,0,8,-7
+-1,6,6,6
+4,7,-2,6
+3,2,3,-6
+0,-8,-1,4
+5,1,-2,6
+7,4,-7,-4
+6,-5,8,0
+0,3,7,-8
+-8,1,-3,-7
+1,3,1,-5
+-8,-2,-2,0
+-2,-7,0,-5
+0,8,-4,-4
+3,-5,-1,-7
+-5,-2,1,8
+2,0,0,-2
+1,-2,-4,4
+0,3,-4,-1
+8,8,-8,1
+1,3,6,5
+4,6,8,0
+-2,-8,2,-1
+6,1,-5,3
+0,-5,3,3
+-8,1,0,-3
+-1,-3,-1,4
+3,-8,2,0
+7,6,-6,-2
+5,4,7,6
+0,-6,8,-7
+6,0,-1,6
+1,-4,-4,3
+-5,0,-2,8
+-8,-5,-2,-3
+-6,7,-7,2
+-6,-4,-2,1
+-7,-6,-6,1
+3,2,4,1
+-8,-4,1,0
+-1,-6,3,7
+2,-2,-8,-3
+7,-1,-4,3
+8,-6,6,3
+2,0,-5,5
+-2,3,0,4
+-1,2,5,1
+4,3,-1,-2
+-1,-4,3,4
+-3,-1,2,6
+-5,1,6,-1
+0,-2,8,-6
+-3,6,-4,0
+0,-6,3,0
+7,2,3,0
+-7,5,-7,-1
+5,1,3,-3
+2,-1,-3,-5
+-7,-8,-5,-8
+2,3,5,6
+5,-8,-4,2
+0,0,-1,1
+-8,2,0,4
+-5,8,-8,-5
+8,-7,4,0
+-7,7,5,-4
+-2,-1,8,2
+-5,5,8,6
+-2,0,1,3
+1,2,3,-4
+8,5,2,5
+5,0,1,8
+-4,8,3,-6
+6,-8,0,2
+6,8,8,4
+5,-4,3,-2
+-3,-3,0,5
+-7,-7,0,7
+-7,7,-1,3
+2,2,-1,2
+-3,6,6,-4
+-1,5,-1,-1
+8,-3,-2,-7
+-1,-8,-4,5
+-3,7,6,0
+3,-1,4,0
+6,0,0,-7
+-3,0,-5,-3
+-6,-3,-2,-6
+-5,-4,-6,-6
+-4,5,7,6
+-2,7,6,-3
+8,-8,-7,-2
+0,6,0,-4
+-4,0,6,-3
+-6,-1,6,3
+1,4,2,-7
+7,-8,1,3
+3,5,-7,8
+6,6,-6,-6
+1,-5,-4,-1
+4,-2,-8,0
+1,7,0,2
+-4,0,4,-1
+-7,7,0,1
+-5,1,-3,6
+1,3,-4,4
+-1,-8,-5,1
+4,-7,-8,3
+0,5,-2,3
+6,4,1,0
+3,0,6,6
+8,4,3,7
+4,-4,-6,-6
+3,6,-2,0
+-1,5,0,0
+-1,-8,5,-7
+3,-8,-2,-4
+-3,5,0,3
+8,0,6,7
+3,-8,8,6
+6,-2,-3,-8
+-5,4,-8,3
+-3,-2,-1,7
+5,0,6,1
+3,0,-3,-4
+-2,-3,3,1
+-5,6,3,0
+-8,1,-2,-3
+0,4,4,2
+5,3,-4,7
+6,4,8,5
+5,2,-4,3
+-2,-7,1,0
+3,5,0,-8
+-7,5,8,7
+-3,0,-4,8
+0,-6,2,2
+0,3,-8,0
+-4,-4,-8,5
+7,8,-2,3
+8,8,-2,-5
+0,-2,0,2
+3,-3,-7,1
+-8,-8,0,1
+-6,3,4,6
+-5,-7,8,8
+-2,-7,-5,8
+-6,7,2,0
+-8,-1,-7,0
+-4,2,6,1
+-8,0,7,-4
+-8,-1,-5,0
+-1,0,-2,-7
+8,-1,5,6
+-8,4,8,-3
+-5,2,-1,-4
+-4,4,6,4
+0,-1,7,3
+0,7,0,-5
+5,0,-1,5
+5,8,2,-7
+7,3,6,3
+1,3,1,-8
+-3,3,1,0
+0,8,7,5
+3,-4,2,0
+-4,3,-5,7
+-1,1,-4,1
+0,-4,-4,-3
+-4,5,-8,3
+-8,7,-2,-6
+8,-3,8,6
+-4,-7,3,1
+8,4,6,6
+3,0,-4,-7
+7,-2,-3,0
+-3,5,-4,-5
+1,3,6,3
+-5,-3,-1,8
+8,0,-1,-7
+-1,-1,-3,-4
+-6,4,-3,3
+3,1,-7,2
+5,8,6,2
+-3,-6,-4,-8
+-3,6,-4,-1
+-6,4,-2,3
+7,-5,-2,1
+0,-5,0,0
+-3,3,6,3
+6,-6,1,3
+0,6,-3,-1
+3,-8,-8,5
+2,-8,0,3
+1,-2,-8,-5
+7,-8,-6,1
+-5,-3,0,-2
+7,5,0,-4
+-8,0,5,1
+4,3,-1,-4
+-1,-8,1,0
+-3,-8,0,-4
+-3,8,-6,5
+-6,-3,8,-4
+0,-8,4,-4
+0,4,6,-7
+2,5,4,1
+-7,-6,-2,0
+0,5,7,3
+-4,1,4,7
+-1,0,-8,0
+4,1,-4,7
+8,1,1,-7
+-4,6,-4,-8
+-8,1,5,-5
+0,5,3,-6
+0,-3,2,-3
+-4,-7,5,3
+-6,-2,4,-3
+0,-4,3,0
+-6,3,-4,-4
+4,-1,3,-4
+7,-5,-3,-1
+-6,1,-1,7
+0,1,2,-7
+0,0,-4,0
+-6,2,-8,-6
+1,6,7,-4
+5,-3,-7,4
+3,7,-1,6
+1,3,5,1
+8,-3,8,0
+7,1,-2,7
+6,6,0,-6
+-2,-6,-1,5
+4,5,-1,-5
+2,-1,3,0
+8,-7,3,-3
+0,-1,-5,1
+8,0,8,-6
+2,-1,3,-5
+2,0,4,5
+0,-4,-1,-2
+6,-1,2,3
+4,8,-7,-6
+8,-7,-7,-7
+4,5,-4,4
+1,-2,-3,-8
+4,-8,-8,3
+1,6,-7,0
+-3,5,7,-1
+-6,3,-7,7
+-6,0,4,1
+3,0,2,-7
+-7,-8,7,-4
+-8,4,2,-7
+-5,0,-4,7
+1,7,8,0
+2,0,-4,5
+7,-7,6,0
+8,3,-8,7
+0,0,-7,-8
+1,1,7,4
+7,-2,-3,-2
+-4,1,-2,-2
+0,-6,8,8
+4,-4,4,6
+-8,-3,-1,-4
+3,0,0,0
+7,-7,7,2
+0,-4,0,-8
+-2,0,-7,-4
+-5,3,0,-8
+-3,4,4,3
+-1,-2,-3,1
+-7,7,7,2
+-2,-8,-6,6
+7,4,2,0
+-1,-8,3,-4
+-6,-3,-6,2
+-5,0,0,-6
+3,3,-6,6
+5,-3,-3,1
+-5,1,-6,-7
+0,2,0,-1
+3,2,1,2
+1,2,-2,5
+6,1,-1,4
+5,-4,-4,4
+2,-4,-1,-5
+3,4,1,2
+-3,-1,5,1
+-5,-3,0,-6
+0,-6,5,4
+4,-8,-7,7
+-3,-7,-7,-6
+0,-4,5,8
+-5,-1,0,8
+-1,4,4,-8
+8,4,5,4
+2,4,-7,-4
+0,-6,8,-8
+-7,2,-8,-6
+-4,-6,0,4
+5,-8,6,-3
+-7,3,6,8
+6,-7,-7,-7
+0,-1,-1,0
+7,3,-5,6
+-5,-8,-5,3
+-7,0,-7,-3
+-8,2,-2,-4
+6,-3,7,-4
+-8,-6,6,0
+0,0,3,7
+6,3,-7,6
+0,2,-8,-6
+-4,-7,-6,-6
+1,-2,3,7
+2,6,-1,-3
+-4,-6,-7,7
+5,7,8,-8
+-7,8,-8,5
+3,3,2,-6
+-6,-8,4,1
+-2,3,-8,7
+2,8,-1,3
+-3,5,-1,5
+-5,0,4,-4
+-8,-7,0,-7
+8,8,-2,5
+-1,8,-7,7
+-1,2,-2,-4
+-4,6,8,3
+3,-3,-4,-5
+-6,-4,-3,-4
+5,3,0,0
+-8,4,-2,0
+7,2,7,7
+-7,-2,-8,-8
+0,7,-7,0
+-1,-2,6,7
+-6,-7,1,-8
+-2,8,7,6
+8,-5,2,-1
+4,-2,6,0
+2,0,7,3
+4,3,1,6
+7,-3,1,-8
+-3,4,7,-1
+-7,-4,1,-6
+-2,0,-8,-4
+5,-3,-3,8
+-2,-8,-1,-4
+2,-5,6,1
+-5,0,3,3
+-7,-1,7,-8
+-4,-6,5,0
+-8,-6,6,2
+7,-2,1,0
+-3,-6,0,4
+1,-1,5,6
+-3,-2,-3,-7
+7,-4,-6,2
+4,2,-6,-1
+-4,-8,0,-7
+-7,1,-8,7
+-1,1,0,-4
+-8,2,3,-7
+3,-3,-8,7
+0,-6,2,-1
+0,0,-5,-2
+7,-6,-8,-1
+5,-6,7,6
+0,5,8,-1
+-1,-3,-1,8
+-5,2,-5,-3
+-8,-3,6,-2
+5,-1,7,-7
+-6,-6,-6,4
+7,-2,7,8
+0,2,-2,-5
+7,0,-3,-3
+5,2,7,1
+-5,1,-8,4
+2,5,-1,-7
+2,0,-5,8
+-8,6,-6,-1
+5,5,4,5
+1,0,-3,5
+-1,-6,5,0
+0,-1,4,-3
+4,6,-8,2
+-1,-8,0,5
+-1,0,5,3
+-7,-3,-5,0
+3,3,-2,8
+6,-2,0,-2
+7,-4,4,4
+-3,-3,-1,-8
+7,0,-5,-6
+6,7,-6,7
+-7,-1,6,-4
+4,4,1,-3
+-1,0,7,-4
+-7,0,6,3
+2,-3,-5,7
+7,2,0,4
+-8,7,2,7
+-7,0,3,2
+6,1,0,3
+-6,-6,2,-2
+8,4,0,5
+5,-2,-4,-6
+-4,0,-4,-8
+-7,-2,6,-5
+0,-3,-4,-5
+-1,-8,-5,0
+5,-3,-4,-4
+-7,-1,4,4
+0,-4,0,-7
+-7,-4,2,3
+-7,-8,5,-4
+-2,-1,2,7
+0,-7,1,2
+-5,2,5,3
+-2,-2,8,-8
+-8,-5,-4,0
+-2,-5,8,5
+8,1,8,-7
+-4,1,7,-1
+-3,0,3,-7
+0,5,-1,-4
+-4,3,7,5
+-5,6,7,-5
+-1,-8,-1,-7
+-3,-6,7,6
+3,-7,3,0
+-4,0,4,-8
+-3,-1,-4,0
+7,6,-3,6
+2,1,-3,6
+7,-5,1,4
+6,-1,3,-4
+-7,-2,3,0
+6,-7,-8,1
+5,6,-1,5
+-8,-6,0,3
+6,2,7,5
+0,-1,0,1
+-8,5,4,4
+6,5,-1,-4
+5,-8,5,3
+8,-1,2,-5
+-6,-3,-3,7
+0,5,8,8
+-7,0,-6,-3
+2,7,-3,0
+3,-3,-2,8
+7,-6,-1,-5
+-8,-8,-2,3
+-7,7,-1,-4
+-1,5,3,-7
+5,7,7,4
+3,-6,-2,-8
+-5,-8,-4,6
+6,0,2,-2
+7,3,3,-7
+3,7,-6,0
+-7,0,-2,0
+3,-8,-4,0
+-1,-7,-5,8
+5,1,-7,-8
+-4,2,-7,-8
+-6,1,0,4
+-3,1,6,4
+-5,2,-5,0
+2,-4,2,-8
+7,3,-7,0
+0,-3,7,-8
+-7,-6,8,-6
+8,-7,-3,8
+-4,8,6,-5
+-8,6,-8,-7
+7,8,7,-3
+0,2,6,2
+1,-1,-6,8
+0,-2,-6,6
+5,-4,-1,7
+6,0,-3,5
+-8,-5,3,-3
+-5,2,0,1
+-3,-5,4,-1
+-8,-4,-7,-5
+-2,4,-5,0
+3,-4,4,0
+0,4,4,-4
+-8,1,3,-7
+-4,2,0,8
+-6,3,-6,-2
+1,-3,-8,5
+-1,-2,4,-6
+2,-7,3,3
+-3,3,-5,3
+2,-3,2,3
+0,1,-6,6
+-3,4,-4,2
+1,-2,-2,5
+7,-7,7,7
+-4,6,-3,-1
+4,-4,0,-8
+4,0,0,0
+2,5,-8,1
+8,7,3,3
+-1,7,-1,-6
+4,3,6,6
+2,7,0,-2
+4,-2,-2,8
+4,0,2,7
+-7,-5,8,0
+-5,4,0,0
+4,2,8,3
+-3,-7,4,-3
+4,0,-8,0
+8,5,6,4
+-1,6,-6,0
+-3,-1,-3,1
+-5,-8,7,5
+-5,-8,-8,-7
+-5,2,8,-3
+-6,4,1,4
+-8,6,2,6
+4,0,-7,4
+1,0,0,-5
+3,-2,0,3
+-3,-3,5,6
+-7,3,3,-7
+1,4,-7,2
+0,0,-7,1
+-4,3,6,-8
+4,7,-5,-4
+2,-6,-8,3
+8,0,-7,4
+3,2,0,0
+-3,0,4,-6
+3,-3,7,4
+4,0,5,0
+-7,0,-1,6
+-8,4,8,2
+7,-1,-1,-6
+3,-6,-2,-4
+-6,5,-4,-1
+0,-4,-5,3
+3,-5,8,-6
+-2,0,4,4
+-7,-8,-2,8
+-1,0,-8,8
+5,-5,0,1
+-1,2,0,5
+-3,4,-5,-6
+-5,-6,-2,4
+8,-2,4,-4
+0,-7,-2,0
+3,0,7,4
+4,-7,-6,6
+-8,8,-7,7
+3,4,0,3
+3,0,-4,-8
+-3,-5,6,3
+-6,6,-5,-3
+0,-1,-2,-4
+-3,0,4,7
+4,0,-5,-6
+8,-6,-7,-4
+5,-6,7,4
+-1,3,6,6
+0,8,-3,-3
+1,3,-7,0
+0,0,-7,-6
+8,6,-5,0
+-2,-8,3,-3
+-4,-5,-5,0
+-3,-6,3,5
+7,-8,6,-3
+4,-7,-3,0
+-7,2,-8,-7
+3,4,-3,-5
+8,-4,-5,7
+4,4,5,0
+1,1,-1,3
+8,-5,0,6
+-1,7,-8,-5
+7,1,7,0
+-1,1,-6,6
+8,-5,-5,-2
+7,3,4,1
+-2,-3,1,3
+4,-8,1,1
+0,-5,8,5
+3,-3,-8,4
+7,5,0,-1
+-5,-1,-6,5
+6,4,0,-1
+3,-3,-8,0
+0,-1,0,-8
+7,0,5,6
+-5,-7,-1,-7
+-1,4,-2,-3
+3,3,1,8
+1,-5,-6,5
+-1,-8,8,-5
+-7,-2,1,-8
+-7,3,0,5
+1,6,-2,-7
+4,0,0,-7
+-2,5,-2,-3
+-3,-8,-1,1
+3,-2,-6,0
+3,-7,2,-7
+3,1,3,2
+-1,1,-8,-4
+-8,-4,6,-2
+-3,-8,6,4
+4,3,6,-8
+-4,0,-7,7
+4,8,5,-8
+-3,-2,0,0
+-7,5,-5,3
+-8,4,-1,1
+1,0,-8,7
+5,-7,0,2
+1,7,-4,7
+8,-4,-1,3
+7,0,-3,5
+-3,4,-3,-3
+-7,-5,-6,7
+4,7,1,6
+0,-7,0,3
+-7,-8,0,-7
+-6,0,6,-8
+-1,-8,2,8
+2,2,-2,-7
+-5,-5,3,1
+5,-5,8,5
+-5,-1,-4,-4
+-5,6,-6,3
+1,0,-6,-2
+0,-6,-4,1
+-1,3,0,-5
+6,-2,8,8
+0,6,7,2
+4,0,8,-1
+-4,6,8,-5
+-4,7,4,0
+-6,0,-8,1
+8,8,0,-2
+-8,-8,8,1
+6,-7,-1,4
+-8,7,0,3
+5,-5,7,6
+-5,3,-7,-3
+2,-1,5,6
+-7,-6,0,-3
+8,2,-4,4
+4,-8,-6,0
+-5,1,-3,-3
+5,-4,0,-8
+-3,-5,7,-6
+-4,0,0,-8
+6,6,2,-6
+-7,2,-3,-1
+2,-1,7,1
+3,5,-4,3
+0,2,3,8
+1,-6,7,-6
+-7,-8,-6,4
+2,-2,8,-6
+-8,2,3,2
+-6,-6,5,-3
+-5,3,5,3
+-4,2,0,6
+8,-2,1,0
+5,-4,6,-3
+-6,-7,-1,2
+-4,-1,4,-3
+0,7,0,2
+3,0,4,-8
+1,8,2,-4
+-1,-1,4,5
+-3,7,-3,6
+2,2,-6,-1
+-5,7,5,7
+8,-2,4,7
+0,2,-5,-6
+7,1,-7,3
+-4,6,-2,-1
+0,7,-2,-5
+4,-1,3,2
+-2,0,8,-4
+-3,-6,-3,3
+5,0,6,6
+1,-5,-7,-1
+3,7,-8,3
+5,5,0,8
+-5,4,-7,3
+1,3,1,2
+-4,-8,2,8
+1,1,-6,8
+8,-3,7,-8
+-3,5,-6,-3
+-7,8,-5,6
+1,8,0,-6
+-4,-1,6,6
+2,-2,-2,-7
+8,-1,6,-7
+-8,3,-8,-8
+0,2,6,-7
+8,5,2,-8
+-4,0,7,7
+4,7,5,-5
+-5,-2,4,0
+-2,2,4,-2
+1,5,7,4
+-5,-6,0,-5
+-4,-2,-4,3
+-3,-5,1,-8
+-4,5,-6,-4
+-4,2,1,-1
+0,-3,6,0
+-1,7,7,-7
+0,-7,-3,7
+-2,-6,0,-2
+3,0,-6,-1
+3,2,-8,0
+6,7,4,4
+4,-5,2,-7
+-6,6,0,1
+5,7,8,1
+-2,1,-1,-1
+3,7,-7,2
+7,-6,3,-2
+-8,0,2,0
+-1,-1,-2,-8
+-1,0,4,0
+6,6,4,4
+5,-7,-7,-7
+1,3,-4,-4
+-3,1,3,3
+-5,-2,1,-4
+7,0,-5,0
+7,-4,-3,-7
+3,-7,5,-7
+-4,-8,-1,-2
+-1,-3,-6,0
+7,1,4,0
+-5,-3,3,2
+2,0,3,-2
+6,-1,7,-7
+-8,5,6,4
+5,1,2,0
+4,7,-4,-2
+-8,4,6,-7
+-7,0,8,-4
+-2,2,2,2
+5,-2,5,8
+1,1,-4,-4
+-1,-5,8,1
+1,1,5,5
+5,0,7,-5
+0,-2,0,0
+-8,2,-1,-5
+2,7,7,1
+-2,-7,1,3
+-8,4,-4,2
+-5,8,7,-3
+8,7,-7,-2
+7,-4,-1,-8
+-3,-5,4,-7
+2,4,6,-2
+0,0,6,-8
+3,5,-2,0
+8,3,-8,-4
+-1,0,3,8
+1,-7,2,-6
+-3,0,5,8
+2,0,0,-4
+4,-8,-5,2
+8,5,-5,-8
+0,2,5,0
+-3,-7,3,-8
+-2,-7,-7,5
+7,-3,1,0
+-1,4,6,-8
+-6,2,6,-2
+2,8,-8,-5
+-2,-2,6,2
+2,-1,5,3
+5,-1,0,5
+-4,8,0,2
+-8,7,-1,8
+-1,7,-5,0
+3,3,-2,2
+-8,3,-5,3
+-4,8,-2,-5
+-6,3,-8,-6
+7,8,8,-7
+4,1,-6,3
+-3,0,2,5
+-4,-5,-8,3
+2,-8,-7,5
+-1,-2,0,-3
+5,-5,8,0
+0,3,-4,5
+-3,-7,-1,-1
+-1,0,8,5
+6,8,0,-1
+-8,-4,-8,3
+3,2,6,-8
+1,-3,-1,0
+-1,-7,-7,-5
+-7,-5,-7,7
+-2,-7,5,4
+4,3,5,-2
+0,4,0,8
+-5,4,3,-6
+0,4,2,3
+-2,-5,-5,-3
+2,-8,8,-4
+1,8,-2,0
+-2,0,-3,-3
+-3,4,-8,-6
+-6,2,1,8
+8,-3,4,-4
+-3,0,8,-6
+-6,6,4,3
+-4,-5,0,-5
+-2,-4,5,5
+-2,-4,-2,-1
+-3,8,-7,0
+6,7,-2,4
+6,1,-6,-5
+-8,-8,-7,3
+-5,-5,5,-7
+-3,-6,-8,6
+3,0,-7,4
+-2,5,-3,1
+-1,5,-4,8
+1,-2,-1,1
+5,-6,-6,-8
+1,-7,-6,5
+8,7,1,1
+-6,7,-8,0
+1,6,0,-1
+-2,7,3,8
+-5,6,0,6
+-5,0,1,3
+6,-1,-6,-5
+6,-5,6,4
+1,-3,-4,6
+2,8,-1,-7
+-6,2,-8,2
+3,-4,-4,0
+2,6,-1,0
+-5,-4,5,3
+-4,4,5,4
+-6,1,-6,-3
+6,4,3,-2
+2,-5,-4,6
+-2,6,2,0
+8,6,-7,4
+2,-8,-8,0
+7,-4,7,-6
+0,1,0,0
+6,5,-5,0
+-2,-7,6,-4
+1,-5,-6,8
+0,-5,7,0
+-8,-8,6,-3
+-4,0,2,6
+-7,-8,-1,-4
+8,7,6,6
+2,3,-8,5
+-3,-7,-4,-4
+4,-7,5,-4
+-6,0,-7,6
+0,-7,2,7
+1,4,-3,-2
+5,8,0,2
+6,-8,2,1
+6,7,4,-7
+4,8,-6,-6
+3,-6,-1,-6
+-7,0,6,-3
+-4,-3,5,7
+-2,-1,1,-2
+-7,-8,-3,-6
+-4,-8,0,2
+7,1,-4,6
+5,7,-3,2
+-5,-7,4,-3
+4,-4,0,0
+-5,-1,-5,4
+1,7,-8,6
+-8,-7,1,0
+-7,4,1,0
+-8,-5,-8,1
+-1,6,4,6
+-2,-3,8,8
+-5,-1,8,6
+8,5,2,-7
+-7,2,-2,0
+7,-5,4,-8
+-3,8,-4,-2
+-8,-6,6,1
+-2,0,7,8
+-5,-4,-6,0
+-5,-4,2,7
+-7,-6,-7,-3
+-1,0,6,-1
+-5,-7,-2,2
+8,0,7,-2
+7,-4,-4,5
+8,-1,-2,-5
+0,2,-4,2
+-1,-1,-6,3
+1,7,0,5
+2,0,0,8
+-8,-8,-1,7
+-2,7,0,0
+1,8,5,-6
+0,-4,-2,-5
+8,2,-4,6
+8,4,0,6
+-4,-4,-4,1
+-4,8,-4,0
+0,-2,1,-7
+4,4,-4,-3
+-2,-5,4,-3
+-5,3,7,-5
+-3,6,-2,-2
+0,0,8,5
+-2,3,0,5
+-2,7,-2,-7
+-2,4,0,-8
+5,1,-6,1
+-6,0,5,-4
+-7,-1,-5,4
+-8,2,6,7
+7,-4,-1,-4
+6,1,0,8
+4,1,-1,-7
+3,0,-7,6
+1,8,8,7
+3,0,2,-5
+4,-5,7,-8
+3,-2,6,0
+-6,8,6,-8
+-7,3,-3,4
+-8,-2,4,-6
+3,-5,7,-4
+5,5,-2,-1
+-6,-3,-3,0
+6,5,-7,4
+-6,-3,-1,1