commit 87b4ba622b1394cd0757b2a4ee508346b3de7650 Author: ilyakooo0 Date: Sun Apr 15 10:40:23 2018 +0300 Initial commit diff --git a/.vs/SR4/xs/UserPrefs.xml b/.vs/SR4/xs/UserPrefs.xml new file mode 100644 index 0000000..04aba48 --- /dev/null +++ b/.vs/SR4/xs/UserPrefs.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SR4.sln b/SR4.sln new file mode 100644 index 0000000..90463c1 --- /dev/null +++ b/SR4.sln @@ -0,0 +1,29 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Read", "SR4\Read.csproj", "{9524549F-3DF4-4566-BF81-F08246E54EB9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Write", "Write\Write.csproj", "{B24C8C3A-6F8B-4AD7-BB48-5C48873CB4FF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Triangle", "Triangle\Triangle.csproj", "{C16F84C8-31C7-43F7-A593-3EBE333EC7D1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9524549F-3DF4-4566-BF81-F08246E54EB9}.Debug|x86.ActiveCfg = Debug|x86 + {9524549F-3DF4-4566-BF81-F08246E54EB9}.Debug|x86.Build.0 = Debug|x86 + {9524549F-3DF4-4566-BF81-F08246E54EB9}.Release|x86.ActiveCfg = Release|x86 + {9524549F-3DF4-4566-BF81-F08246E54EB9}.Release|x86.Build.0 = Release|x86 + {B24C8C3A-6F8B-4AD7-BB48-5C48873CB4FF}.Debug|x86.ActiveCfg = Debug|x86 + {B24C8C3A-6F8B-4AD7-BB48-5C48873CB4FF}.Debug|x86.Build.0 = Debug|x86 + {B24C8C3A-6F8B-4AD7-BB48-5C48873CB4FF}.Release|x86.ActiveCfg = Release|x86 + {B24C8C3A-6F8B-4AD7-BB48-5C48873CB4FF}.Release|x86.Build.0 = Release|x86 + {C16F84C8-31C7-43F7-A593-3EBE333EC7D1}.Debug|x86.ActiveCfg = Debug|Any CPU + {C16F84C8-31C7-43F7-A593-3EBE333EC7D1}.Debug|x86.Build.0 = Debug|Any CPU + {C16F84C8-31C7-43F7-A593-3EBE333EC7D1}.Release|x86.ActiveCfg = Release|Any CPU + {C16F84C8-31C7-43F7-A593-3EBE333EC7D1}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/SR4/Program.cs b/SR4/Program.cs new file mode 100644 index 0000000..f50c929 --- /dev/null +++ b/SR4/Program.cs @@ -0,0 +1,28 @@ +using System; +using System.Xml.Serialization; +using System.IO; + +namespace SR4 { + class MainClass { + public static void Main(string[] args) { + Triangle.Triangle[] triangles; + + try { + var stream = new FileStream("../../../triangles.xml", FileMode.Open); + + var format = new XmlSerializer(typeof(Triangle.Triangle[])); + + triangles = format.Deserialize(stream) as Triangle.Triangle[]; + + Array.Sort(triangles); + + foreach (var triangle in triangles) { + Console.WriteLine(triangle); + } + + } catch { + Console.WriteLine("There was an error reading the file."); + } + } + } +} diff --git a/SR4/Properties/AssemblyInfo.cs b/SR4/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..04663da --- /dev/null +++ b/SR4/Properties/AssemblyInfo.cs @@ -0,0 +1,26 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// Information about this assembly is defined by the following attributes. +// Change them to the values specific to your project. + +[assembly: AssemblyTitle("SR4")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". +// The form "{Major}.{Minor}.*" will automatically update the build and revision, +// and "{Major}.{Minor}.{Build}.*" will update just the revision. + +[assembly: AssemblyVersion("1.0.*")] + +// The following attributes are used to specify the signing key for the assembly, +// if desired. See the Mono documentation for more information about signing. + +//[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile("")] diff --git a/SR4/Read.csproj b/SR4/Read.csproj new file mode 100644 index 0000000..ac6439c --- /dev/null +++ b/SR4/Read.csproj @@ -0,0 +1,47 @@ + + + + Debug + x86 + {9524549F-3DF4-4566-BF81-F08246E54EB9} + Exe + SR4 + SR4 + v4.6.1 + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + true + x86 + + + true + bin\Release + prompt + 4 + true + x86 + + + + + + + + + + + + + {C16F84C8-31C7-43F7-A593-3EBE333EC7D1} + Triangle + + + + \ No newline at end of file diff --git a/SR4/bin/Debug/SR4.exe b/SR4/bin/Debug/SR4.exe new file mode 100644 index 0000000..e9546eb Binary files /dev/null and b/SR4/bin/Debug/SR4.exe differ diff --git a/SR4/bin/Debug/SR4.pdb b/SR4/bin/Debug/SR4.pdb new file mode 100644 index 0000000..57026cf Binary files /dev/null and b/SR4/bin/Debug/SR4.pdb differ diff --git a/SR4/bin/Debug/Triangle.dll b/SR4/bin/Debug/Triangle.dll new file mode 100644 index 0000000..3b3b3f9 Binary files /dev/null and b/SR4/bin/Debug/Triangle.dll differ diff --git a/SR4/bin/Debug/Triangle.pdb b/SR4/bin/Debug/Triangle.pdb new file mode 100644 index 0000000..b743c95 Binary files /dev/null and b/SR4/bin/Debug/Triangle.pdb differ diff --git a/SR4/obj/x86/Debug/Read.csproj.CopyComplete b/SR4/obj/x86/Debug/Read.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/SR4/obj/x86/Debug/Read.csproj.CoreCompileInputs.cache b/SR4/obj/x86/Debug/Read.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..23f3abf --- /dev/null +++ b/SR4/obj/x86/Debug/Read.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +85deafded028a41ab74476515e10848f89eed32a diff --git a/SR4/obj/x86/Debug/Read.csproj.FileListAbsolute.txt b/SR4/obj/x86/Debug/Read.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..9727c3a --- /dev/null +++ b/SR4/obj/x86/Debug/Read.csproj.FileListAbsolute.txt @@ -0,0 +1,8 @@ +/Users/ilya/Developer/HSE/Костюченко_4/SR4/SR4/bin/Debug/SR4.exe +/Users/ilya/Developer/HSE/Костюченко_4/SR4/SR4/bin/Debug/SR4.pdb +/Users/ilya/Developer/HSE/Костюченко_4/SR4/SR4/bin/Debug/Triangle.dll +/Users/ilya/Developer/HSE/Костюченко_4/SR4/SR4/bin/Debug/Triangle.pdb +/Users/ilya/Developer/HSE/Костюченко_4/SR4/SR4/obj/x86/Debug/Read.csproj.CoreCompileInputs.cache +/Users/ilya/Developer/HSE/Костюченко_4/SR4/SR4/obj/x86/Debug/SR4.exe +/Users/ilya/Developer/HSE/Костюченко_4/SR4/SR4/obj/x86/Debug/SR4.pdb +/Users/ilya/Developer/HSE/Костюченко_4/SR4/SR4/obj/x86/Debug/Read.csprojResolveAssemblyReference.cache diff --git a/SR4/obj/x86/Debug/Read.csprojResolveAssemblyReference.cache b/SR4/obj/x86/Debug/Read.csprojResolveAssemblyReference.cache new file mode 100644 index 0000000..0716647 Binary files /dev/null and b/SR4/obj/x86/Debug/Read.csprojResolveAssemblyReference.cache differ diff --git a/SR4/obj/x86/Debug/SR4.exe b/SR4/obj/x86/Debug/SR4.exe new file mode 100644 index 0000000..e9546eb Binary files /dev/null and b/SR4/obj/x86/Debug/SR4.exe differ diff --git a/SR4/obj/x86/Debug/SR4.pdb b/SR4/obj/x86/Debug/SR4.pdb new file mode 100644 index 0000000..57026cf Binary files /dev/null and b/SR4/obj/x86/Debug/SR4.pdb differ diff --git a/Triangle/Properties/AssemblyInfo.cs b/Triangle/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..b2175ff --- /dev/null +++ b/Triangle/Properties/AssemblyInfo.cs @@ -0,0 +1,26 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// Information about this assembly is defined by the following attributes. +// Change them to the values specific to your project. + +[assembly: AssemblyTitle("Triangle")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". +// The form "{Major}.{Minor}.*" will automatically update the build and revision, +// and "{Major}.{Minor}.{Build}.*" will update just the revision. + +[assembly: AssemblyVersion("1.0.*")] + +// The following attributes are used to specify the signing key for the assembly, +// if desired. See the Mono documentation for more information about signing. + +//[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile("")] diff --git a/Triangle/Triangle.cs b/Triangle/Triangle.cs new file mode 100644 index 0000000..f93e56b --- /dev/null +++ b/Triangle/Triangle.cs @@ -0,0 +1,52 @@ +using System; +using System.Xml; + + +namespace Triangle { + + /// + /// A right angle triangle. + /// + [Serializable] + public class Triangle: IComparable { + + /// + /// A side of the triangle. + /// + public double A {get; set;} + /// + /// A side of the triangle. + /// + public double B {get; set;} + + /// + /// A side of the triangle. + /// + public double C { + get { + return Math.Sqrt(A*A + B*B); + } + } + + /// + /// The area of the triangle. + /// + public double S { + get { + return A * B / 2; + } + } + + + public Triangle() { + } + + public override string ToString() { + return $"A: {A:f2} \tB: {B:f2} \tC: {C:f2} \tS: {S:f2}"; + } + + int IComparable.CompareTo(Triangle other) { + return (other.S/other.C).CompareTo(S/C); + } + } +} diff --git a/Triangle/Triangle.csproj b/Triangle/Triangle.csproj new file mode 100644 index 0000000..564c0fc --- /dev/null +++ b/Triangle/Triangle.csproj @@ -0,0 +1,41 @@ + + + + Debug + AnyCPU + {C16F84C8-31C7-43F7-A593-3EBE333EC7D1} + Library + Triangle + Triangle + v4.6.1 + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + false + + + true + bin\Release + prompt + 4 + false + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Triangle/Triangle.csproj.user b/Triangle/Triangle.csproj.user new file mode 100644 index 0000000..7306da1 --- /dev/null +++ b/Triangle/Triangle.csproj.user @@ -0,0 +1,7 @@ + + + + Project + true + + \ No newline at end of file diff --git a/Triangle/bin/Debug/Triangle.dll b/Triangle/bin/Debug/Triangle.dll new file mode 100644 index 0000000..fe5582e Binary files /dev/null and b/Triangle/bin/Debug/Triangle.dll differ diff --git a/Triangle/bin/Debug/Triangle.pdb b/Triangle/bin/Debug/Triangle.pdb new file mode 100644 index 0000000..f9f0c2c Binary files /dev/null and b/Triangle/bin/Debug/Triangle.pdb differ diff --git a/Triangle/iko.cs b/Triangle/iko.cs new file mode 100644 index 0000000..12757fb --- /dev/null +++ b/Triangle/iko.cs @@ -0,0 +1,107 @@ +using System; +using static System.Console; + +namespace Iko { + public static class Iko { + /// + /// Gets a double value from the user. + /// + /// The double. + /// Prompt + /// A validation function + /// Text to print if user fails + public static double GetDouble(string text, Func validate, string falseText) { + Write(text); + double res; + while (true) { + if (double.TryParse(ReadLine(), out res) && validate(res)) { + return res; + } else { + WriteLine(falseText); + Write(text); + } + } + } + + /// + /// Gets a double value from the user. + /// + /// The double. + /// Prompt + /// Text to print if user fails + public static double GetDouble(string text, string falseText) { + return GetDouble(text, _ => { return true; }, falseText); + } + + /// + /// Gets a float value from the user. + /// + /// The double. + /// Prompt + /// A validation function + /// Text to print if user fails + public static float GetFloat(string text, Func validate, string falseText) { + Write(text); + float res; + while (true) { + if (float.TryParse(ReadLine(), out res) && validate(res)) { + return res; + } else { + WriteLine(falseText); + Write(text); + } + } + } + + /// + /// Gets a float value from the user. + /// + /// The double. + /// Prompt + /// Text to print if user fails + public static float GetFloat(string text, string falseText) { + return GetFloat(text, _ => { return true; }, falseText); + } + + /// + /// Gets an int value from the user. + /// + /// The double. + /// Prompt + /// A validation function + /// Text to print if user fails + public static int GetInt(string text, Func validate, string falseText) { + Write(text); + int res; + while (true) { + if (int.TryParse(ReadLine(), out res) && validate(res)) { + return res; + } else { + WriteLine(falseText); + Write(text); + } + } + } + + /// + /// Gets an int value from the user. + /// + /// The double. + /// Prompt + /// Text to print if user fails + public static int GetInt(string text, string falseText) { + return GetInt(text, _ => { return true; }, falseText); + } + + /// + /// Repeats a given function. + /// + /// the function to be repeated + public static void Repeat(Action f) { + do { + f(); + Write("Press Enter to repeat program. Press any other key to quit."); + } while (ReadKey().Key == ConsoleKey.Enter); + } + } +} \ No newline at end of file diff --git a/Triangle/obj/Debug/Triangle.csproj.CoreCompileInputs.cache b/Triangle/obj/Debug/Triangle.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..f57a63c --- /dev/null +++ b/Triangle/obj/Debug/Triangle.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +26064c01187a39112c66f518d62a1007e5e8435d diff --git a/Triangle/obj/Debug/Triangle.csproj.FileListAbsolute.txt b/Triangle/obj/Debug/Triangle.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..8910f3f --- /dev/null +++ b/Triangle/obj/Debug/Triangle.csproj.FileListAbsolute.txt @@ -0,0 +1,6 @@ +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Triangle/obj/Debug/Triangle.csprojResolveAssemblyReference.cache +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Triangle/obj/Debug/Triangle.csproj.CoreCompileInputs.cache +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Triangle/bin/Debug/Triangle.dll +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Triangle/bin/Debug/Triangle.pdb +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Triangle/obj/Debug/Triangle.dll +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Triangle/obj/Debug/Triangle.pdb diff --git a/Triangle/obj/Debug/Triangle.csprojResolveAssemblyReference.cache b/Triangle/obj/Debug/Triangle.csprojResolveAssemblyReference.cache new file mode 100644 index 0000000..4d91873 Binary files /dev/null and b/Triangle/obj/Debug/Triangle.csprojResolveAssemblyReference.cache differ diff --git a/Triangle/obj/Debug/Triangle.dll b/Triangle/obj/Debug/Triangle.dll new file mode 100644 index 0000000..fe5582e Binary files /dev/null and b/Triangle/obj/Debug/Triangle.dll differ diff --git a/Triangle/obj/Debug/Triangle.pdb b/Triangle/obj/Debug/Triangle.pdb new file mode 100644 index 0000000..f9f0c2c Binary files /dev/null and b/Triangle/obj/Debug/Triangle.pdb differ diff --git a/Write/Program.cs b/Write/Program.cs new file mode 100644 index 0000000..13ad4a3 --- /dev/null +++ b/Write/Program.cs @@ -0,0 +1,33 @@ +using System; +using static Iko.Iko; +using Triangle; +using System.Xml.Serialization; +using System.IO; + +namespace Write { + class MainClass { + + static Random rand = new Random(); + + public static void Main() { + var n = GetInt("N = ", x => x > 0, "That is not a valid integer, larger than 0."); + var triangles = new Triangle.Triangle[n]; + + for (var i = 0; i < n; i++) { + triangles[i] = new Triangle.Triangle(); + triangles[i].A = rand.NextDouble() * 29 + 1; + triangles[i].B = rand.NextDouble() * 29 + 1; + } + + try { + var stream = new FileStream("../../../triangles.xml", FileMode.Create); + + var format = new XmlSerializer(typeof(Triangle.Triangle[])); + + format.Serialize(stream, triangles); + } catch { + Console.WriteLine("There was an error writing the file."); + } + } + } +} diff --git a/Write/Properties/AssemblyInfo.cs b/Write/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..2400736 --- /dev/null +++ b/Write/Properties/AssemblyInfo.cs @@ -0,0 +1,26 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// Information about this assembly is defined by the following attributes. +// Change them to the values specific to your project. + +[assembly: AssemblyTitle("Write")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". +// The form "{Major}.{Minor}.*" will automatically update the build and revision, +// and "{Major}.{Minor}.{Build}.*" will update just the revision. + +[assembly: AssemblyVersion("1.0.*")] + +// The following attributes are used to specify the signing key for the assembly, +// if desired. See the Mono documentation for more information about signing. + +//[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile("")] diff --git a/Write/Write.csproj b/Write/Write.csproj new file mode 100644 index 0000000..2a7e1c6 --- /dev/null +++ b/Write/Write.csproj @@ -0,0 +1,47 @@ + + + + Debug + x86 + {B24C8C3A-6F8B-4AD7-BB48-5C48873CB4FF} + Exe + Write + Write + v4.6.1 + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + true + x86 + + + true + bin\Release + prompt + 4 + true + x86 + + + + + + + + + + + + + {C16F84C8-31C7-43F7-A593-3EBE333EC7D1} + Triangle + + + + \ No newline at end of file diff --git a/Write/bin/Debug/Triangle.dll b/Write/bin/Debug/Triangle.dll new file mode 100644 index 0000000..fe5582e Binary files /dev/null and b/Write/bin/Debug/Triangle.dll differ diff --git a/Write/bin/Debug/Triangle.pdb b/Write/bin/Debug/Triangle.pdb new file mode 100644 index 0000000..f9f0c2c Binary files /dev/null and b/Write/bin/Debug/Triangle.pdb differ diff --git a/Write/bin/Debug/Write.exe b/Write/bin/Debug/Write.exe new file mode 100644 index 0000000..b1a1da0 Binary files /dev/null and b/Write/bin/Debug/Write.exe differ diff --git a/Write/bin/Debug/Write.pdb b/Write/bin/Debug/Write.pdb new file mode 100644 index 0000000..0d352c3 Binary files /dev/null and b/Write/bin/Debug/Write.pdb differ diff --git a/Write/obj/x86/Debug/Write.csproj.CopyComplete b/Write/obj/x86/Debug/Write.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/Write/obj/x86/Debug/Write.csproj.CoreCompileInputs.cache b/Write/obj/x86/Debug/Write.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..23f3abf --- /dev/null +++ b/Write/obj/x86/Debug/Write.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +85deafded028a41ab74476515e10848f89eed32a diff --git a/Write/obj/x86/Debug/Write.csproj.FileListAbsolute.txt b/Write/obj/x86/Debug/Write.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..ccf42f4 --- /dev/null +++ b/Write/obj/x86/Debug/Write.csproj.FileListAbsolute.txt @@ -0,0 +1,8 @@ +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Write/bin/Debug/Write.exe +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Write/bin/Debug/Write.pdb +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Write/bin/Debug/Triangle.dll +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Write/bin/Debug/Triangle.pdb +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Write/obj/x86/Debug/Write.csprojResolveAssemblyReference.cache +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Write/obj/x86/Debug/Write.csproj.CoreCompileInputs.cache +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Write/obj/x86/Debug/Write.exe +/Users/ilya/Developer/HSE/Костюченко_4/SR4/Write/obj/x86/Debug/Write.pdb diff --git a/Write/obj/x86/Debug/Write.csprojResolveAssemblyReference.cache b/Write/obj/x86/Debug/Write.csprojResolveAssemblyReference.cache new file mode 100644 index 0000000..6da188c Binary files /dev/null and b/Write/obj/x86/Debug/Write.csprojResolveAssemblyReference.cache differ diff --git a/Write/obj/x86/Debug/Write.exe b/Write/obj/x86/Debug/Write.exe new file mode 100644 index 0000000..b1a1da0 Binary files /dev/null and b/Write/obj/x86/Debug/Write.exe differ diff --git a/Write/obj/x86/Debug/Write.pdb b/Write/obj/x86/Debug/Write.pdb new file mode 100644 index 0000000..0d352c3 Binary files /dev/null and b/Write/obj/x86/Debug/Write.pdb differ diff --git a/triangles.xml b/triangles.xml new file mode 100644 index 0000000..b83598c --- /dev/null +++ b/triangles.xml @@ -0,0 +1,403 @@ + + + + 11.590066778748328 + 8.45989516166034 + + + 13.408463797256566 + 11.282894549091763 + + + 26.500275969272607 + 27.645732498562772 + + + 21.3934979827113 + 20.232584909644249 + + + 5.852705262532786 + 4.8671410153001275 + + + 12.381108361473823 + 11.980707896398709 + + + 18.329954963796752 + 2.1361606587358568 + + + 11.777939608217189 + 23.828438237695227 + + + 27.911080049309451 + 10.134340782712373 + + + 29.803544806690674 + 27.433086728413162 + + + 27.917988435327068 + 4.7046660458225134 + + + 8.2098921510437 + 10.453102189327172 + + + 2.7149787739454672 + 1.1104073450483416 + + + 15.438877385779694 + 12.28837327160331 + + + 24.912193073384554 + 27.003105659970597 + + + 11.545656455003495 + 4.3250944643863916 + + + 15.286987881775474 + 16.497282976516189 + + + 4.3865856683750568 + 18.063062359608274 + + + 5.9489991622739469 + 16.256814009629569 + + + 7.7351671246509843 + 17.158297940231069 + + + 26.106131854516516 + 9.7492303549075636 + + + 9.3909375487784565 + 22.288055134605642 + + + 10.1610902758134 + 23.629829560234132 + + + 23.727255164052945 + 28.332973533465051 + + + 27.539886972652695 + 11.244115075675825 + + + 16.852272863431033 + 7.9682857813165917 + + + 23.208372760661121 + 18.683286146113314 + + + 7.19508445923919 + 7.885400732925814 + + + 1.2500030106166391 + 3.9553616079293943 + + + 9.5679157751462949 + 26.389868624224263 + + + 13.206855112783078 + 10.105124711107987 + + + 25.3203918362597 + 8.84959960256219 + + + 23.321484560296629 + 9.05601389708743 + + + 26.693720014623235 + 2.8326719872805626 + + + 27.7495749903608 + 23.714877248608914 + + + 18.879439075421281 + 12.654266039679882 + + + 3.3991736580613878 + 13.645246866459608 + + + 2.3269548738966486 + 19.168758080419508 + + + 25.313728497044057 + 15.921837016438058 + + + 1.2920119135137704 + 9.0851492137113343 + + + 7.3831521809953973 + 17.105903852314643 + + + 14.748486298950615 + 14.668077997708728 + + + 11.150832796539568 + 4.5773706736869038 + + + 11.116721703725272 + 26.603701735662156 + + + 10.302198517276999 + 26.501184935449242 + + + 17.813059348991633 + 2.9936375543445521 + + + 7.6888982344832728 + 11.345298500426718 + + + 4.9514428274479894 + 17.001007143408529 + + + 14.428838518647867 + 1.5413379462162675 + + + 28.96657057430901 + 2.10507637872597 + + + 26.936109545610897 + 21.894583176772382 + + + 1.5833985431042494 + 4.82500972404378 + + + 22.364676000254544 + 5.1980068237511476 + + + 5.5691121232552039 + 10.563125894201512 + + + 17.356331272216668 + 18.026326378819686 + + + 12.571672235881756 + 15.328165994178581 + + + 3.6633496944156239 + 1.4827665614349612 + + + 20.006716443228871 + 26.100951260468435 + + + 25.35663841215737 + 11.652313838550967 + + + 27.698766806022622 + 19.744113886609725 + + + 27.93929219336216 + 1.0900182789610784 + + + 22.530473470003567 + 2.2483900549115567 + + + 6.9018178996172814 + 16.885801521076729 + + + 5.9653678051966095 + 22.053875157634671 + + + 9.6938040390116171 + 15.325947730488119 + + + 5.7399195617716376 + 24.77239055082779 + + + 16.955266442129048 + 29.1869355347878 + + + 12.149039668100439 + 15.488569004223015 + + + 16.522505309210395 + 10.923476574906836 + + + 22.303401997454188 + 6.95282597278842 + + + 29.008258550431698 + 1.5535958095237592 + + + 10.24737046344549 + 22.275872138457313 + + + 14.929512699567487 + 3.4848933548130527 + + + 29.33028785992893 + 7.2061316730483114 + + + 21.338582057197851 + 8.8504915669795565 + + + 21.644368731251156 + 3.7765246800969003 + + + 3.8425711401936464 + 10.222456687699284 + + + 4.1657841853638109 + 26.846091266649815 + + + 29.364109706768815 + 29.335008488192692 + + + 27.9231918244265 + 6.478874479177815 + + + 29.23263901855454 + 13.515236965620534 + + + 1.8693218551898942 + 3.0303835417285483 + + + 13.286406817048046 + 17.79928168505397 + + + 28.372899552049535 + 4.476414159627824 + + + 19.333726893334521 + 5.5181474390058538 + + + 10.57844595125804 + 15.433161837250536 + + + 19.348911841096783 + 21.7459408332342 + + + 20.735855336178027 + 27.3856963838384 + + + 20.842647815515587 + 1.2546013315462514 + + + 17.318877355344071 + 4.4169245448042282 + + + 17.5555136611478 + 28.7592361321483 + + + 1.7152931004368202 + 1.8433124720320628 + + + 23.681578999236962 + 2.9633948816747382 + + + 21.929819410634142 + 7.7328097544297627 + + + 26.021151349423988 + 15.302948401450621 + + + 16.124459297454198 + 17.187496821017703 + + + 13.000284750480338 + 16.824527518276369 + + + 7.7201869542338821 + 16.493021584811167 + + + 29.684273954333865 + 8.2169869217169413 + + + 9.9894653214092681 + 27.130231014513519 + + \ No newline at end of file