5 changed files with 417 additions and 0 deletions
@ -0,0 +1,64 @@ |
|||
--- Day 3: Gear Ratios --- |
|||
|
|||
You and the Elf eventually reach a gondola lift station; he says the gondola lift will take you up to the water source, but this is as far as he can bring you. You go inside. |
|||
|
|||
It doesn't take long to find the gondolas, but there seems to be a problem: they're not moving. |
|||
|
|||
"Aaah!" |
|||
|
|||
You turn around to see a slightly-greasy Elf with a wrench and a look of surprise. "Sorry, I wasn't expecting anyone! The gondola lift isn't working right now; it'll still be a while before I can fix it." You offer to help. |
|||
|
|||
The engineer explains that an engine part seems to be missing from the engine, but nobody can figure out which one. If you can add up all the part numbers in the engine schematic, it should be easy to work out which part is missing. |
|||
|
|||
The engine schematic (your puzzle input) consists of a visual representation of the engine. There are lots of numbers and symbols you don't really understand, but apparently any number adjacent to a symbol, even diagonally, is a "part number" and should be included in your sum. (Periods (.) do not count as a symbol.) |
|||
|
|||
Here is an example engine schematic: |
|||
|
|||
467..114.. |
|||
...*...... |
|||
..35..633. |
|||
......#... |
|||
617*...... |
|||
.....+.58. |
|||
..592..... |
|||
......755. |
|||
...$.*.... |
|||
.664.598.. |
|||
|
|||
In this schematic, two numbers are not part numbers because they are not adjacent to a symbol: 114 (top right) and 58 (middle right). Every other number is adjacent to a symbol and so is a part number; their sum is 4361. |
|||
|
|||
Of course, the actual engine schematic is much larger. What is the sum of all of the part numbers in the engine schematic? |
|||
|
|||
Your puzzle answer was 521601. |
|||
--- Part Two --- |
|||
|
|||
The engineer finds the missing part and installs it in the engine! As the engine springs to life, you jump in the closest gondola, finally ready to ascend to the water source. |
|||
|
|||
You don't seem to be going very fast, though. Maybe something is still wrong? Fortunately, the gondola has a phone labeled "help", so you pick it up and the engineer answers. |
|||
|
|||
Before you can explain the situation, she suggests that you look out the window. There stands the engineer, holding a phone in one hand and waving with the other. You're going so slowly that you haven't even left the station. You exit the gondola. |
|||
|
|||
The missing part wasn't the only issue - one of the gears in the engine is wrong. A gear is any * symbol that is adjacent to exactly two part numbers. Its gear ratio is the result of multiplying those two numbers together. |
|||
|
|||
This time, you need to find the gear ratio of every gear and add them all up so that the engineer can figure out which gear needs to be replaced. |
|||
|
|||
Consider the same engine schematic again: |
|||
|
|||
467..114.. |
|||
...*...... |
|||
..35..633. |
|||
......#... |
|||
617*...... |
|||
.....+.58. |
|||
..592..... |
|||
......755. |
|||
...$.*.... |
|||
.664.598.. |
|||
|
|||
In this schematic, there are two gears. The first is in the top left; it has part numbers 467 and 35, so its gear ratio is 16345. The second gear is in the lower right; its gear ratio is 451490. (The * adjacent to 617 is not a gear because it is only adjacent to one part number.) Adding up all of the gear ratios produces 467835. |
|||
|
|||
What is the sum of all of the gear ratios in your engine schematic? |
|||
|
|||
Your puzzle answer was 80694070. |
|||
|
|||
Both parts of this puzzle are complete! They provide two gold stars: ** |
@ -0,0 +1,63 @@ |
|||
#!/usr/bin/env python3 |
|||
|
|||
import sys |
|||
|
|||
NUMS = ['0','1','2','3','4','5','6','7','8','9'] |
|||
|
|||
|
|||
def get_number(schema, x, y): |
|||
start = x |
|||
while start > 0: |
|||
if schema[y][start-1] in NUMS: start -= 1 |
|||
else: break |
|||
num = '' |
|||
while start < len(schema[y]) and schema[y][start] in NUMS: |
|||
num += schema[y][start] |
|||
start += 1 |
|||
return int(num), start |
|||
|
|||
|
|||
def part_number(schema, x, y): |
|||
for i in [max(0,x-1), x, min(x+1, len(schema[x])-1)]: |
|||
for j in [max(0,y-1), y, min(y+1, len(schema)-1)]: |
|||
if not (schema[j][i] in NUMS or schema[j][i] == '.'): |
|||
return get_number(schema, x, y) |
|||
return 0, x+1 |
|||
|
|||
|
|||
def gear_ratio(schema, x, y): |
|||
parts = [0,0] |
|||
for j in [max(0,y-1), y, min(y+1, len(schema)-1)]: |
|||
next_x = 0 |
|||
for i in [max(0,x-1), x, min(x+1, len(schema[x])-1)]: |
|||
if i < next_x: continue |
|||
if schema[j][i] in NUMS: |
|||
if parts[0] == 0: parts[0], next_x = get_number(schema, i, j) |
|||
else: parts[1], next_x = get_number(schema, i, j) |
|||
return parts[0] * parts[1] |
|||
|
|||
|
|||
if __name__ == '__main__': |
|||
schema = [list(line.strip('\n')) for line in open(sys.argv[1])] |
|||
|
|||
# challenge 1 |
|||
res1 = 0 |
|||
for y, line in enumerate(schema): |
|||
next_x = 0 |
|||
for x, sym in enumerate(line): |
|||
if x < next_x: continue |
|||
if sym in NUMS: |
|||
n, next_x = part_number(schema, x, y) |
|||
res1 += n |
|||
|
|||
res1 = str(res1) |
|||
print(f"challenge 1:\n{res1}\n") |
|||
|
|||
# challenge 2 |
|||
res2 = 0 |
|||
for y, line in enumerate(schema): |
|||
for x, sym in enumerate(line): |
|||
if sym == '*': res2 += gear_ratio(schema, x, y) |
|||
res2 = str(res2) |
|||
print(f"challenge 2:\n{res2}\n") |
|||
|
@ -0,0 +1,10 @@ |
|||
467..114.. |
|||
...*...... |
|||
..35..633. |
|||
......#... |
|||
617*...... |
|||
.....+.58. |
|||
..592..... |
|||
......755. |
|||
...$.*.... |
|||
.664.598.. |
@ -0,0 +1,140 @@ |
|||
48.................501....33.....622..............763.........331.................161.683......................................980.......... |
|||
...491.842.....948*..................338.....*......=...........-...309.......633*....*....................*990...706...452......*..+....... |
|||
...*...*....................426........*..408.........................*............659...............250.........&.......*.....767...403.... |
|||
363.....961...959#.508*223......843.406..........690................%..479.....................398.../....*............458.................. |
|||
......=.........................................*....@946........767.........907=.................@....158.850..+670..............10*790.... |
|||
.......39.306...679.%113...............665....874....................597...................861.........................840...855............ |
|||
.................*.........864.....154*....#..............1*......4..........341..................731*..........783.....#.......*204........ |
|||
..919...........706.....*......891........840..%473.........379....*149........-..115..519............668..........*423..................... |
|||
...*.................398.190......$.............................#.......=.%530......$..*..............................................475... |
|||
.543...@.............................834..729.&.........146......789.189........511...17........455*308..662.............530................ |
|||
.....142....437....138*755..&53.....*..........783........./.......................*......................................./....674..315.... |
|||
..........-./.......................826...%.....................752........414......480.................276.952...................-...*..... |
|||
.......131.......*654..590.................819..........$..........-.347*..................294.....776...&...*........741.....830....230.... |
|||
..586%.....968...........+..........319..............628......516............933..........&........+..........600.....*........*............ |
|||
............*...................-..*.........................%........................726...876..........772..........99......145......785.. |
|||
...........710...............352...842..941...802.....133............474.&235.................*.............*561..........#...........*..... |
|||
.......................................=...............*........=...................642.......774......*.........67..@921.374.......165..... |
|||
..250........................8..........................968...375........224...#.......*............497.833........-........................ |
|||
...$.....................584..*978..107&....471...............................486....408......................................@241.-555..... |
|||
......662$........%......&.....................*..#186...550........=309............................76.......399............................ |
|||
................281.........808....666.......207.........-...615.................59=....569.....197*...42...%...........572....+231...%..... |
|||
....758.$777................%.....*...............433................646.834.............@.............*.........543...................769.. |
|||
....*................995...........628...............*..................*..............=..........341...583.112+...*.......74..=341......... |
|||
.....775.................................744...278.128.......................126...940.839....=.....*............385.499...*............302. |
|||
..........*177...574.............+.......+......*................561#...590.*......$.........231...586....................212...........#... |
|||
.......418....................954..433.......484...........526...........*..643......-......................&..778...............701........ |
|||
.414..............493.....566.....*......=..................*....236...748..........543...593...*745.......57.........&.........*........... |
|||
....*................*.....*....46....659..%.&980..........66....................36...........87...................994.......218...443...... |
|||
226.241.893%..........257..312............69........792............/...........+...................$257..................790........./...184 |
|||
................................................854*.............909.139..*276.680..&.........432............580....248.................*... |
|||
....136*755...@.950......................173.............95..........+...............2.877.......*668......+..+.........918*.......62....571 |
|||
............333.*....812...$.428.................*496..................903@...258&.............-........650.................281......+...... |
|||
......500.......6....*...719.+......285.......955.....712*12..561.497..............667...&.843..777.................427................@.... |
|||
.....&............506..................=..359................#....................*.....24.../.........544.436..........492=........272..... |
|||
.........377..........=............41-......+...........229........761...540....391..............*565.....*......449..........665.......#... |
|||
.887....*.....906..141.....357...$.................%......*.................#.............-..874......811...9.....*....$113......*.967...628 |
|||
......406............../.......637.551....223....162.......251...........................702.*......%......*....&.905.........747........... |
|||
....*...........321.....801............=.....-.#...............390........845..12............399...126....283.566.....124*102......&........ |
|||
..447..+....935...-..............41.68.87.92...105....178=....*..........*.......*..92..............................................21...... |
|||
......505...................................*................614....948..237..512......108.58..162...454@...........395.......5............. |
|||
...........454..10.../............101........885.......................*..................*...*....................*........................ |
|||
..........%....*....534......114.*................../.95......427.210..674.......371.903......81....................922.....231...346....... |
|||
...525........887...........#........162....211..166..@......*.....*.......281......*....................835.635............*.....*.....828. |
|||
.....*..............571...............+........-.............933.629./25..*...........977........*............*...........178.....749..*.... |
|||
..993.........-................516/................394...56................477....545.*.......251.858......499....435.........&.........170. |
|||
.......967..73.....&.....35.........656....842.....*......*........................*...749............%..........#...........622............ |
|||
......+...........366.86..*...........#.....=.....162...332.............-..........859............102..488.........................717...... |
|||
347.........32........#....393.................*.................252...262....951.......823...................784...358.603.......*.....515. |
|||
......917..*.....$..........................642.394..195...*..................*....$......*.448.519................*......*....302..870.*... |
|||
...-..*...674.....780.547....287....................*....504...................803.688.831....*..*...........617......./..476........*...9.. |
|||
.286..738................#.......-511..11.....581..268.....................439.............523..459...............69..373............887.... |
|||
......................*...................555*.........45....638...964.......-...$..........................................88*............. |
|||
.........802...+805.77.648.....66.676........................&..../....26......708...+.-981...239%........953..................672.......... |
|||
......./.....#.............11.+......*....=...........756.............*.....-......298..................=...*..751.......433.........727.... |
|||
....553.......659....907...@......@..530.218.............*......259..821...716.980..........89..851...793.614.......943....*.....961*....... |
|||
........*339........$..........373...............................*...............$.....667..$......*..........149.....+..613................ |
|||
..987..................*...................670...105.....347....383.605..................@....447...124..........*737...........562..15*445. |
|||
........-.....595*7..215.839.781.............*..*...........$.............810....*............*...........350....................*.......... |
|||
.........929.............*......*...362@...890...975....#..........2....../...252.576.......78...........+........685.240......695.......... |
|||
.................475......598.152........................841.&880..#......................&....693....=.............=.....28........&384.... |
|||
............472..*.......................$..320.412*...................304...=.-.........395......=.113....601.............................. |
|||
..324.738.........968...................755..*......101.......476..........90..342........................*.....638..182/...........704..139 |
|||
.........*..610*......601...................356.../.......633*....971..........................806.....#...240...*...................../.... |
|||
........683.....326.....*..@........749.........390.........................163@....800..483..*........792.....94........................... |
|||
...600................957..741...../....376............817..899.......194........50.....@....96.368..................@.......+600....-...... |
|||
..........338%..........................*...............#....#.........*....304..+....*...........*...................236............284.... |
|||
..423........................&763.............947.................371.187..*.......356.441......201.......................285............... |
|||
............75................................*....................*......696........................#...............................670.... |
|||
...*..........*.........426.......635..-....449.758*.......314.......*..............................246.........*................58..*...... |
|||
574.322........937.......*........#...116...........40.......*.@752..400........180....@......918.........195.49......983....559*.....82.... |
|||
...........*.........527..842.............................817...................../.270...445..*............*............................... |
|||
........622.235..869*..........922*...............125*610..............*459...............&....455...........21.......964................... |
|||
...................................465..%542.........................47......272............+..........775.............*.....328.....@...... |
|||
.................732*........51.&..........................853.222.........................672....148....+.........572..499.+....*....12.... |
|||
....125..............581....*...909.787.......720*263......*....$..881%....623*891..515..........=..................*.........726.78........ |
|||
.....%..........715......935.........*....650............874.......................*.........127....................923..................... |
|||
................$.............330*..444....$....653............%....345..915.....960.395...........823.706..734.341...............295...342. |
|||
.............................................99..-...........465...&......*.............*416......*..........@....*...@......630.....*...... |
|||
.....@.........356.......................399.+......+.....................349..................542..............853.375.......=.......132... |
|||
....77...=719.@.......*...../662...........*...233...781..............................&687................%................................. |
|||
.....................791..................933.*..........931.....884*...........-...................../...112..%601..........857............ |
|||
583.....*292...................................438...................424......603.416.........484...104.....................*.......706..... |
|||
.............................452.......549.............24...997....................*............*.........767...379..........192............ |
|||
........413.................&.....#......*....*.......*.........523.........443.412.....546......859..138*........&..66.576................. |
|||
..................../...........348....816.106.391......................447.........../...*..895.......................*................595. |
|||
...........#......771.675..................................673............*........176...856..=...627*308..696...............658............ |
|||
....489..51...174......%..676......$..........*........332.*.............373.350................-..........*.................*.....*........ |
|||
181.*........*...............*822.136..888.642.202.......*..65....958........*........358........510.....*..504..747...993....339..764...... |
|||
...........540........................................308...........@.895..942.506......*....791.......166......#...../..../...........668.. |
|||
...................452............-....631..............................*........&.....253..../............897......*....602................ |
|||
..748....249.24............21...847...&.....194...@...............@...865................................=....*.....550..................... |
|||
....*.......*.....658...................573*.......679.....760/..431.................481..........907....130.912...............240...998.... |
|||
.605...............*.......25.......#..................................726..646....#..........607..*................698..........*...+...... |
|||
...........301&.572........#.....101...................148........55...........*.122........./........953..........-.....602.321.929.....998 |
|||
511.870...............@....................808.........*........*............257.......206............@........685..........*............... |
|||
.............903...398.....588......114.......*...990...677.....182.10$...........%.........%.................%........................2*... |
|||
................*...........*...490...........987....=......803.........98......485.493.868..945.805......-........89............=944....296 |
|||
......640.......669.........630..*.......................-....&..582.......341.........*.........*.........939......*....................... |
|||
.........*34....................557.....130....265.....21........*...625..$...............*796..690................997...489....293......... |
|||
....917.......916............@.................*.................948..&...........148...67..................833........./..........-...943.. |
|||
....$........*......849...4$..300..217........58..........................643.170........................................................... |
|||
.........511..853......*..............*...........355.............35-.....-....@..636.....=...595..131...496..........................=687.. |
|||
............%........&..476......452...435.....%...*.....700..........391........*.....418.........*.........39*.&.......................... |
|||
.16...=.............500.....................426...469.....*.............&.....#..522.............939..............395.660................... |
|||
...*.696.....*869........995.....413...................864.................991.......598......42.........................@..806..386........ |
|||
337.......983.....610........104*.......100*......................-............$79....@...461*....*685...270................*...*........240 |
|||
......................207...........311.....741..................337.........*.................381.......*........979.....712.374.879....... |
|||
.......@.....554.........*.....485.....................853.............*..276.230...........7...........740...755*..................-....... |
|||
....927.../.....#...#...46........*466...........=.................=.531...........593......*..%....................961.....@............... |
|||
..........65......294..........................30..339..856.....966...........904..........791..841..........438.......#...747.............. |
|||
..419...................614................972.......*...............131.......=.......................716..........21...................... |
|||
.....=.79..............................&....*......76.....243..............115.......757...364..870....&...890......+...840..........55..... |
|||
....................383....*48...571...124...749............*................-..&.....*......*...*........@.....................201./....... |
|||
......752.....470.......+..........*........................964.......452........776...413...9..791...257.......687.....84......*........... |
|||
.........*502.*......873..850..573..729....@.....197....................*...798.........................@......*........&.....65...200..357. |
|||
...............307.............*..........597.....*...473.....=.......332....*..311..861*399...................472..................*.../... |
|||
.820.....................65....754.............713......*.....739...........622...............768/..................................967..... |
|||
....*.......180..........*...*.........218...............260......................519...933..........271.....36....132.....147.............. |
|||
.935..4......@..254...815..58.689.......*..........................159..............$...*..........*....&...$.......*......../.414*164...... |
|||
.......-.388.......%....................284...........833...770...*...........705.....697.......466.239.......332....489.................... |
|||
....#.....*...........@.......288............972.........-.*......723.....*....*................................*............=..........592. |
|||
...535..........*.267..193.......*..367.....*..............132............509..776.790..@....466..........715.758...*115.....608............ |
|||
.............979..*..........8.353.....*...329...@544.913..........................*.....759.*......704..%............................712... |
|||
...................52..170...*......459................/...#.......161........813.510.........207......@..........581..................*.... |
|||
............#...........*..978...........581.9*815..........450...............*.......................................604.......308...725... |
|||
............16.........269............../.............195........217*216......890......................534.....84......-......-............. |
|||
....339...........................459.......644..........*.........................636.....113...%154...*....................127.....#348... |
|||
349...*.............402...735......@................182.121...134........%255.276...%...&.../............460....#......79................... |
|||
....503....22.............#.....$............38.....+...........*....-11.......*......326...../....*853.........216......*.../180.....16.... |
|||
..........*......92.............456..619......*..-...........=...103..........190..........353..982......25*........465.209................. |
|||
...485.350..........949...994.......*....379..3.22........972.........713.734.........262...........$.......846.......*.............333-.... |
|||
....................*..../....*121.729..+............325.............*.......*..........*........374..............+..769.....811............ |
|||
......-..............788...488....................................851....679......*......487.....................368.........*........*..... |
|||
....612..528...255.................364.....................130.................317..251...............................665.206..972.957.184.. |
|||
..........*..../.......337..475*......&..391...347...795....*.........................*......722..666...............@....................... |
|||
........823.$.....+.../.........716......*........*....*.....247......329...........697......*.....*....%.....168....624.........592........ |
|||
...98*.......916..915......245............277..&..353...719..........$.....................846.601.37...47......................*......519.. |
|||
......91..............720..*........$985......976......................834...........461.........*...........................266....#...*... |
|||
68....................*....45..............&...........79*888.250*461.*.......%................574..........3*....408..380........383.192... |
|||
...........836......383...........557.....672..........................764.....944............................827........................... |
@ -0,0 +1,140 @@ |
|||
...............................930...................................283...................453.34.............................867....282.... |
|||
....=.........370...........................48..456......424...-.341*.....554...*807.571............971..958............166......*.......... |
|||
..159.........../..........539*.....73......-...*.......+....954.........*.....7.......*........*.....*....*.....405$..*.......31.........15 |
|||
...............................873..*............726.............94.......126.........699....253....584..750................................ |
|||
.660.................................336.....391.................*....860......76..................................435....576.....-......... |
|||
.................................888............*924...55......308.......*91.........446...535......87...136/........*...*........793.=351.. |
|||
...........826...949...120...985..&....................*.......................462.../......*.........*.......358..932..599.479*............ |
|||
............../.....%..*......%...............151.304..931..471.......601.....*............765........805....%..................149...345... |
|||
........................216..........................+......*............#..906...-......................................105...........&.... |
|||
.......&..827*327.375-.................923.......*..........630......851..........459..656.......340.432........915.288....#.865*........... |
|||
.....693......................866......*......575.970...........201...................%........%...*.=...........+....*..........305.....666 |
|||
.........%536......345..............166........................*....@905....863.&...........916..212.....386*963.....183.................... |
|||
..............%......*.......&..664......=.........../726....960..............-.367...@..................................122................ |
|||
...657.....939....915......326..&........367...498..................166...491........592...*650......*3...297.398..419......*............... |
|||
...*....................*3........................*....................*....*.....................673....*.....*......*......307.955........ |
|||
....387......537......12......319-...........474...216....600..........14.59...21.....................132.......466...787........*....967... |
|||
.........593..*...=......422.............=.....................63........................593=...............556..................94.....$... |
|||
..........*....8.690......#....871....955...920............646..*......383..573..121.$............931*738...........................608..... |
|||
...........256..................*............*....903*......*...478....*....@...&....733............................796...+.....109......... |
|||
.....=354..............=..579.529.............346.....754..715.........174.....................$........368*595.....*......576....$....-.... |
|||
905/.............417.20.....*...............#..................103.............795.....829...611...................653.........%.......882.. |
|||
...........@....*...........65.246...714.724.........529=......@...490...614&.#.........#.........678.343......................446.......... |
|||
.......111.400..371...............*....*...........................*.......................*........*.........341.......262........334...... |
|||
...979...*.............310.....912..314.....864......*162.........612...252*805...956...359.712....69.....921...*..........*..922%....*..... |
|||
....=...576...............*462................*...978.......381......................*................549....%...502......455.........927... |
|||
............................................163................*293......953.908..242............786.....*30..........628.....930........... |
|||
....622......498.746..13*......87*.383...................347.........162..*.........................#...................&....*...../521..... |
|||
....$.........&.....*....841............/....730....584.....*.792=......*.207.963........356....................828........60............80. |
|||
...................548............456#..815....$...@.....357.........619......*.............@.................-.......................15.... |
|||
....858..................+....................................560..............617.....818.............*.....248.977....323..906..350..*.... |
|||
.......=.........754......881...860...........160............*...........#................*.........144.696......*...................#..852. |
|||
.........#758.......=.............*...........*...873.......341...........765.............534....................537....-...543.152......... |
|||
................847.....130*650..450......#.188.....*...........137.453..........229...=..............199..718........462..........*........ |
|||
.839....#949............................742.......322..............*................*...260..........#.....*...............486......560..... |
|||
...............426.63.&...620..137.441/......212.............%......................898.........#.......185...#796.619.971../............... |
|||
................*...@.445.*......*.................745&...662.............................&723.189....................*...........653*...... |
|||
...533....854..83.........447..377.....#..%....593.............@.................@........................#.............$.............729... |
|||
......*......&....284................887.183....#....446*220.749...........732....538...................327.......356...793.....703......... |
|||
....187..........%....117.....730................................192&......*.................%754...................*..............*479..757 |
|||
.............323..........236.........=372.....%.......60.=.............193.......-......66..................632....798...&.............*... |
|||
.........177*.........413....*....=............670....*....571....................823....$..-85.........998...............899...........805. |
|||
...&.............772.......81....513.....478.......106..........+218..........584.................*553...%..881$...994...................... |
|||
...51..974...558*....................+..*................655*..........841......+.........387..565....................=..................... |
|||
.....................290.....555..156...220..................343...515.............34.888..=.................442.........#..........982*448. |
|||
.....405......341.....@........$...................56.474...........*.....224-.559*...*.............$..185..............852................. |
|||
......../........*191..........................443...*....+.276.....................106..........415..*.................................823. |
|||
....242.....................545..56........548..*.......78..*...288*169.519../737....................889....806..................*404....... |
|||
...*..........#....873*....$....&.....#.52...*.706.........891.....................282.......+..+727........................&...........754. |
|||
920............731.....56..........772...*.654.................84.788.........147..*.......872............690....*.....454...648.710....*... |
|||
.........585...........................273................561....*......*203...................982*......*.......772.....=.......*...255.... |
|||
.................665.......566.....#........182..669*..............+..24......544..........18.........291......................283.......... |
|||
...........871.....=..946...*....69..................292.929.318.564.......=....*.....-...%................761-.812.691....17............... |
|||
..........*......&........603...............@..684..........*..............38.120.....715..........268.../.........*......=...344.448*704... |
|||
.865../....404..994.354........=.#738....535....+..=..........134.........................=..862.......215.939.......821*....#.............. |
|||
.....207...............=.....103..................77..192....*......$......./...........898.../.............*....672.....526.........623.... |
|||
.........................638..................306........$..174......537.146...204..........................961.+................%...-...... |
|||
.......297*479....643....*.....293.......711...*....812............+...........*........513.............................#522...185.....811.. |
|||
128......................517..*.....87.......183.......*.........676....531..81...........*....191../..............................435.*.... |
|||
.....752..........+...........535....................242....474............+.....@.......902......*..779...184.....242*.....484.../....222.. |
|||
.......*..........870.....994......265....403................@.................395...235.......827............*472.....212....=............. |
|||
.....84...............&......$....*..........*......137.#................/.........&..$..775.............730................................ |
|||
......................497.18.....444.......43......./...943..110..........672.....881.......*402............&.....369.38......*............. |
|||
.168/.=121........414........%........572.............$...........................................808...........=....*...#759.379........... |
|||
...............-.....*570....468...............@......770......./.................537....=.480*...%....%.......820.......................... |
|||
160..........72......................&...607.920...............399........746.........510.............736.............448.....123.......995. |
|||
.....868........947.....206..........438................474........+...........148...........=.............-......%..............#.....@.... |
|||
................*......*......................+.....416...*.........337.....................6....413/.......695..287..20.................... |
|||
...%..........137....867............957....704..458....*...867.722..................-...765..........................*...........529%...706. |
|||
...416.241.........-.....950..........*..........*...20.....................307....388.....*..581.572................9..592................. |
|||
.......*.......877..79.....#.........795...#..+..35.............*552...884..../..........165.....*....287....@...........*.............843.. |
|||
......777.186....*..............743......85..239....*137.....282..........*..........914..............*.....798.........815.....908...=..... |
|||
..924............48..............*.....................................597...56..................84..700.........321........................ |
|||
......%...397.................38..........703...133...........412............*..235..........................913*....+.....320.650*829...... |
|||
.6...11....*..646.........168..#..................*......-737...........764.6.....*.339*....835.......................372....-.............. |
|||
.........724...*.....440.....*....996*241.213.....158...................%......800......342....*..333......219.604...................370*661 |
|||
....................@.....23.60............................%.......598.......................920....#.........*.....522.........446......... |
|||
......55....$965.........%..............909...=.......587..55.............*132.....................................*....185*617.+.......851. |
|||
..725.*...........................470.....$.592......*.........448...................564*412..........872.....639.................*.....*... |
|||
......975..+.....%......166........................372....691+...*...+..........369............+.......+..235....@....%........128.770...... |
|||
...........857.614.......*.........$...........491..............49...893...........*251.....249....................887.....475.............. |
|||
........................112......809...........*...........366...................*................880+.......................@...@...*.363.. |
|||
.................774............................874..851....*...........344$..426.863........72&.........*990.......@..........511.420..*... |
|||
..274........215...*..=............912...............&...#.647..864.....................904......281..491..........329....185...........887. |
|||
....&............727..328..457............358..........965.....*......678&..............*..........*........................*....823........ |
|||
...................................=.......*...313=...........97...........282.711.539.692.....616..413.&352..........58...741..$.......840. |
|||
..372.561......548..........337$.108....191...................................*...................*...........*583.....*.................... |
|||
....*.........*....93..459..........................114*..................44.....885.............482...753.901........297....&.....@.814.... |
|||
...895....613.186......*.......762.913..................547.832.744..230....*31..*.....................*....................947.487..*...... |
|||
.........%........&.387...489.....*....970....712...376.....#....*...@..........884...446.............457.130*160.......730...........400... |
|||
.....687...%...119...........*......91*..........+.....*.......553...................*.......160....................791*......$...466....... |
|||
.......*.898.........988....341......................140...........360.........47..424.......#....@566...%545..............606.....*........ |
|||
....375......538......*..........................344............-.*...........*........246.............................10..........193...... |
|||
716.....848..........387........89...............*.......276.866..689......99.552.......%........678....186.$....199..#..................... |
|||
...@.%......279................../..........*.865.....%....*................................178...*.....*....119...*........740............. |
|||
......138...*...........853.460.....340...917.........731...653.....836*536..........*434......*..970....98........847.......=..119......... |
|||
..339.......478...........#....*.....*...........4................................968.......656............................-......=....178.. |
|||
.../.............641........432...854......626...#......643*.......740........549................583.......................108......+...&... |
|||
.............292*.......762............784*.........................*.........*......469*........*.......475...................371..485..... |
|||
........536=..............*.................................&....493.........987.831.....270.375..371.....*............519......+........... |
|||
...26..........892......264....348...23........639....587.251.....................-............*..........282....765..*.......=.........985. |
|||
.../...276.....-....................*...........&.....*........-.$609................259....980..978............*...........13....@897...... |
|||
........$................961%........845...843.....741.......792...........288...734*....+........*.............800.566..................... |
|||
..............+704.............46.......................243...................$.......503......351..........466................861*51....... |
|||
..732.........................&.....&..747.............*..............452.........612..........................*........64...$........97.... |
|||
....*............................825.....-...........922......................218*........254.554.....$..691...116...........678......*..... |
|||
..128.501....42.836............................225.$.....@613.486....................657....*...*....325..*...........................105... |
|||
........*........*....333...2....................*.595...............698..57=...........*..6....174.......738.......*....................... |
|||
....208...925.752........-....................939...................$..........715+..262.............952........916.643....326......607..... |
|||
......*....*.........79.........118......................@...615...........629...............449.....*......843..*........%..........$...... |
|||
....216...754....182*...345.255...=.367................990...*.....=285.....................*.....421..........*.377........................ |
|||
........................*...*..........*283...182...........339...............328.%...544....979.............454........978....478.......... |
|||
..........491$.......995.....141.....@........*....................=.....932.*....985...*..............................*......*............. |
|||
...201.............@..............814......723...............955.895....*....563......................958...............667...274..147...... |
|||
......=..+463...273....%..............152.............443.....*.........836................900........=...........................%......... |
|||
..558.................124...89........#...158...../........473..208.........................*..772............................732.....25.... |
|||
......891......................674*......=.....835.................*535...64........891..611...*....-...72....519.........%....%............ |
|||
.........*.......%618..............48......783.............337.............*........*.............835..*.....*............965............... |
|||
.......380................................*......................511*310...724.......858...%681.........635.289........................679.. |
|||
.....=...................*836...........754..231.....565*...........................................446........................978......*... |
|||
..907......=..........886.....836..472...................773..827.......16.....$.......................*...............&49...*.........949.. |
|||
..........93..............#......#....*........$..............*..........+..215...161....128............791..................308............ |
|||
......$......741....379@...895.........153......14...........430..................&..../....*.983............885....91...............=...... |
|||
.....572....*...............................494.........................890...687....334..385..*........43/........*...............481.%.... |
|||
.........472.....%.$.....699..278...975....*............109.....................................47..........................323........837.. |
|||
................64.697....*...........*...282......58......*............345.959.29.........*432.......204......834.........$....4........... |
|||
..........974-...........89....254.................@...-..280...41..132.*...*.....$.....132..............$..........19/........*............ |
|||
................228..............*....662.....119.....100.........*.-...950..119....................990......64.291.........309..270*461.... |
|||
...............$...............885...+...........*..@...........27....................860....../......&.430.......*......................... |
|||
.......445*............................132......787..885.............+...634....................654.......*.......219....................... |
|||
...121.....564...................745..*....172............848-.....404...@..............$.812.......&....................259...........12... |
|||
...*................130...792........353.....*.795..........................383..690..53.....*.......385.&677..598*.......=....500.34./..... |
|||
245....*827...........*....*..............555.......505.....766...941........*.....*........599....................804.............&........ |
|||
....438.....67.138....580.297..241............-992.+........#....#..........728...645....41......660....................................87.. |
|||
..............*...............*.....609.63..........................*......................*324....#......353.......-............+.......... |
|||
.............................581...-..........230.........486....239.808.......*......12..................$......816.....367.....512........ |
|||
.838......357...779...707.............79.630.#.............+..26............248.858...../...152.....279.....*...............*............... |
|||
....*339...$............*...@....-26......*....296......25...%.....178..=.................+....-...*......493............................554 |
|||
.....................666...147.........195...............................279.......119.....739....887...........@.521.........98............ |
|||
................................405*.......................29...%1...................*........................754...#.........*............. |
|||
961.........396.....................472.......225..739..............415............451......................................904............. |
Loading…
Reference in new issue