day 3
This commit is contained in:
@@ -43,6 +43,9 @@
|
|||||||
<None Remove="Problems\AOC2022\Day9\test2.txt" />
|
<None Remove="Problems\AOC2022\Day9\test2.txt" />
|
||||||
<None Remove="problems\aoc2023\day1\input.txt" />
|
<None Remove="problems\aoc2023\day1\input.txt" />
|
||||||
<None Remove="problems\aoc2023\day2\input.txt" />
|
<None Remove="problems\aoc2023\day2\input.txt" />
|
||||||
|
<None Remove="problems\aoc2023\day3\input.txt" />
|
||||||
|
<None Remove="problems\aoc2023\day3\sample.txt" />
|
||||||
|
<None Remove="problems\aoc2023\day3\sara.txt" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
136
AdventOfCode/Problems/AOC2023/Day3/GearRatios.cs
Normal file
136
AdventOfCode/Problems/AOC2023/Day3/GearRatios.cs
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
using AdventOfCode.Runner.Attributes;
|
||||||
|
|
||||||
|
namespace AdventOfCode.Problems.AOC2023.Day3;
|
||||||
|
|
||||||
|
[ProblemInfo(2023, 3, "Gear Ratios")]
|
||||||
|
internal class GearRatios : Problem<int, int>
|
||||||
|
{
|
||||||
|
private string[] _data = [];
|
||||||
|
private int _width;
|
||||||
|
private int _height;
|
||||||
|
|
||||||
|
public override void LoadInput()
|
||||||
|
{
|
||||||
|
_data = ReadInputLines();
|
||||||
|
_width = _data[0].Length - 1;
|
||||||
|
_height = _data.Length - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void CalculatePart1()
|
||||||
|
{
|
||||||
|
var partNumbers = new List<int>();
|
||||||
|
|
||||||
|
for (int y = 0; y < _height; y++)
|
||||||
|
{
|
||||||
|
for (int x = 0; x <= _width; x++)
|
||||||
|
{
|
||||||
|
var cell = _data[y][x];
|
||||||
|
switch (cell - '0')
|
||||||
|
{
|
||||||
|
case '.' - '0':
|
||||||
|
continue;
|
||||||
|
case < 0 or > 9:
|
||||||
|
FindNumbers(x, y, ref partNumbers);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Part1 = partNumbers.Sum();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void FindNumbers(int x, int y, ref List<int> results)
|
||||||
|
{
|
||||||
|
var seen = new HashSet<(int x, int y)>();
|
||||||
|
|
||||||
|
var n = GetNeighborPoints(x, y);
|
||||||
|
foreach (var (xN, yN) in n)
|
||||||
|
{
|
||||||
|
var c = _data[yN][xN] - '0';
|
||||||
|
if (c >= 0)
|
||||||
|
{
|
||||||
|
var num = GetNumber(xN, yN, out var idx);
|
||||||
|
|
||||||
|
if (seen.Contains(idx))
|
||||||
|
continue;
|
||||||
|
seen.Add(idx);
|
||||||
|
results.Add(num);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetNumber(int x, int y, out (int iX, int iY) index)
|
||||||
|
{
|
||||||
|
var row = _data[y];
|
||||||
|
|
||||||
|
var numStart = 0;
|
||||||
|
var numEnd = _width + 1;
|
||||||
|
for (int i = x; i >= 0; i--)
|
||||||
|
{
|
||||||
|
switch (row[i] - '0')
|
||||||
|
{
|
||||||
|
case < 0 or > 9:
|
||||||
|
numStart = i + 1;
|
||||||
|
goto leftDone;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
leftDone:
|
||||||
|
for (int i = x; i <= _width; i++)
|
||||||
|
{
|
||||||
|
switch (row[i] - '0')
|
||||||
|
{
|
||||||
|
case < 0 or > 9:
|
||||||
|
numEnd = i;
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
done:
|
||||||
|
index = (numStart, y);
|
||||||
|
return int.Parse(row[numStart..numEnd]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<(int x, int y)> GetNeighborPoints(int x, int y)
|
||||||
|
{
|
||||||
|
var points = new List<(int x, int y)>();
|
||||||
|
if (x > 0)
|
||||||
|
points.Add((x - 1, y));
|
||||||
|
if (x < _width)
|
||||||
|
points.Add((x + 1, y));
|
||||||
|
if (y > 0)
|
||||||
|
points.Add((x, y - 1));
|
||||||
|
if (y < _height)
|
||||||
|
points.Add((x, y + 1));
|
||||||
|
if (x > 0 && y > 0)
|
||||||
|
points.Add((x - 1, y - 1));
|
||||||
|
if (x > 0 && y < _height)
|
||||||
|
points.Add((x - 1, y + 1));
|
||||||
|
if (x < _width && y < _height)
|
||||||
|
points.Add((x + 1, y + 1));
|
||||||
|
if (x < _width && y > 0)
|
||||||
|
points.Add((x + 1, y - 1));
|
||||||
|
|
||||||
|
return points;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void CalculatePart2()
|
||||||
|
{
|
||||||
|
var ratios = new List<int>();
|
||||||
|
var curNums = new List<int>();
|
||||||
|
for (int y = 0; y < _height; y++)
|
||||||
|
{
|
||||||
|
for (int x = 0; x <= _width; x++)
|
||||||
|
{
|
||||||
|
var cell = _data[y][x];
|
||||||
|
switch (cell)
|
||||||
|
{
|
||||||
|
case '*':
|
||||||
|
curNums.Clear();
|
||||||
|
FindNumbers(x, y, ref curNums);
|
||||||
|
if(curNums.Count == 2)
|
||||||
|
ratios.Add(curNums[0] * curNums[1]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Part2 = ratios.Sum();
|
||||||
|
}
|
||||||
|
}
|
||||||
140
AdventOfCode/Problems/AOC2023/Day3/input.txt
Normal file
140
AdventOfCode/Problems/AOC2023/Day3/input.txt
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
.242......276....234............682.......................958..695..742................714......574..............833.........159....297.686.
|
||||||
|
.............*............................612*......304..*..........*.......@175...#...*...........*890...........*.............*..*........
|
||||||
|
..........346......................997........923......*..253..........698........122.746.....-832..........766.432..229.....674....415.....
|
||||||
|
...............#76...........332....*...............111...........785..............................=..720..*........*.......................
|
||||||
|
........204............396..*.....357..438*694...............154.................................26...*....422...200.../201.................
|
||||||
|
....859*......496.598.+....810........................816.......*713...........802#.........330......540...........................%344.....
|
||||||
|
..............*.....*..........344.......................*.............671............994.................467...............................
|
||||||
|
........$..388.........152*141..*......73.719...$526....830...759......%......943............541.624.781...*...$150.............966.........
|
||||||
|
.....877.......................67.....*.....*.............................859..*..502+........$..*.....*.425........778.../........*........
|
||||||
|
................142.....569..........563...57......786..........303.......*...255.......*638....979..704...........*.......181..............
|
||||||
|
...........560.....%....+......................276...=..................939..........194.........................675..............741.......
|
||||||
|
......681...*..................882..714................741......650.........&.................374...542/..........................*.........
|
||||||
|
344*.....%.340......$.....%......=.....*.....799...990...*.........*733..811.....................-...............8........844...660.........
|
||||||
|
....937.........301.227.775.24+....=.146..../.....*.......983...+.....................*822.898&.................*.....611*..............693.
|
||||||
|
...........&.....................328............254..582.......528...359&..........536..........*889........%...........................#...
|
||||||
|
..901.497.9.........473................193...........*....................168...........................382.450..@..........................
|
||||||
|
..............................279..612..*..........795.......431......$............104....................*.......988....................920
|
||||||
|
............614....478..430+....*..../...505...363...................195....642....-............493....852...612.........556................
|
||||||
|
.............*................570....................961.....................=........178...23.$..................667...........=....415....
|
||||||
|
...323*795....363.................414%.........$....@..................54.........680*.....*.....415.......34..........598.......74.........
|
||||||
|
..................904.124....766.........-..546....................-........100........167.424..*.........%.........83*................*....
|
||||||
|
..906@.+.....-......&..........*..951.342.......208...........887...711....*...........*........627...............................=597..478.
|
||||||
|
.......323.187..+.............192...@......367.*.....107.........$......715.....923....103...........*991.....+....749..146.................
|
||||||
|
.................170.....511...........-................*...........943.....95..............................215.........*.....126...........
|
||||||
|
..166................809..*.........590...733.896.....575.333.......*......*...229...122.........................%.......860..-...315.......
|
||||||
|
.....*856....4.....%.-...826.174............&...*............*..851..655...692..*......*....*................346..659.......................
|
||||||
|
.............+...77............&.541$...........227.......329.....*............483..463...551....38......527.*...............168.....665@...
|
||||||
|
....915..635.........960...209........710.....................538..449..........................*.........*..586......574...................
|
||||||
|
..../.../.....61............*...........*...489..........510..@...........#.........254....52.411........894......932..*...206.121....=911..
|
||||||
|
..................900..525.450.591...#..178.+..............%......125...433...362..*.......*.......................*..111.....*.............
|
||||||
|
.........736*134...*....*..........720..........#...................*.........&.....197..450......................252...........=516........
|
||||||
|
...................638.314.....................510.........*..475....629...............................................930..................
|
||||||
|
...........................926......../....*.......776....798../................/..............982..............437.....@.....937...........
|
||||||
|
....502-........-595..........*.....439.282.965...............................+..853..884.419..+......244*873....*........#....*.......309..
|
||||||
|
...............................257..............937...413.199...@195..../....248.....+.....*..................100..585.....791..959.........
|
||||||
|
...............*912.......410......@...........*.........*.............4....................321....................*........................
|
||||||
|
......653..................*.......817..#511.131..=785.........468/......128........#144..............*170...559..146..........625/..976....
|
||||||
|
......&..................997..............................711..............*.................792...450......$..............12..........#....
|
||||||
|
..................412.....................33...............*................672...=........3...*.7.................739.567...........#......
|
||||||
|
......................569#.#.......850....*......381........621.253+...............355....*..942../........371.....*....*....285*118.754....
|
||||||
|
.....-......................899............327...*.....................+........*......575..........*892........618......511................
|
||||||
|
...91............................958-..........532..................914......925.............=.457&..........#......948*..........27.....382
|
||||||
|
...................771......857.......-..................79...............................156.........938....389........353...502*..........
|
||||||
|
..............................*.......847...............*....238....................161..............*.............*................164.660.
|
||||||
|
..995..........872.....690.....888...........69..=123..353......*..621..736*........+...87...887....518...........590...429....*254...&.*...
|
||||||
|
....*.584.631.......$....................980.*...............569......*.....14..........*.....*...............399..........*.............199
|
||||||
|
..446..-..%.........200.933...385*.........*..150..........=..........169........374#.322......806...........+.....*........553.............
|
||||||
|
............@66.........*.........559...580.................120..147-..............................757..............933............644......
|
||||||
|
.....................641...943................143..634.648................-...288...................*.............+.........%....$...*......
|
||||||
|
..........273.............-...............430....&......@.........*.......876./........826..........67.......801.86......121.....210........
|
||||||
|
...842....=...................599*17..182*.....@...................902.............980*........................@.............826............
|
||||||
|
....*.......238................................769.....-.......................124......763...........98.491.....420....@901.*.........84...
|
||||||
|
...564.......&...........296........................503...591..967......162...=.........*...238..386........#.........#......629.26.........
|
||||||
|
...................423......*723........559$...................*..................849...342........./...............521............@........
|
||||||
|
..833*.....3*974..+..............718..........884.#.............503..........284.....*.........223......................................*...
|
||||||
|
......................532....=.....*..........*....255.............................287..................31...........*....757%.977.......753
|
||||||
|
640.....846...............252.....351.....372.258......................................871.........@33..*..149....624..........*.....537....
|
||||||
|
...=.........495.....846..............526*..............622....*899.....870......81......%...&.........786...............891...668..........
|
||||||
|
................*......*.....................+.........*....211.....498....*......-.654....368.....................916.................698..
|
||||||
|
986......629....115..749.........=....925.858..........233............*.151....78......@.......593..684........916...@......................
|
||||||
|
.........&....@................@.500.%.........681..+.........431...488..........*932....291=.#.......*........*.........782....$799........
|
||||||
|
.....131.....319.944.........577...............*.....777.....................448................614..901..287..722.....&...*................
|
||||||
|
....*....157.......*........................966...........442#....472..925...#...359..519......*.........*............937.39..........%639..
|
||||||
|
..388......*..266..703...........................................*........@.........*....*......109....424......672...............601.......
|
||||||
|
...........89...=.................911...949.....#.............487....61.......*491.822.113.................250........*34............*9.....
|
||||||
|
..15...............345....703..%....*...-....673....239...191........*........................26.130.......*........20........393...........
|
||||||
|
....*991..%..........*.......*..453.70...............#.....-..597.491...328.....122..........*..........492....701......508....*..274.......
|
||||||
|
...........838........893...............53..658.865........................#....*.....-....570........$...........&........*........./...486
|
||||||
|
................438.............71.............*.....854..+..107*647...200......575...932...........573....606...........850................
|
||||||
|
................../.........838...*674..............#....69.............*......................534.........*..................235*..........
|
||||||
|
.....877*8............184...*.................................*.........191...........*707........*...198..363......305.*338......392..657..
|
||||||
|
.................98...=....953...362......148...335.........781.............484....608............207.*..............*......................
|
||||||
|
................................*........*........@...............584@......%................418.......675.......520..260.............639...
|
||||||
|
41.$....952....133@.999......953..*.....64...792.................................$....111.......*...................*.................*.....
|
||||||
|
...572....*.........+............18............+.494..694.......+.....93.......443....#......861..................304...696....+487...89....
|
||||||
|
...........3............................................+.....461.868...*........................596...#.710..793.......%...................
|
||||||
|
................362.................%684.........716...................420...............53......*...706.......*../.......@142......*.......
|
||||||
|
........@...696...*......489....434...............*........................670.......187*......992...........730.48..............443.986....
|
||||||
|
.......904.....*.260....%..........#.139.....850..592..187.....137..987.......=.195................366..%.............596.427/..............
|
||||||
|
............284.............*141...../...739...............131......*...........@..........510......*..112...-........*.....................
|
||||||
|
......192................313.......*........*.......43*......*.....309......557......669.....+.....386.......765.....567......758.287.......
|
||||||
|
..139...........................535.848..#..519........277....778..........*.........*...................526...................*......968...
|
||||||
|
.....*....-........664..45..............426..........................603.560..&558...909...................%....934......392.395............
|
||||||
|
......755..928......-......197....126..................227.......689.+....................170.....@805.............*122.....................
|
||||||
|
..........................*.........*........909.......*...........*............263..475......201......193..................689..799.../2...
|
||||||
|
...407..977.........918%...109...332.........*.......910.........730...170.........*....*428....*.....$........185..637......&..............
|
||||||
|
...../...$....713....................501......842.........258............*.........872.......822..879....*626....*....*........255.......229
|
||||||
|
................*.....633*631.....=....*..................................722.....................*...736........339.171..........-..279....
|
||||||
|
...531*393......714............828......384.830.....90..............................683.........647............&...........820@.......*.....
|
||||||
|
...........3...........965.........153........*.....................552.-.....709....*......413..........503....831.............289....138..
|
||||||
|
..........*...906......*......................34..692.........941..+....205.....@..73..........*................................+...........
|
||||||
|
.........830./........473..388.648........563....*..............*.....................589.....345.....276..........=.471.931........854.....
|
||||||
|
135*315..........-604.........*....$.......&......134...=....565.......65.............../.............+.........866....=.%.....908.....*....
|
||||||
|
....................................446......751.........437.....@.......*.140.....495....607#..783........625.............734*.......758...
|
||||||
|
...........141......915.....................*.....*...............137.664....&..29.+............/.....113#.*......118.290........715........
|
||||||
|
..614.396...........*......................459.....368..........................*...........352.............254..*....*............@...168..
|
||||||
|
.....*............746....859..........650........%.....735....../....../198......619..718......-..................147.909..826.......*......
|
||||||
|
.........79.............*.............=..........808...*........306.....................@.618......659..3...................*.....852.714...
|
||||||
|
...157....*.901...957...422...369.......................236.............289........893.......*..............184*399..........958............
|
||||||
|
...*........*.......................370.../....................2.990.62..../..........*......992...91.................816...................
|
||||||
|
...419..731..546..868*10..726........*..13..@........................./.........326.94..829.......%.............@...................354.....
|
||||||
|
..........*....................868..377.....319.....122=.787................463.........*...*.311...384..........418....774........*........
|
||||||
|
..........762.#...&906........*..........................*........464.....*....*.....242..324.+...........444..............*..821.128.......
|
||||||
|
..............918..........375.........%825....&.........27...227*.........711.239.........................*..............838.-........496..
|
||||||
|
....783............................$...........661.....&.............................839.................508.........%......................
|
||||||
|
.....*.....106........138....50.....237..............776...&............................*..&825......337......*...550.......337..587#.......
|
||||||
|
..878.....*....391...=........*.733.......................32....353+..................265.......944..*...516..635...........*.........761...
|
||||||
|
........212................716................444=...........*.......73....469............=..#.$....823..@...............105................
|
||||||
|
...................68..=.............626...............@...88.531..............981......139.37.....................................522......
|
||||||
|
.........898.......*..255........969*.......593*886....222.........860.497*168....*.150..................................586..........*.....
|
||||||
|
............*177..58......681...........928..................131.....*..........560..#............................536......*...........860..
|
||||||
|
..613......................*....-.......#.....363........701....*.116...565.....................-348....874...953..$..671..748..............
|
||||||
|
......................$..408.....139.........*.............*............=..............615............*....+..*..........*............41....
|
||||||
|
.....710..343....@...391.............$.....181..778........795..........................*.............201......875.....22...............*...
|
||||||
|
629...*..*......769........482.....511.........*......699..........366...%510........518....101...424.......................................
|
||||||
|
....374...875.........804...*...................395......*.........*.............162.......*.........*..........959............298$.........
|
||||||
|
..............74.834.........345.....=..540.248.........401....977..454.695.....*....................17........*......536...@...............
|
||||||
|
......807.......*........780.........54....*....................*........*...294...720...14&.................245........%....773......960...
|
||||||
|
.........$..132..........*.......652..........$....907.....@.344....848=.397..........*......747............................................
|
||||||
|
....541*....&...*.....663...146...........364..611....*.440.....................455.336.209.......751....539................................
|
||||||
|
........408.....377...........*..............*......541.........&.......988*150...*.......-........=....*.........#...../..39..306+.........
|
||||||
|
...%325..................*49...37.............922........344#...717.............179.400...............617.874...943...232...................
|
||||||
|
...........424........569............865.............978...................978......-......+....23=..........*..............................
|
||||||
|
..........=....................782..*.........755........41......823.......@...............427............484.......-.....310.......401.....
|
||||||
|
...........................&..*....704....168*......264.............@...............240*...........................190................*..384
|
||||||
|
617*.........710.....28.492..425............................-....4......=...757*283.....674....467....680......775.............$.....826....
|
||||||
|
....975.....+........*...........100..........795..........67..........91...........946...........................*......138...390..........
|
||||||
|
..........*.........808.............*474.....+.....141.........156.....................*..........194...........273.473..*...@.....86..+....
|
||||||
|
.......589.919..........452.....842.......*.......*....472........*..................765...........*........$.........$..79.644.........905.
|
||||||
|
................452.....%.........*....223........121.*............816.-949..837..............-830...818.451.....703........................
|
||||||
|
.527..934.625.....*..........461...........842-.......455.....................@...866..97...........*..............$..819...............*919
|
||||||
|
................472.........*..........930............................208.........*...&.........767.563....%..../......*..422...............
|
||||||
|
.......%.389..............993..325.650..............344...*................651.379..............+.......516......607.142..+....284%.........
|
||||||
|
....575.............498...........*.....760...+.........47.385....#.91......*...........957.......@.........................................
|
||||||
|
.............588....*......./389.........*..839................567..*.....607..............*......377..460=...............260......491.282..
|
||||||
|
.....137.........340................961.................383*.......295........................506...........*.....................*....*....
|
||||||
|
......../..670..............52.....*.......802..950.........207..........334..377.625.....871...*........622..160.130..#.....295.30...216...
|
||||||
|
.............*............=.*.......34.941.=.......*............&.12......*....*...........*...20..356...........*......804.*...............
|
||||||
|
..........335..........562...258........*..........761.......758...*.....................602................................955........512..
|
||||||
|
.........................................882........................730..........................566..............................202.......
|
||||||
10
AdventOfCode/Problems/AOC2023/Day3/sample.txt
Normal file
10
AdventOfCode/Problems/AOC2023/Day3/sample.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
467..114..
|
||||||
|
...*......
|
||||||
|
..35..633.
|
||||||
|
......#...
|
||||||
|
617*......
|
||||||
|
.....+.58.
|
||||||
|
..592.....
|
||||||
|
......755.
|
||||||
|
...$.*....
|
||||||
|
.664.598..
|
||||||
140
AdventOfCode/Problems/AOC2023/Day3/sara.txt
Normal file
140
AdventOfCode/Problems/AOC2023/Day3/sara.txt
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
........................................................862...........20.............453...619......58........694...312.................292.
|
||||||
|
...846................132.49........308..........................=............50.....*..............*........+.....+...............59.......
|
||||||
|
........../46....140.......*............735......852&..706.....860...............297.459..........998................661..418.883.......+...
|
||||||
|
....*...............*....727......613..#.....517..........-........*..............*.......................888.......*......*...*.........982
|
||||||
|
.828.865....395......163......................*......381............312....34...533..............................291.....440.488..370.......
|
||||||
|
.................+............122.....598*....400....+......................+.=.......451........746*...............................*.......
|
||||||
|
......864......279........203....*731.....335.....41....23..365.&.......659...817.......*.............89.931......672....661*92....72.......
|
||||||
|
943.....%..................*....................../..............455.....*...........155................*............*......................
|
||||||
|
........................966.......823.................%702..881........874...494..........................364+..$.......#587....&....157....
|
||||||
|
.......701.621......................%........%....93...........*................*.........*.&273.................497............814.........
|
||||||
|
.........*..+............201.863-.........113...-.+...*363....900.............111......586.......289........898.......306....*..............
|
||||||
|
...*...894.....&...754...*........#803........609...80...............52....................246..=.............#....../....118..........633..
|
||||||
|
...321.......642...*...764...644/......980..............$726.........*...306........787...*...................................550...........
|
||||||
|
.......666........902..............946*..........230...........45.245.......%...481*.......203......433......+.........294...%..............
|
||||||
|
..........*862..........261...184..........744...*...................................................*........782........&...........984....
|
||||||
|
....992*........678&.....$.....*..................229......60..........239.........*437...*...681....809......................541#...&......
|
||||||
|
........812.................704........+......*.......33.......434....*...................840...*..................@300...../...........257.
|
||||||
|
.37..................-.17.......26..793.....71.486...............*..240........261.............605........*..............953................
|
||||||
|
...............65.724....*..6....*......446.........#854.318...86................*........+922.........546.762.......................137....
|
||||||
|
........279....*........382...925............*323........................364.....616.&.........................597.......-419..985*...*.....
|
||||||
|
..........@.370....................735+...597......@....*966.........................699.874/............446...%............................
|
||||||
|
..................798.........%..................711.........905........*694.........................700*............................492....
|
||||||
|
......706............+...%....536.$417................913$......@.....39.......+.......................................-................*...
|
||||||
|
......*........77.......975..................876..........................-954..443.804....&......36*..............51.369..247..........244.
|
||||||
|
..787.639......../.................$........./.........49..482.........*............/......952.......365....$.......*......*................
|
||||||
|
....................................377....$.......603*...........&.....540.......$......................369..215.276.....397.856......-....
|
||||||
|
...........&.........959...81............370..958..............768..............41..853......................*..................*.473..737..
|
||||||
|
...802$...560...........*...*....................*......286................/596.....#............+..........490...............411...........
|
||||||
|
..............817.791...101..727.....404.689....606.......*.718.+...233...........=.......59..202..&...............61..................420..
|
||||||
|
.....+..730...%.........................*............328@.......90....*..........460......-.......155........913..*...881...................
|
||||||
|
....928.............285....142......../............................819......755..........................609*.....927.*.....................
|
||||||
|
..........408..816...*......*.........539..850..21.....&...699.............+......#....952..&844.....88................952..................
|
||||||
|
......................409...539..674.............=.....337...*....59...........+..698./..............*.....67....930.....................185
|
||||||
|
......775/....726+.................+..259...141*............471...%..........172.....................185.....*.............670...411....*...
|
||||||
|
...............................=.......*........246.................447....................554...951........201...723...67.#....*......914..
|
||||||
|
....................482...../...777.78.507..................$..................918............%...@.../..........&...........688............
|
||||||
|
.457............40..*....564........$..................29...199..%537.............*....................489.....*........730.................
|
||||||
|
.......220..239....16........269..........220....#782......................592....857.......................435.343.....%...............913.
|
||||||
|
.............*.................$...487....$..............183=.........481...-..........118..........419....................286......163.*...
|
||||||
|
.........../..752.....................*...............#...........933....*.........10.....*........*......................*....735..*....315
|
||||||
|
.........958.........934.............882............51....512....*....769....$.......$...533.....264............$...6....720.........550....
|
||||||
|
..408...........366...$......................132.........=.....794........615...........................297...60....*.......................
|
||||||
|
....$.........6...*........&.....292.....&.................%..........106........889.......@..............@.........468.......$...239.......
|
||||||
|
.......314.........831.130..48......+.655.....757..976......594...924*......932....*....99..759.2.............750.*..........236.....*251...
|
||||||
|
..451....*................*......................*....*..........................274....*.................868*.....939......................
|
||||||
|
....*..477....580..........739...743..346..802#...91...531......739*661..................925..........#................894.55...995.........
|
||||||
|
.178.........@..........90........*.....*....................................139.....855.............583..#....377........*....../..........
|
||||||
|
........588.............*...65...261....28..10.............22....697+.812.....*.........&..141.............342.*....710.....................
|
||||||
|
.......*..............255......*............*.....@155..................@..254......#........*.................516................777.......
|
||||||
|
......876......364..............453.......745...................216..............187...&..686..............782............936...............
|
||||||
|
...........579....*...#.......................736................*...@..................9.........797..809....*...........=.....983.....*448
|
||||||
|
............../.700.152....587..........444...&...375%.744#....21.....140.......=.........576........*..*.....420..............*.....399....
|
||||||
|
........822...............*............./...................#.....377........657....$.856..*...811.658............111..+.....718............
|
||||||
|
...689...*..............764....................758..........40...*................632.*...574.....................*...850.........626.......
|
||||||
|
........112.......................833.........*.......&........456.345..707.....*.....35......96..*.............891.......@218.....#........
|
||||||
|
................714............................850.....131.................@.334.776.....896..*....878.....729.......846...............641..
|
||||||
|
............121*.....736....737......742.....&..............429.125..104................*......397................................389.......
|
||||||
|
....................*.........*...............441....$......*...*...@....841*363...*...103.............*......#.....820....306...$..........
|
||||||
|
.......772..........851.......580...................750...601....38...............715......./........54.832....226..-.......*............861
|
||||||
|
.282/....*......264.....-.................63*...........................655...223..........360...........................887................
|
||||||
|
........130......*....208....................2......976.............241...............969......588...........942.....................542....
|
||||||
|
............782...208.....+....255........................918...476*......606*464....*.....447....=......674......979........+..............
|
||||||
|
..............*...........979..........@..........@..........%.....................302........*...../...*..........@.......642........937...
|
||||||
|
.....200...837....=..109.......525..476...../..564.......#......571..........129........295..623...647...825..........*385......-.....*.....
|
||||||
|
.....*..........275.#....354....+........492............2...............303............+...........................991.......290...830......
|
||||||
|
...246....912......................-.........104..940......440*931.595=../..........$.........741*......977....272......778*...../..........
|
||||||
|
.........+.........@.......507.....803.........*...-.........................559*....328..........966.............%.........516..494.=......
|
||||||
|
....*842..........464.........*........%750...338........253....386=..656........529......662............/..........757...............868...
|
||||||
|
.258........................843...................413...*.............*.....513......359.%........588*16.359.........@.........#...%........
|
||||||
|
..........498.......$..555......@....................*.....*10.....145........%........+......*.............................136.....980.....
|
||||||
|
.....681......625.147.....*.....588..82%.397........376.677....633.........................523...607.372................................855.
|
||||||
|
.....*.......*........439..311..............*.....................-.96.......938*815.839...........-.$....................%.........286.....
|
||||||
|
...830........115......*.......908.........351...850....290..959/...*...................*.....*453................392......750.........*954.
|
||||||
|
.....................-.627.......................+..................120............50.900..........818.....668......*.............848.......
|
||||||
|
.....979*.....603.863......250.......*507.*751......411..../350...........@......../.........702...*...292..*........615...........*........
|
||||||
|
...........................#......676...........140....*..................800.........$..895....#..93..*....51..295.........=....59.........
|
||||||
|
...............594.801.84................335.....*..521...883.......=33.......801....917....&..........667.....*.........893..........485...
|
||||||
|
........................+......................55........*....................-................#................895..................*......
|
||||||
|
.........315.574..168...............................%.215.....123...........................966.........+...........774...526......11.......
|
||||||
|
...........*...*...-........533...&766...........709............$....931....624......275.............@..189......$....*......#..........=836
|
||||||
|
..........342..551.........+...........178..621...........561..................&.....*..............214.......207...822.....................
|
||||||
|
.................................63...+......=......615..*.............499*825....167...................870.....................265.891.....
|
||||||
|
......................758..........%.....+................953......&...................727/.....273............413...............=.....*818.
|
||||||
|
....275..........81.....*.447.506/...67..242............+.........793...531*885...18...............*710........*...#....906.................
|
||||||
|
.......-..645.....-.........*......#.........98*520.565..958.....................*............88..............66..911.............44*.......
|
||||||
|
.........%.................455...@..298.......................=....510......-...366..162......*..........306.............354.........153....
|
||||||
|
..................@....53......689...........#.....690.......318..*.........701............156....%519..*....386..917..........#............
|
||||||
|
......718..754....606...............164.....28.303....*...........921..............342.558..................*......$..67.......682..........
|
||||||
|
..............*.........586.....541*...........#.....756..931.....................*.......*.....92.......826..........-.....................
|
||||||
|
662...........775.........*................../.............*...................419........510..$....................*........-822......-....
|
||||||
|
...*..........................690.398....98...9...999....617............681.........360.............&......*508..594.437..............385...
|
||||||
|
..647...709...............71....*...*.............$......................*..........*...539*864......826..................@.................
|
||||||
|
.......$......529...........$.260..672.538+........................996.560.........639....................867.......922....891........695...
|
||||||
|
..........$..*................................376..............922*............................875...........*.......*...........%....*.....
|
||||||
|
....331.542..........932..409$..........815..*......................888.322..............205.....=.940..2#.......................411.635....
|
||||||
|
....................*..........698*119.......65.511................*....+....-......34......=........*......$..574...971.85.*630............
|
||||||
|
...104.311.....561#..556...........................*514.............663.....416.......................243.728.....&.....*...................
|
||||||
|
...........521...........*131...979....227..556...........499....-..............895...42.........%..............=.........../............898
|
||||||
|
............*..........*........../...*.....*........=....*.......614.....498..*......*...........612.205...138.664........190..............
|
||||||
|
.........834...348..887.730...........475.404.....474..168..620.............$..175...549...............*.....*...................11..459....
|
||||||
|
.....320........-................401..........261....................................................267......676..=629....-487.............
|
||||||
|
......./..%142...............................*....................551................-......961.751.........&......................360......
|
||||||
|
.............................41&.504......416.............144........+..........&.....438.......*...385....635.330................*.........
|
||||||
|
....544.369..349..&.....=479..........995......566.80......*....595-....=..468..507............301..&.............*619...383.....498........
|
||||||
|
.......*......*....950................*..........*..=....484.........258...-..............926..............=................*...............
|
||||||
|
...............224..............*394...81.....904..............................*.........*................537......521...882...231.....*837.
|
||||||
|
.......370...........625.....116................../11.866..288.........311.....375.708..67...*......380........170../...........&...........
|
||||||
|
...600*..........811..*....=...........287................................*211......=.......987....*.......448......................-....92.
|
||||||
|
............408.....+.405...17....32...+.................180...81................*.....*.........315......*..........-..............148.....
|
||||||
|
.......*401...-....................&.....713.67......475*......*....707.852*...830..484.77.............902........505..=273.................
|
||||||
|
..837...........................33........*...............492/.80...&......................203...686..........722...............178.........
|
||||||
|
...*......191.791..........433....$....342..................................689........988..*....#.........@.....#.923*622......*...........
|
||||||
|
.850.679.%....*.......376.-.....................308.812...742.........-.148....@.........$.663.........818..177..................839...388..
|
||||||
|
......./...269...496...*........-....274*............*.....*........791..*........@....%.......*190.............*..241....127.........*.....
|
||||||
|
.74.................*........912.........435..107..790...640...200......578.112..83....252..269...........970.823.....................875...
|
||||||
|
...%..787.........515.305..........274.&.........*............*.......................................261...*..............+........&.......
|
||||||
|
...........136.-........*.564.......*..635.....26../....438.469.................@............193.......*.....55.....244#...185..258.287.....
|
||||||
|
............*...556...............245......855....928....*.................*61.370..74......-.........488...................................
|
||||||
|
.....970....315...........999.65..........=...........928.....164.......431.........*...........370.....................#...909...468...471.
|
||||||
|
.961..@..................%......../350.............*................746.............38....261......*.......301...278..750.....*......*.*....
|
||||||
|
....*.................7.....................%...860.900....300.........*410..............*.........209.+98..*...............801....313.491..
|
||||||
|
...845......%160.......=......=.....*......313.............*............................547...986............139.331../401..................
|
||||||
|
........513........362...540..913..655.510..............483......@...#..670..651..433/...........*264.....43.....*............176...........
|
||||||
|
211.892....*..253.....%...*...............*.....................645..16..................116...............%...309......*569....*.......+...
|
||||||
|
.........402....*.83$...884......618.......465.............989..........................=....505..%..................101......974....871....
|
||||||
|
...4..........565...................*....&.......297&.......*...........@....179..637...........*.199...924...-..713........&.....@.........
|
||||||
|
...................@.367&.#308.....752...997.23...........396..........883....&..............306...........*.148../.........76.979...382-...
|
||||||
|
.................677..........................*..933..................................637...............659...........678...................
|
||||||
|
.....*...............445..........952...837.....*............755........795.....#.....=.....178*731..............855.....=..................
|
||||||
|
......173.15.417......./.....180....*....*....328...607.........*.392...-.....495.546...............183...&.....-..................224......
|
||||||
|
..........*.....*.............*......16...65.................772...*..............+........937...........981......92.....+.....164......833.
|
||||||
|
.116.....149.225....*....287....................136..............240..242.749.............*....688.................=......49...-.......*....
|
||||||
|
...&.............202.985..-...732*812.......................-../.....=......-.798.......533........468...30%.........................228....
|
||||||
|
.........94...................................+798..&.....431...425............................929*............+............................
|
||||||
|
.........*.......................704...982...........332.................447............307%................704...775%.......$973...90..424.
|
||||||
|
..........711..253.....#...........*......*119..............486........#...........89...........438..666...............487..........*.......
|
||||||
|
.....947..........*.....823..544....883............291.....@..........813............*.425..659*..........28..491.....+..........896........
|
||||||
|
.............../...943......................590...*....145....414*969..............896....*.........622.........*.938.........=.............
|
||||||
|
....@...#184.935.............................*.....71......$................84*.........825.....637...*.......528...*......990..............
|
||||||
|
..745...............534..............58....901...........974...................637.....................87..........361......................
|
||||||
Reference in New Issue
Block a user