diff --git a/2018/day13/day13.go b/2018/day13/day13.go index ad78a9f..13ec437 100644 --- a/2018/day13/day13.go +++ b/2018/day13/day13.go @@ -42,8 +42,11 @@ func part1() { } } +var ticks int + func part2() { for len(cartMap) > 1 { + ticks++ sort.Sort(ByPos(carts)) for _, c := range carts { if *c != 0 { @@ -54,6 +57,7 @@ func part2() { for pos := range cartMap { fmt.Printf("🔵: %0.0f,%0.0f\n", real(pos), imag(pos)) } + fmt.Println("Ticks: ", ticks) } type Cart struct { @@ -69,7 +73,7 @@ func (c *Cart) tick() bool { delete(cartMap, c.pos) c.pos += c.dir if cart, ok := cartMap[c.pos]; ok { - fmt.Printf("❌: %0.0f,%0.0f\n", real(c.pos), imag(c.pos)) + fmt.Printf("❌: %0.0f,%0.0f (%d ticks)\n", real(c.pos), imag(c.pos), ticks) // Remove the cart we crashed into from the map delete(cartMap, c.pos) // And clear the cart's pos, we can ignore them now diff --git a/2018/day17/day17.go b/2018/day17/day17.go new file mode 100644 index 0000000..579da1b --- /dev/null +++ b/2018/day17/day17.go @@ -0,0 +1,182 @@ +package main + +import ( + "bufio" + "fmt" + "log" + "os" + "strconv" + "strings" + "time" +) + +const ( + MaxInt = int(^uint(0) >> 1) + MinInt = -MaxInt - 1 + ClearScreen = "\033[H\033[2J" +) + +func main() { + input := stdinToStringSlice() + part1(input) + //part2(input) +} + +var scan [1000][1000]byte +var minX, maxX int = MaxInt, MinInt +var minY, maxY int = MaxInt, MinInt + +func part1(input []string) { + for _, v := range input { + pts := strings.Split(v, ", ") + fst := strings.Split(pts[0], "=") + scd := strings.Split(pts[1], "=") + scdRange := strings.Split(scd[1], "..") + var x, y int + if fst[0] == "x" { + x = Atoi(fst[1]) + for y = Atoi(scdRange[0]); y <= Atoi(scdRange[1]); y++ { + minmax(x, y) + scan[x][y] = '#' + } + } else if fst[0] == "y" { + y = Atoi(fst[1]) + for x := Atoi(scdRange[0]); x <= Atoi(scdRange[1]); x++ { + minmax(x, y) + scan[x][y] = '#' + } + } + } + printScan() + // The water starts at 500, 0 + fillDown(500, 0) +} + +func part2(input []string) { +} + +// The 'fill' functions return the x, y that was filled +// or MinInt, MinInt, if x, y can't be filled + +// fillDown will check down, then left, then right +func fillDown(x, y int) (int, int) { + fx, fy := fillSpot(x, y) + if !gud(fx, fy) { + return fx, fy + } + // Try to fill the spot below it + dx, dy := fillDown(x, y+1) + if dx == MinInt && dy == MinInt { + // We couldn't go down + lx, ly := fillLeft(x-1, y) // left? + rx, ry := fillRight(x+1, y) // right? + if !gud(lx, ly) || !gud(rx, ry) { + return MinInt, MinInt // Off to infinity + } + if ly == y && ry == y { + scan[lx][y] = '~' + scan[rx][y] = '~' + } + } + return dx, dy +} + +func fillLeft(x, y int) (int, int) { + fx, fy := fillSpot(x, y) + if !gud(fx, fy) { + return fx, fy + } + // This spot can be filled, try to go down + rx, ry := fillDown(fx, fy+1) + if gud(rx, ry) { + return rx, ry + } + // Couldn't go down, try to go left + rx, ry = fillLeft(fx-1, y) + if gud(rx, ry) { + return rx, ry + } + return x, y +} + +func fillRight(x, y int) (int, int) { + fx, fy := fillSpot(x, y) + if !gud(fx, fy) { + return fx, fy + } + // This spot can be filled, try to go down + rx, ry := fillDown(fx, fy+1) + if gud(rx, ry) { + return rx, ry + } + // Couldn't go down, try to go left + rx, ry = fillRight(fx+1, y) + if gud(rx, ry) { + return rx, ry + } + return x, y +} + +func fillSpot(x, y int) (int, int) { + time.Sleep(time.Millisecond * 250) + printScan() + if y > maxY || !canFill(x, y) { + return MinInt, MinInt + } + scan[x][y] = '|' + return x, y +} + +func gud(x, y int) bool { + return x != MinInt && y != MinInt +} + +func printScan() { + fmt.Print(ClearScreen) + for y := minY; y <= maxY; y++ { + for x := minX; x <= maxX; x++ { + if scan[x][y] == 0 { + fmt.Print(".") + } else { + fmt.Print(string(scan[x][y])) + } + } + fmt.Println() + } +} +func canFill(x, y int) bool { + return scan[x][y] == 0 || scan[x][y] == '|' +} + +func minmax(x, y int) { + if x < minX { + minX = x + } + if x > maxX { + maxX = x + } + if y < minY { + minY = y + } + if y > maxY { + maxY = y + } +} + +func stdinToStringSlice() []string { + var input []string + scanner := bufio.NewScanner(os.Stdin) + for scanner.Scan() { + input = append(input, scanner.Text()) + } + return input +} + +func Atoi(i string) int { + var ret int + var err error + if ret, err = strconv.Atoi(i); err != nil { + log.Fatal("Invalid Atoi: " + i) + } + return ret +} diff --git a/2018/day17/input b/2018/day17/input new file mode 100644 index 0000000..a294b8b --- /dev/null +++ b/2018/day17/input @@ -0,0 +1,1794 @@ +x=401, y=545..548 +x=429, y=1026..1041 +x=462, y=229..240 +x=398, y=134..140 +y=1251, x=562..565 +y=543, x=595..617 +y=1369, x=401..421 +y=797, x=622..627 +y=133, x=498..518 +x=426, y=1587..1589 +y=1707, x=416..419 +x=589, y=937..964 +y=205, x=554..559 +x=394, y=514..523 +y=667, x=441..459 +x=457, y=904..911 +y=1555, x=513..525 +x=533, y=1741..1745 +x=393, y=1393..1408 +x=673, y=1689..1702 +y=1647, x=503..507 +x=509, y=685..698 +y=1562, x=400..421 +x=632, y=1427..1441 +x=505, y=731..740 +x=588, y=1738..1750 +x=446, y=63..65 +x=458, y=88..94 +y=494, x=610..617 +y=1559, x=633..643 +x=505, y=323..337 +x=584, y=753..765 +y=1323, x=647..650 +x=419, y=514..523 +x=491, y=931..942 +x=498, y=880..889 +x=564, y=165..184 +x=633, y=798..825 +y=377, x=626..630 +x=649, y=1343..1354 +x=553, y=336..343 +x=631, y=1071..1075 +y=1039, x=499..502 +x=514, y=1146..1159 +x=535, y=1741..1745 +y=507, x=466..476 +y=393, x=416..425 +x=456, y=1742..1747 +x=488, y=1585..1603 +x=516, y=241..250 +y=624, x=616..621 +y=68, x=487..511 +x=431, y=79..84 +x=559, y=201..205 +x=579, y=1687..1703 +x=514, y=751..763 +x=594, y=1505..1514 +x=574, y=9..17 +x=511, y=1767..1782 +x=511, y=321..333 +x=525, y=705..719 +y=888, x=426..450 +x=510, y=1051..1068 +x=484, y=1644..1654 +x=578, y=344..361 +y=1785, x=656..675 +x=534, y=1585..1599 +x=552, y=12..18 +x=648, y=376..398 +x=593, y=980..1008 +y=1109, x=534..538 +x=571, y=1494..1508 +x=482, y=1696..1712 +x=576, y=809..811 +x=643, y=1568..1588 +x=514, y=989..1010 +x=493, y=165..177 +y=1359, x=523..543 +x=555, y=795..806 +y=392, x=493..497 +x=621, y=609..624 +x=433, y=565..572 +x=514, y=348..359 +x=556, y=1160..1168 +y=1253, x=562..565 +x=591, y=200..212 +x=627, y=509..536 +x=502, y=78..92 +y=427, x=476..523 +x=530, y=622..631 +x=429, y=809..818 +x=592, y=155..167 +y=94, x=473..480 +x=505, y=1006..1022 +x=475, y=1428..1445 +x=459, y=1044..1056 +x=541, y=253..278 +x=446, y=1234..1244 +x=595, y=539..543 +y=1712, x=474..482 +x=555, y=1309..1320 +x=510, y=1615..1617 +x=656, y=1547..1557 +x=427, y=942..952 +y=1370, x=656..658 +x=447, y=288..298 +y=1250, x=521..542 +x=480, y=68..94 +y=688, x=417..419 +y=1758, x=470..490 +x=463, y=1406..1418 +y=275, x=530..533 +y=918, x=635..637 +x=394, y=1492..1519 +x=526, y=604..613 +x=612, y=18..29 +x=592, y=34..62 +y=25, x=409..423 +x=409, y=470..474 +x=646, y=1697..1699 +x=669, y=1772..1782 +y=1090, x=572..600 +y=1533, x=493..513 +x=600, y=1087..1090 +x=559, y=425..434 +y=1589, x=415..426 +x=509, y=1173..1179 +x=452, y=501..520 +x=606, y=1119..1123 +y=1638, x=476..485 +x=488, y=303..316 +x=394, y=328..335 +x=525, y=1543..1555 +x=568, y=517..520 +y=1558, x=586..602 +x=658, y=1054..1056 +y=1710, x=416..419 +x=395, y=1597..1619 +y=1287, x=569..591 +x=544, y=1606..1612 +y=1156, x=472..491 +y=955, x=561..568 +x=563, y=1330..1340 +x=546, y=1114..1119 +y=369, x=610..615 +x=532, y=622..631 +x=595, y=391..398 +y=1539, x=464..470 +x=568, y=1049..1054 +y=218, x=475..496 +y=1489, x=657..668 +x=517, y=446..450 +x=553, y=1335..1337 +x=397, y=101..113 +x=514, y=321..333 +x=598, y=382..392 +x=629, y=1124..1148 +x=495, y=1313..1317 +y=941, x=666..672 +x=581, y=491..505 +x=628, y=654..681 +y=392, x=654..658 +y=1415, x=651..673 +y=1269, x=628..636 +x=425, y=629..638 +x=581, y=1743..1746 +x=656, y=1775..1785 +y=865, x=491..579 +y=1386, x=439..449 +x=625, y=86..88 +x=561, y=1575..1577 +y=487, x=630..656 +x=552, y=570..580 +x=617, y=984..1003 +y=536, x=627..638 +x=421, y=1250..1257 +y=210, x=543..546 +x=457, y=303..313 +x=442, y=468..490 +x=532, y=812..828 +y=823, x=462..482 +x=433, y=1749..1772 +x=673, y=708..711 +y=419, x=580..594 +y=696, x=487..490 +y=293, x=464..468 +y=1075, x=631..640 +x=414, y=590..594 +x=651, y=913..918 +x=572, y=1687..1703 +x=562, y=530..540 +y=1722, x=538..664 +x=495, y=913..924 +y=1718, x=558..655 +x=498, y=465..467 +x=535, y=310..314 +x=464, y=1518..1539 +x=423, y=1411..1415 +x=493, y=752..763 +x=607, y=1274..1296 +x=629, y=942..969 +x=670, y=964..991 +x=474, y=978..988 +x=575, y=1037..1057 +x=594, y=417..419 +x=571, y=1244..1256 +x=542, y=1237..1250 +y=598, x=537..558 +x=635, y=450..452 +x=568, y=533..543 +x=446, y=513..516 +x=578, y=1743..1746 +x=638, y=577..605 +x=505, y=1084..1096 +x=602, y=1507..1517 +y=1436, x=589..591 +y=777, x=442..450 +x=494, y=1090..1092 +y=1434, x=589..591 +x=533, y=1052..1068 +x=467, y=1644..1654 +y=1010, x=514..531 +x=515, y=1485..1488 +x=442, y=527..547 +y=291, x=464..468 +x=420, y=368..381 +x=573, y=756..760 +y=716, x=561..563 +x=405, y=100..113 +x=467, y=385..387 +x=431, y=1136..1138 +x=397, y=1661..1663 +x=403, y=1477..1487 +x=543, y=1331..1340 +y=1420, x=516..564 +y=1314, x=594..602 +x=552, y=1647..1661 +x=633, y=1333..1342 +x=591, y=1197..1208 +y=547, x=442..466 +y=296, x=559..581 +x=464, y=181..195 +y=1109, x=482..491 +x=448, y=932..946 +y=1154, x=542..558 +y=1409, x=490..502 +x=672, y=934..941 +x=479, y=1540..1548 +x=462, y=1235..1244 +y=894, x=645..661 +y=572, x=419..433 +x=591, y=1096..1109 +x=566, y=679..701 +x=526, y=86..101 +x=561, y=639..643 +y=921, x=472..485 +x=663, y=327..352 +x=421, y=144..155 +x=447, y=1056..1060 +x=646, y=752..754 +x=650, y=1308..1323 +y=73, x=406..426 +x=454, y=1055..1060 +x=655, y=105..116 +x=459, y=656..667 +y=1201, x=528..532 +y=187, x=436..438 +x=438, y=1308..1320 +x=482, y=1541..1548 +x=643, y=1557..1559 +y=469, x=505..521 +x=537, y=1028..1042 +x=463, y=1663..1685 +y=1323, x=638..641 +x=502, y=1383..1409 +y=91, x=617..637 +y=1435, x=563..568 +x=425, y=1705..1716 +x=562, y=406..420 +y=1778, x=558..572 +x=476, y=502..507 +x=516, y=385..395 +x=667, y=278..282 +y=1626, x=426..436 +x=462, y=813..823 +x=627, y=1497..1515 +x=640, y=1742..1758 +x=436, y=1605..1626 +y=65, x=502..504 +x=491, y=1013..1015 +y=1019, x=400..412 +x=630, y=797..825 +y=162, x=608..615 +y=889, x=498..521 +x=637, y=296..323 +x=593, y=966..971 +x=644, y=1697..1699 +x=408, y=1480..1482 +x=555, y=1036..1057 +x=605, y=569..580 +y=1105, x=658..664 +x=640, y=1072..1075 +y=636, x=570..581 +y=1602, x=661..673 +y=1676, x=652..655 +x=656, y=485..487 +y=78, x=653..663 +x=545, y=753..765 +x=581, y=260..265 +y=1460, x=499..509 +x=486, y=1616..1617 +y=1168, x=554..556 +x=450, y=1119..1146 +y=1441, x=445..459 +x=654, y=914..918 +x=497, y=831..843 +x=660, y=1187..1200 +y=337, x=505..523 +y=392, x=598..608 +x=494, y=301..309 +x=494, y=1586..1603 +y=1124, x=457..462 +x=480, y=234..237 +y=213, x=487..490 +x=444, y=1336..1344 +x=647, y=1307..1323 +x=633, y=1629..1639 +x=542, y=1143..1154 +x=485, y=167..180 +x=491, y=1109..1111 +y=352, x=663..669 +x=601, y=231..243 +y=970, x=449..469 +x=634, y=1119..1135 +y=616, x=436..439 +x=587, y=809..811 +y=240, x=462..486 +x=419, y=565..572 +y=742, x=545..548 +y=1367, x=570..594 +y=1354, x=649..653 +x=602, y=1546..1558 +y=1703, x=572..579 +y=1641, x=532..539 +x=599, y=1429..1439 +x=546, y=198..210 +x=414, y=107..110 +x=464, y=291..293 +x=572, y=1764..1778 +x=454, y=1475..1484 +x=513, y=1255..1266 +x=619, y=924..939 +x=610, y=505..512 +y=1057, x=493..497 +y=1184, x=420..434 +x=428, y=42..47 +x=416, y=1226..1242 +x=425, y=393..395 +x=523, y=324..337 +x=578, y=1611..1624 +y=1547, x=500..502 +x=423, y=1225..1242 +x=412, y=134..140 +y=35, x=461..475 +y=782, x=591..593 +x=655, y=941..969 +x=645, y=867..894 +y=1152, x=481..485 +y=1782, x=511..515 +x=633, y=1025..1043 +x=473, y=730..735 +y=594, x=414..420 +y=7, x=585..612 +x=576, y=696..698 +x=510, y=1562..1567 +x=664, y=1713..1722 +x=532, y=1723..1729 +x=536, y=286..297 +y=20, x=589..599 +x=670, y=900..927 +x=474, y=100..111 +x=562, y=38..44 +x=454, y=954..967 +y=772, x=609..614 +x=486, y=229..240 +x=468, y=802..804 +x=628, y=53..64 +y=50, x=419..434 +y=1729, x=515..532 +x=608, y=382..392 +y=467, x=484..498 +y=659, x=409..433 +y=698, x=509..562 +x=464, y=306..318 +y=1745, x=533..535 +x=657, y=1467..1489 +y=906, x=482..503 +x=505, y=465..469 +x=449, y=569..571 +x=591, y=392..398 +x=510, y=813..819 +y=68, x=437..462 +x=462, y=44..68 +x=584, y=657..670 +x=489, y=1127..1137 +x=589, y=853..857 +y=1630, x=490..493 +y=313, x=455..457 +x=462, y=954..967 +y=774, x=393..414 +x=539, y=625..634 +y=1575, x=561..564 +y=1555, x=594..596 +x=479, y=186..196 +y=1439, x=584..599 +y=1663, x=397..416 +x=491, y=873..884 +y=1068, x=510..533 +y=1415, x=423..429 +x=460, y=1192..1202 +y=727, x=411..419 +x=662, y=1187..1200 +x=543, y=1347..1359 +y=84, x=431..448 +y=41, x=514..517 +x=521, y=466..469 +x=569, y=1278..1287 +x=433, y=348..359 +y=263, x=654..657 +x=473, y=665..684 +x=589, y=18..20 +x=484, y=1045..1056 +y=1538, x=561..577 +y=184, x=540..564 +y=1500, x=539..546 +y=785, x=573..599 +y=94, x=458..467 +y=316, x=488..505 +y=560, x=564..590 +x=650, y=561..581 +x=480, y=870..881 +x=541, y=834..843 +x=426, y=880..888 +y=1476, x=506..590 +x=436, y=600..616 +y=490, x=442..455 +x=400, y=1500..1522 +x=427, y=603..605 +x=538, y=1196..1205 +x=522, y=1195..1205 +x=610, y=1565..1578 +y=991, x=489..502 +y=17, x=562..574 +x=477, y=1063..1073 +y=520, x=430..452 +x=442, y=385..387 +x=454, y=63..65 +x=486, y=613..640 +y=634, x=520..539 +x=475, y=207..218 +x=564, y=1410..1420 +y=195, x=457..464 +y=1550, x=490..508 +x=434, y=1158..1184 +x=663, y=76..78 +y=1208, x=586..591 +y=1274, x=536..553 +x=536, y=61..78 +x=556, y=466..476 +x=643, y=1497..1515 +x=497, y=1043..1057 +y=420, x=557..562 +x=426, y=58..73 +x=544, y=985..993 +y=1430, x=402..407 +y=1677, x=619..640 +x=608, y=854..857 +x=559, y=291..296 +y=88, x=625..628 +x=537, y=606..616 +x=468, y=811..819 +y=402, x=476..480 +y=1266, x=453..513 +x=580, y=416..419 +x=617, y=540..543 +y=243, x=591..601 +x=446, y=247..275 +x=541, y=1605..1612 +x=470, y=1742..1758 +x=549, y=392..397 +x=571, y=709..722 +y=291, x=622..624 +x=472, y=234..237 +y=911, x=590..596 +x=487, y=692..696 +x=655, y=541..545 +x=551, y=1368..1379 +x=587, y=156..167 +x=562, y=9..17 +y=927, x=667..670 +y=1123, x=594..606 +x=451, y=1208..1219 +y=1148, x=616..629 +x=537, y=1345..1355 +x=593, y=1494..1496 +x=665, y=1314..1332 +y=409, x=611..635 +y=1643, x=403..405 +x=530, y=272..275 +x=630, y=351..377 +x=455, y=303..313 +x=463, y=749..752 +x=544, y=552..559 +y=395, x=416..425 +x=511, y=1173..1179 +y=1266, x=628..636 +x=407, y=1426..1430 +y=811, x=576..587 +y=1323, x=561..568 +x=415, y=630..638 +y=576, x=593..595 +x=419, y=855..870 +x=535, y=1345..1355 +y=481, x=545..563 +x=397, y=872..876 +y=1223, x=444..460 +x=644, y=788..794 +y=1603, x=488..494 +y=116, x=635..655 +y=959, x=515..522 +y=916, x=635..637 +x=558, y=588..598 +y=395, x=516..544 +x=396, y=1136..1143 +x=638, y=1300..1323 +x=476, y=375..402 +y=740, x=505..524 +x=416, y=1707..1710 +x=539, y=1586..1599 +x=431, y=119..139 +y=359, x=433..514 +x=437, y=247..275 +y=1557, x=656..668 +x=661, y=1584..1602 +y=806, x=482..555 +x=628, y=578..605 +x=393, y=424..434 +y=640, x=481..486 +x=403, y=690..693 +x=661, y=603..618 +x=657, y=259..263 +y=605, x=419..427 +x=419, y=702..727 +y=1379, x=537..551 +x=480, y=376..402 +x=530, y=1775..1779 +y=148, x=609..628 +x=584, y=1429..1439 +x=534, y=1481..1504 +x=483, y=1275..1303 +y=701, x=566..587 +x=544, y=1073..1087 +x=586, y=89..96 +x=490, y=1743..1758 +x=560, y=530..540 +y=922, x=628..643 +x=461, y=919..924 +x=450, y=1576..1594 +x=609, y=1176..1187 +x=515, y=1723..1729 +y=1033, x=463..465 +x=471, y=1069..1076 +x=511, y=1584..1609 +x=501, y=1143..1152 +x=610, y=470..494 +x=613, y=903..906 +x=459, y=1434..1441 +y=1482, x=459..464 +x=654, y=259..263 +x=466, y=526..547 +x=554, y=1493..1508 +x=552, y=1776..1779 +y=133, x=559..562 +x=599, y=19..20 +x=513, y=1192..1202 +x=628, y=1266..1269 +y=183, x=626..641 +y=1502, x=563..565 +y=1742, x=451..456 +y=1076, x=466..471 +x=646, y=654..681 +x=411, y=1480..1482 +y=1445, x=605..616 +y=991, x=469..485 +x=615, y=282..294 +y=1240, x=454..456 +x=638, y=510..536 +x=579, y=852..865 +y=638, x=445..471 +x=493, y=772..784 +x=653, y=76..78 +y=1439, x=558..576 +y=693, x=403..409 +x=490, y=1541..1550 +y=140, x=398..412 +x=439, y=600..616 +x=504, y=61..65 +x=665, y=254..271 +x=467, y=88..94 +x=490, y=11..22 +x=409, y=690..693 +y=167, x=587..592 +y=1184, x=615..618 +x=419, y=1423..1438 +x=640, y=1673..1677 +x=645, y=1647..1661 +y=559, x=538..544 +x=481, y=614..640 +x=599, y=772..785 +y=719, x=507..525 +y=613, x=526..531 +y=942, x=491..507 +x=452, y=801..804 +x=614, y=1524..1537 +y=1548, x=479..482 +x=509, y=1675..1690 +x=538, y=1712..1722 +y=237, x=472..480 +x=523, y=427..431 +x=593, y=1386..1398 +y=206, x=575..588 +y=1487, x=403..419 +x=526, y=916..940 +x=651, y=334..355 +x=441, y=782..788 +y=1398, x=582..593 +x=450, y=1336..1344 +x=658, y=160..170 +x=619, y=427..441 +x=675, y=1774..1785 +y=1317, x=472..495 +y=1708, x=505..523 +y=111, x=474..498 +x=532, y=1259..1273 +y=258, x=610..612 +x=620, y=1385..1390 +x=469, y=1002..1014 +x=504, y=1170..1184 +y=1766, x=658..675 +y=1115, x=440..442 +x=637, y=73..91 +x=426, y=1606..1626 +x=462, y=701..709 +x=422, y=118..139 +x=454, y=1232..1240 +y=1179, x=615..618 +y=1350, x=611..613 +y=50, x=570..586 +x=437, y=1405..1418 +y=377, x=507..529 +x=472, y=1720..1724 +x=433, y=390..403 +y=718, x=561..563 +x=599, y=35..62 +x=450, y=765..777 +x=488, y=288..298 +y=361, x=567..578 +y=176, x=417..427 +x=664, y=1081..1105 +x=643, y=906..922 +x=410, y=1704..1716 +x=442, y=765..777 +y=843, x=474..497 +y=1666, x=482..499 +y=906, x=611..613 +x=409, y=656..659 +x=442, y=1089..1115 +x=442, y=1191..1195 +y=1073, x=477..494 +y=89, x=491..495 +y=1537, x=594..614 +x=585, y=4..7 +y=971, x=593..614 +y=989, x=408..410 +x=650, y=375..398 +y=1577, x=561..564 +x=513, y=577..581 +x=420, y=590..594 +y=1554, x=544..556 +y=1399, x=526..544 +x=658, y=1730..1742 +x=648, y=278..282 +x=570, y=517..520 +x=636, y=1331..1342 +y=881, x=480..485 +x=599, y=1571..1574 +y=709, x=445..462 +x=487, y=1085..1096 +y=355, x=646..651 +y=1573, x=463..469 +y=684, x=462..473 +x=611, y=904..906 +x=518, y=123..133 +x=664, y=709..711 +y=943, x=455..461 +y=1649, x=476..478 +x=543, y=443..457 +x=537, y=1368..1379 +x=484, y=271..283 +x=455, y=1025..1036 +y=61, x=502..504 +y=643, x=555..561 +x=452, y=569..571 +x=601, y=1137..1158 +x=570, y=75..79 +x=534, y=1094..1109 +x=466, y=859..861 +x=603, y=981..1008 +y=144, x=639..645 +x=449, y=957..970 +x=482, y=814..823 +y=1102, x=613..636 +y=1099, x=558..561 +y=433, x=590..598 +y=403, x=406..433 +x=467, y=914..924 +x=475, y=12..35 +y=1617, x=598..623 +x=635, y=383..409 +x=445, y=1433..1441 +x=658, y=676..693 +x=594, y=1525..1537 +x=515, y=703..716 +y=748, x=646..649 +y=779, x=484..487 +x=578, y=1136..1158 +y=1482, x=408..411 +x=496, y=206..218 +x=620, y=1569..1588 +y=21, x=540..558 +x=519, y=152..160 +y=140, x=615..617 +y=1624, x=564..578 +y=36, x=641..660 +x=532, y=1193..1201 +x=521, y=1236..1250 +y=581, x=650..656 +y=517, x=645..653 +x=507, y=932..942 +y=754, x=646..660 +x=572, y=938..964 +x=570, y=1570..1580 +x=484, y=770..779 +y=889, x=415..422 +y=1217, x=567..574 +y=293, x=541..544 +y=924, x=467..495 +x=460, y=781..788 +x=520, y=624..634 +x=644, y=1607..1620 +y=1515, x=426..433 +x=505, y=304..316 +x=640, y=632..636 +x=417, y=981..993 +x=458, y=920..924 +x=548, y=1027..1042 +y=1056, x=459..484 +x=406, y=59..73 +y=1667, x=522..536 +x=630, y=484..487 +y=78, x=529..536 +x=495, y=76..89 +y=502, x=573..575 +y=1244, x=446..462 +x=472, y=1143..1156 +y=988, x=474..477 +x=483, y=103..107 +y=1653, x=568..596 +x=540, y=166..184 +x=636, y=1091..1102 +x=628, y=86..88 +x=552, y=514..525 +x=502, y=61..65 +y=946, x=448..467 +y=964, x=572..589 +x=549, y=1449..1458 +x=666, y=1733..1745 +x=620, y=1260..1273 +x=652, y=1016..1022 +x=583, y=1301..1327 +x=404, y=1208..1228 +y=1332, x=665..670 +x=556, y=756..760 +x=561, y=1527..1538 +y=271, x=648..665 +x=430, y=903..909 +y=822, x=646..655 +x=568, y=949..955 +x=412, y=947..949 +x=445, y=621..638 +x=394, y=1627..1646 +x=420, y=1157..1184 +y=692, x=600..607 +x=538, y=1095..1109 +y=525, x=552..576 +x=655, y=800..822 +x=463, y=1562..1573 +x=452, y=1003..1014 +y=1158, x=578..601 +x=594, y=1118..1123 +x=531, y=604..613 +y=1256, x=552..571 +x=518, y=693..695 +x=426, y=42..47 +x=491, y=76..89 +x=394, y=1208..1228 +x=667, y=1772..1782 +x=612, y=1233..1254 +x=618, y=1179..1184 +y=1202, x=460..513 +x=601, y=438..447 +x=558, y=1080..1099 +y=444, x=447..468 +y=1699, x=644..646 +x=617, y=469..494 +y=278, x=524..541 +y=1056, x=655..658 +x=666, y=935..941 +x=611, y=1324..1350 +y=277, x=400..411 +x=621, y=757..770 +x=661, y=52..58 +x=553, y=1260..1274 +x=590, y=889..911 +y=288, x=622..624 +y=716, x=515..518 +x=563, y=469..481 +x=475, y=249..262 +x=647, y=221..242 +x=445, y=701..709 +y=1369, x=601..626 +x=468, y=442..444 +y=1758, x=640..645 +x=563, y=1431..1435 +x=628, y=905..922 +x=586, y=254..258 +x=607, y=664..692 +x=419, y=1325..1338 +x=656, y=1253..1266 +y=1137, x=489..512 +x=437, y=44..68 +x=621, y=1233..1254 +y=993, x=539..544 +x=558, y=1715..1718 +x=651, y=1410..1415 +x=493, y=387..392 +x=408, y=983..989 +y=1742, x=658..660 +x=596, y=1553..1555 +y=431, x=476..523 +x=444, y=1210..1223 +x=514, y=38..41 +x=462, y=1720..1724 +x=545, y=729..742 +x=660, y=27..36 +x=639, y=1016..1022 +x=568, y=1431..1435 +y=387, x=442..467 +x=485, y=916..921 +x=570, y=630..636 +x=509, y=12..22 +x=434, y=247..253 +y=788, x=441..460 +x=393, y=144..155 +x=592, y=1505..1514 +y=752, x=463..465 +y=447, x=587..601 +x=563, y=326..354 +y=336, x=553..556 +y=419, x=433..518 +x=590, y=1464..1476 +y=258, x=586..603 +x=534, y=1287..1292 +x=402, y=1038..1063 +y=397, x=549..561 +x=564, y=1611..1624 +x=591, y=230..243 +x=646, y=335..355 +y=1179, x=509..511 +x=458, y=393..402 +x=583, y=994..999 +x=506, y=1463..1476 +y=1639, x=617..633 +x=590, y=429..433 +y=505, x=563..581 +x=411, y=269..277 +y=1651, x=476..478 +x=420, y=1393..1408 +y=1297, x=524..544 +y=1745, x=649..666 +x=485, y=79..92 +y=1580, x=553..570 +x=636, y=1266..1269 +x=669, y=328..352 +x=615, y=366..369 +x=482, y=895..906 +x=490, y=692..696 +x=596, y=324..331 +x=613, y=1325..1350 +y=160, x=519..530 +x=496, y=268..276 +x=454, y=1643..1668 +x=668, y=1468..1489 +y=1195, x=442..448 +x=645, y=492..517 +x=538, y=552..559 +y=745, x=537..554 +y=909, x=424..430 +x=553, y=1570..1580 +y=292, x=512..514 +y=825, x=630..633 +y=1292, x=530..534 +x=570, y=1348..1367 +x=467, y=933..946 +y=1594, x=447..450 +x=610, y=1274..1296 +x=415, y=1586..1589 +x=537, y=731..745 +x=550, y=532..543 +x=655, y=1715..1718 +y=103, x=483..492 +x=554, y=709..722 +x=408, y=1400..1404 +x=494, y=1064..1073 +x=515, y=728..735 +x=531, y=87..101 +y=770, x=621..626 +x=668, y=1547..1557 +y=863, x=633..636 +x=626, y=1367..1369 +y=1200, x=660..662 +y=1022, x=478..505 +x=524, y=1584..1609 +x=405, y=1641..1643 +x=545, y=1738..1763 +x=511, y=56..68 +x=431, y=1705..1725 +y=62, x=592..599 +y=857, x=589..608 +y=939, x=605..619 +x=503, y=270..283 +x=487, y=209..213 +x=410, y=983..989 +y=155, x=393..421 +x=395, y=1422..1438 +y=1779, x=530..552 +x=471, y=1024..1036 +x=464, y=1492..1496 +y=522, x=514..530 +x=528, y=1193..1201 +x=646, y=1427..1441 +x=582, y=1387..1398 +y=1480, x=408..411 +y=457, x=543..561 +x=653, y=1344..1354 +x=518, y=1260..1273 +x=528, y=1415..1417 +y=573, x=593..595 +x=615, y=1179..1184 +y=924, x=458..461 +x=501, y=33..45 +x=646, y=722..748 +y=477, x=634..636 +x=420, y=328..335 +x=658, y=1754..1766 +y=828, x=532..543 +x=465, y=1383..1399 +y=196, x=477..479 +y=698, x=573..576 +x=564, y=994..999 +y=309, x=494..498 +y=1418, x=437..463 +x=544, y=386..395 +x=617, y=1628..1639 +x=555, y=441..453 +x=622, y=1062..1084 +x=512, y=1127..1137 +x=498, y=1013..1015 +y=294, x=615..630 +y=199, x=468..485 +y=1344, x=444..450 +x=658, y=450..452 +x=456, y=1560..1579 +x=433, y=657..659 +x=591, y=1434..1436 +x=554, y=1160..1168 +x=485, y=981..991 +y=314, x=535..562 +y=1173, x=509..511 +x=535, y=365..374 +x=579, y=1487..1499 +y=310, x=597..606 +x=416, y=106..110 +x=463, y=1740..1750 +x=568, y=1448..1458 +x=507, y=1645..1647 +y=96, x=581..586 +y=1084, x=608..622 +y=1087, x=535..544 +x=461, y=930..943 +y=1129, x=648..652 +y=282, x=648..667 +x=531, y=555..564 +x=439, y=368..381 +x=670, y=1689..1702 +y=1747, x=451..456 +x=608, y=1061..1084 +x=416, y=159..164 +x=547, y=74..79 +x=460, y=1000..1007 +y=157, x=487..504 +x=673, y=1583..1602 +y=1517, x=582..602 +x=576, y=514..525 +x=604, y=503..508 +x=515, y=946..959 +y=311, x=408..434 +x=542, y=365..374 +x=675, y=1754..1766 +y=262, x=475..501 +y=918, x=651..654 +x=663, y=542..545 +x=603, y=200..212 +y=251, x=565..581 +x=469, y=980..991 +y=1187, x=660..662 +x=507, y=706..719 +x=521, y=880..889 +x=497, y=679..699 +y=892, x=550..563 +x=659, y=51..58 +y=110, x=414..416 +x=446, y=1119..1142 +y=1146, x=450..469 +y=1138, x=431..437 +x=594, y=1565..1578 +x=594, y=1302..1314 +x=471, y=620..638 +x=397, y=1491..1519 +y=1291, x=646..658 +x=476, y=1383..1399 +y=1504, x=523..534 +x=658, y=376..392 +x=485, y=189..199 +y=1159, x=494..514 +x=403, y=1641..1643 +x=654, y=846..854 +y=675, x=524..540 +y=323, x=637..642 +x=439, y=1378..1386 +x=457, y=854..865 +x=562, y=310..314 +y=1588, x=620..643 +x=627, y=775..797 +y=1725, x=431..434 +y=1599, x=534..539 +x=658, y=1360..1370 +y=1063, x=402..406 +y=1488, x=501..515 +x=635, y=221..242 +x=403, y=872..876 +y=79, x=547..570 +x=481, y=1140..1152 +x=560, y=1737..1750 +x=493, y=1527..1533 +x=403, y=1084..1088 +y=1088, x=403..418 +y=1139, x=457..462 +x=639, y=846..854 +y=605, x=628..638 +y=64, x=604..628 +x=660, y=753..754 +x=488, y=1491..1496 +x=563, y=492..505 +x=550, y=1146..1150 +x=434, y=37..50 +y=1685, x=463..476 +y=226, x=433..435 +x=498, y=1103..1117 +y=275, x=437..446 +y=1404, x=408..412 +y=638, x=415..425 +x=523, y=1348..1359 +x=406, y=1038..1063 +x=624, y=288..291 +y=1041, x=429..450 +x=531, y=1215..1229 +y=1014, x=452..469 +y=1782, x=667..669 +y=1746, x=578..581 +y=581, x=513..515 +x=607, y=18..29 +x=477, y=978..988 +x=508, y=1540..1550 +x=649, y=1553..1564 +x=428, y=1053..1065 +x=419, y=1707..1710 +y=1242, x=416..423 +x=490, y=1384..1409 +x=482, y=1109..1111 +y=1065, x=428..434 +y=589, x=465..486 +y=29, x=607..612 +x=573, y=696..698 +x=596, y=889..911 +x=539, y=693..695 +y=1320, x=438..555 +x=433, y=408..419 +x=457, y=1124..1139 +x=610, y=254..258 +y=476, x=553..556 +x=400, y=1012..1019 +x=556, y=286..297 +x=598, y=429..433 +x=646, y=1282..1291 +y=381, x=420..439 +x=411, y=701..727 +x=530, y=1287..1292 +x=598, y=1607..1617 +x=469, y=956..970 +x=425, y=470..474 +y=107, x=483..492 +x=602, y=1303..1314 +x=597, y=295..310 +y=543, x=453..459 +x=501, y=1485..1488 +y=1508, x=554..571 +x=498, y=122..133 +x=499, y=1682..1684 +x=593, y=573..576 +x=614, y=748..772 +y=884, x=472..491 +x=603, y=607..624 +x=487, y=145..157 +y=450, x=498..517 +x=649, y=1732..1745 +x=440, y=1089..1115 +x=513, y=1543..1555 +y=265, x=563..581 +x=514, y=512..522 +y=876, x=397..403 +x=485, y=411..416 +x=530, y=513..522 +x=490, y=209..213 +x=609, y=426..441 +x=446, y=904..911 +x=523, y=1481..1504 +x=554, y=201..205 +y=1609, x=511..524 +x=487, y=57..68 +y=763, x=493..514 +y=631, x=530..532 +x=669, y=1182..1209 +x=500, y=1545..1547 +x=509, y=205..220 +x=595, y=573..576 +y=1117, x=474..498 +y=1507, x=477..492 +x=526, y=642..652 +x=603, y=255..258 +x=622, y=774..797 +y=711, x=664..673 +x=544, y=289..293 +x=533, y=272..275 +x=589, y=1434..1436 +x=557, y=407..420 +y=916, x=472..485 +x=586, y=1546..1558 +x=616, y=1442..1445 +y=1617, x=486..510 +x=554, y=732..745 +x=656, y=1359..1370 +x=421, y=1119..1142 +y=1208, x=605..624 +x=639, y=127..144 +x=622, y=504..512 +y=1417, x=528..538 +x=476, y=427..431 +x=502, y=965..991 +y=1408, x=393..420 +y=735, x=515..517 +x=546, y=1497..1500 +y=276, x=491..496 +y=695, x=518..539 +x=658, y=1283..1291 +x=435, y=211..226 +y=520, x=568..570 +x=450, y=881..888 +x=555, y=640..643 +x=508, y=1143..1152 +x=457, y=182..195 +x=515, y=1766..1782 +x=605, y=1197..1208 +x=628, y=36..50 +x=413, y=442..463 +x=402, y=980..993 +x=596, y=496..523 +x=619, y=1673..1677 +y=1337, x=553..557 +x=655, y=676..693 +x=515, y=578..581 +x=590, y=548..560 +x=550, y=554..564 +x=433, y=211..226 +x=636, y=1177..1187 +x=587, y=1779..1781 +y=819, x=505..510 +x=648, y=604..618 +x=594, y=1349..1367 +x=556, y=649..658 +y=993, x=402..417 +x=477, y=186..196 +y=735, x=460..473 +x=507, y=367..377 +y=180, x=485..504 +x=412, y=1012..1019 +x=581, y=1780..1781 +x=448, y=1191..1195 +x=492, y=103..107 +x=615, y=642..659 +y=113, x=397..405 +y=699, x=479..497 +x=636, y=471..477 +x=577, y=39..44 +y=63, x=446..454 +x=544, y=1549..1554 +y=1036, x=455..471 +y=1620, x=639..644 +x=630, y=283..294 +x=564, y=1575..1577 +x=468, y=291..293 +x=589, y=1494..1496 +y=618, x=648..661 +y=861, x=466..469 +x=596, y=1651..1653 +x=615, y=138..140 +x=645, y=128..144 +x=477, y=1499..1507 +y=1022, x=639..652 +x=645, y=1743..1758 +x=438, y=513..516 +x=491, y=853..865 +x=527, y=1739..1763 +y=1702, x=636..652 +x=524, y=730..740 +y=1514, x=592..594 +x=662, y=1669..1679 +x=421, y=1549..1562 +x=540, y=8..21 +x=464, y=1480..1482 +x=473, y=68..94 +x=572, y=1086..1090 +x=593, y=780..782 +y=92, x=485..502 +x=518, y=703..716 +y=441, x=609..619 +x=633, y=1557..1559 +x=530, y=659..672 +x=498, y=1090..1092 +x=556, y=1550..1554 +y=765, x=545..584 +x=497, y=388..392 +x=476, y=1663..1685 +x=572, y=1300..1327 +y=220, x=505..509 +x=573, y=773..785 +y=1515, x=627..643 +x=581, y=88..96 +x=449, y=1208..1219 +x=539, y=1496..1500 +x=649, y=722..748 +y=843, x=515..541 +x=581, y=291..296 +x=430, y=502..520 +y=1342, x=623..633 +y=1327, x=572..583 +y=1135, x=634..659 +y=1007, x=460..462 +y=1287, x=530..534 +x=409, y=11..25 +x=637, y=916..918 +x=544, y=1284..1297 +y=1684, x=499..502 +y=1057, x=555..575 +y=1096, x=487..505 +y=22, x=490..509 +x=524, y=661..675 +y=1390, x=620..636 +x=429, y=1251..1257 +y=548, x=401..417 +y=794, x=644..667 +x=472, y=811..819 +y=636, x=617..640 +x=434, y=305..311 +x=540, y=662..675 +x=422, y=1748..1772 +x=522, y=1644..1667 +x=567, y=343..361 +x=448, y=78..84 +y=865, x=457..475 +x=605, y=924..939 +y=398, x=591..595 +x=655, y=1666..1676 +y=580, x=552..605 +x=558, y=1143..1154 +x=530, y=152..160 +x=494, y=1145..1159 +x=482, y=796..806 +x=451, y=1742..1747 +y=819, x=468..472 +x=573, y=489..502 +x=562, y=1251..1253 +x=411, y=1628..1646 +y=1772, x=422..433 +x=421, y=1362..1369 +y=335, x=394..420 +y=1342, x=636..639 +y=1131, x=648..652 +y=1054, x=566..568 +y=1228, x=394..404 +x=417, y=1135..1143 +x=609, y=641..659 +x=400, y=268..277 +x=505, y=1694..1708 +x=469, y=1120..1146 +x=456, y=1232..1240 +x=422, y=758..761 +x=515, y=834..843 +x=648, y=1129..1131 +x=667, y=393..409 +x=641, y=1299..1323 +x=586, y=48..50 +x=492, y=1674..1690 +y=672, x=530..532 +x=423, y=11..25 +y=398, x=648..650 +x=491, y=1142..1156 +y=58, x=659..661 +x=529, y=62..78 +x=561, y=391..397 +x=591, y=780..782 +x=628, y=134..148 +x=535, y=1073..1087 +x=413, y=1500..1522 +x=426, y=1501..1515 +x=459, y=529..543 +x=635, y=104..116 +x=453, y=1255..1266 +x=587, y=680..701 +x=487, y=770..779 +x=447, y=1577..1594 +x=437, y=1136..1138 +y=1646, x=394..411 +y=1564, x=622..649 +x=522, y=1170..1184 +y=761, x=422..443 +y=1049, x=566..568 +x=544, y=1387..1399 +x=417, y=170..176 +y=516, x=438..446 +x=532, y=659..672 +y=870, x=419..440 +y=47, x=426..428 +x=465, y=586..589 +x=558, y=1764..1778 +y=212, x=591..603 +x=417, y=276..286 +x=610, y=365..369 +y=253, x=407..434 +x=453, y=529..543 +x=600, y=665..692 +y=283, x=484..503 +x=516, y=1410..1420 +y=517, x=568..570 +x=509, y=1447..1460 +x=424, y=903..909 +x=577, y=658..670 +y=1619, x=395..408 +x=563, y=716..718 +x=599, y=1097..1109 +x=462, y=1000..1007 +x=638, y=1468..1480 +x=438, y=183..187 +x=499, y=1660..1666 +x=517, y=38..41 +x=573, y=650..658 +y=911, x=446..457 +y=1750, x=560..588 +x=605, y=1442..1445 +x=653, y=493..517 +y=652, x=526..552 +x=462, y=1124..1139 +y=1484, x=449..454 +x=641, y=28..36 +x=400, y=1548..1562 +y=402, x=458..462 +y=1219, x=449..451 +y=512, x=610..622 +x=499, y=1447..1460 +y=1042, x=537..548 +x=486, y=1429..1445 +x=476, y=1649..1651 +x=434, y=1326..1338 +y=1741, x=533..535 +y=1781, x=581..587 +x=526, y=1387..1399 +x=518, y=408..419 +x=475, y=855..865 +x=476, y=773..784 +x=505, y=814..819 +x=606, y=294..310 +x=417, y=544..548 +x=565, y=1251..1253 +x=639, y=1330..1342 +y=681, x=628..646 +y=1296, x=607..610 +y=1254, x=612..621 +x=503, y=894..906 +y=1015, x=491..498 +x=558, y=9..21 +x=419, y=665..688 +x=482, y=1659..1666 +y=1702, x=670..673 +x=557, y=1335..1337 +y=1111, x=482..491 +y=333, x=511..514 +x=661, y=868..894 +y=1458, x=549..568 +x=433, y=1500..1515 +x=441, y=656..667 +x=440, y=855..870 +x=636, y=839..863 +x=607, y=1589..1602 +y=18, x=550..552 +x=524, y=32..45 +y=44, x=562..577 +x=415, y=886..889 +x=604, y=53..64 +x=474, y=1696..1712 +x=655, y=1055..1056 +x=501, y=249..262 +y=940, x=526..540 +y=1142, x=421..446 +y=1150, x=550..552 +x=617, y=633..636 +x=563, y=890..892 +x=408, y=304..311 +x=499, y=1036..1039 +x=538, y=1415..1417 +x=462, y=394..402 +x=667, y=900..927 +y=1445, x=475..486 +x=412, y=1400..1404 +y=1008, x=593..603 +x=664, y=392..409 +x=649, y=159..170 +x=645, y=1668..1679 +x=536, y=1645..1667 +x=532, y=1630..1641 +y=659, x=609..615 +x=406, y=391..403 +x=563, y=1499..1502 +x=513, y=1527..1533 +y=1750, x=438..463 +x=524, y=253..278 +y=1438, x=395..419 +x=550, y=891..892 +y=50, x=619..628 +y=1545, x=500..502 +y=409, x=664..667 +y=452, x=635..658 +x=474, y=830..843 +x=484, y=465..467 +y=784, x=476..493 +y=1499, x=563..565 +x=562, y=121..133 +y=331, x=596..602 +x=522, y=947..959 +x=652, y=1129..1131 +y=250, x=516..521 +y=38, x=514..517 +x=493, y=1044..1057 +y=416, x=470..485 +x=626, y=352..377 +y=1661, x=552..645 +x=652, y=1666..1676 +y=1574, x=599..602 +x=633, y=840..863 +x=529, y=367..377 +y=692, x=487..490 +y=1499, x=579..600 +x=615, y=159..162 +x=582, y=1508..1517 +x=617, y=138..140 +x=656, y=560..581 +x=543, y=812..828 +x=465, y=748..752 +y=1496, x=464..488 +x=449, y=1474..1484 +y=1205, x=522..538 +y=1136, x=431..437 +x=588, y=187..206 +x=646, y=800..822 +x=588, y=1188..1192 +x=661, y=1252..1266 +x=427, y=1644..1668 +y=1340, x=543..563 +x=667, y=787..794 +x=479, y=1276..1303 +y=1146, x=550..552 +y=540, x=560..562 +x=602, y=1571..1574 +x=642, y=296..323 +x=463, y=1022..1033 +x=485, y=1635..1638 +x=659, y=1119..1135 +x=587, y=497..523 +y=1092, x=494..498 +x=548, y=441..453 +x=660, y=1730..1742 +x=613, y=1090..1102 +y=374, x=535..542 +x=432, y=275..286 +x=460, y=730..735 +x=419, y=36..50 +y=453, x=548..555 +y=969, x=629..655 +y=1415, x=528..538 +x=414, y=756..774 +y=543, x=550..568 +x=536, y=1261..1274 +x=472, y=916..921 +x=505, y=204..220 +x=539, y=984..993 +x=407, y=248..253 +y=1266, x=656..661 +y=1522, x=400..413 +x=474, y=1103..1117 +x=673, y=1410..1415 +y=463, x=406..413 +x=619, y=1024..1043 +x=648, y=1261..1273 +x=543, y=199..210 +x=575, y=489..502 +x=561, y=1306..1323 +x=561, y=1079..1099 +x=416, y=1662..1663 +x=462, y=664..684 +y=1109, x=591..599 +y=343, x=553..556 +y=298, x=447..488 +y=693, x=655..658 +y=1338, x=419..434 +x=502, y=1682..1684 +x=626, y=181..183 +x=406, y=443..463 +x=609, y=134..148 +x=616, y=1125..1148 +y=611, x=549..568 +x=504, y=144..157 +x=613, y=985..1003 +y=177, x=493..498 +y=1257, x=421..429 +y=128, x=508..512 +y=722, x=554..571 +x=466, y=1068..1076 +x=654, y=377..392 +x=470, y=411..416 +x=617, y=72..91 +x=498, y=447..450 +y=564, x=531..550 +y=523, x=587..596 +y=434, x=393..559 +x=485, y=1140..1152 +x=512, y=120..128 +x=565, y=227..251 +x=577, y=1526..1538 +y=523, x=394..419 +x=561, y=716..718 +x=608, y=160..162 +x=614, y=967..971 +x=524, y=1283..1297 +x=469, y=1562..1573 +y=1519, x=394..397 +x=455, y=469..490 +x=603, y=1189..1192 +y=1273, x=620..648 +x=503, y=1644..1647 +x=393, y=757..774 +y=1119, x=546..564 +x=502, y=1545..1547 +x=648, y=254..271 +y=967, x=454..462 +x=548, y=729..742 +x=479, y=679..699 +x=521, y=240..250 +x=408, y=1596..1619 +x=600, y=1488..1499 +x=443, y=758..761 +y=1313, x=472..495 +y=1679, x=645..662 +x=504, y=168..180 +x=447, y=441..444 +x=570, y=48..50 +y=1060, x=447..454 +x=498, y=301..309 +x=639, y=1607..1620 +x=623, y=1608..1617 +y=670, x=577..584 +x=601, y=1366..1369 +x=434, y=1705..1725 +x=568, y=1651..1653 +y=65, x=446..454 +y=1480, x=626..638 +y=1187, x=609..636 +y=170, x=649..658 +y=354, x=536..563 +x=438, y=1739..1750 +x=498, y=101..111 +x=466, y=503..507 +x=609, y=748..772 +y=1043, x=619..633 +x=552, y=1243..1256 +x=523, y=1694..1708 +x=622, y=288..291 +y=1697, x=644..646 +y=818, x=429..444 +y=139, x=422..431 +x=419, y=1477..1487 +x=419, y=603..605 +x=549, y=606..611 +y=1184, x=504..522 +x=434, y=1053..1065 +x=469, y=859..861 +x=566, y=1049..1054 +x=537, y=589..598 +y=297, x=536..556 +x=624, y=1197..1208 +x=572, y=1589..1602 +x=489, y=964..991 +x=568, y=607..611 +x=636, y=1386..1390 +x=561, y=444..457 +y=1690, x=492..509 +x=652, y=1690..1702 +x=459, y=1481..1482 +x=436, y=183..187 +x=558, y=1428..1439 +y=949, x=410..412 +x=670, y=1314..1332 +y=1668, x=427..454 +x=545, y=468..481 +x=568, y=1305..1323 +y=571, x=449..452 +y=1494, x=589..593 +x=410, y=947..949 +x=576, y=1428..1439 +y=1612, x=541..544 +x=594, y=1553..1555 +y=624, x=593..603 +x=602, y=324..331 +x=444, y=809..818 +y=242, x=635..647 +y=991, x=670..672 +y=1303, x=479..483 +x=417, y=664..688 +x=402, y=1426..1430 +x=485, y=870..881 +x=575, y=188..206 +x=398, y=158..164 +x=512, y=266..292 +y=1579, x=456..479 +x=672, y=964..991 +x=427, y=170..176 +x=472, y=872..884 +x=445, y=305..318 +y=1724, x=462..472 +y=1567, x=510..518 +y=101, x=526..531 +y=1441, x=632..646 +x=581, y=227..251 +x=531, y=988..1010 +y=1152, x=501..508 +y=1399, x=465..476 +x=514, y=266..292 +x=562, y=685..698 +x=623, y=1333..1342 +x=508, y=120..128 +x=401, y=1362..1369 +x=651, y=1181..1209 +x=491, y=268..276 +y=616, x=521..537 +x=490, y=1628..1630 +x=641, y=181..183 +y=474, x=409..425 +x=472, y=1313..1317 +y=545, x=655..663 +x=486, y=587..589 +y=164, x=398..416 +x=593, y=607..624 +x=586, y=1197..1208 +x=461, y=11..35 +x=498, y=165..177 +x=561, y=950..955 +y=854, x=639..654 +x=502, y=1035..1039 +x=574, y=1213..1217 +x=622, y=1553..1564 +x=518, y=1563..1567 +x=581, y=629..636 +x=626, y=1469..1480 +y=1192, x=588..603 +x=429, y=1410..1415 +y=1763, x=527..545 +x=612, y=255..258 +y=760, x=556..573 +x=559, y=122..133 +x=564, y=1114..1119 +x=587, y=438..447 +y=1003, x=613..617 +y=999, x=564..583 +x=563, y=259..265 +x=540, y=917..940 +x=601, y=504..508 +x=565, y=1499..1502 +x=416, y=393..395 +x=564, y=548..560 +y=804, x=452..468 +y=1355, x=535..537 +x=460, y=1211..1223 +x=556, y=336..343 +x=502, y=1215..1229 +y=952, x=404..427 +y=1602, x=572..607 +x=478, y=1649..1651 +x=422, y=887..889 +x=567, y=1214..1217 +x=616, y=610..624 +x=470, y=1517..1539 +x=517, y=728..735 +x=468, y=188..199 +x=550, y=12..18 +y=1209, x=651..669 +x=521, y=607..616 +x=635, y=916..918 +y=658, x=556..573 +x=493, y=1629..1630 +y=1716, x=410..425 +y=1229, x=502..531 +y=508, x=601..604 +x=449, y=1379..1386 +x=450, y=1026..1041 +x=636, y=1689..1702 +x=553, y=466..476 +x=658, y=1082..1105 +x=611, y=384..409 +y=318, x=445..464 +y=45, x=501..524 +x=612, y=5..7 +y=1578, x=594..610 +x=479, y=1559..1579 +y=1273, x=518..532 +y=1654, x=467..484 +y=1426, x=402..407 +y=209, x=487..490 +x=455, y=930..943 +x=536, y=326..354 +y=1496, x=589..593 +x=418, y=1084..1088 +x=619, y=37..50 +x=591, y=1279..1287 +y=1143, x=396..417 +x=541, y=289..293 +x=552, y=1146..1150 +x=552, y=642..652 +x=492, y=1500..1507 +x=404, y=943..952 +x=634, y=471..477 +x=626, y=756..770 +x=478, y=1005..1022 +x=465, y=1022..1033 +x=476, y=1634..1638 +x=539, y=1630..1641 +y=286, x=417..432 diff --git a/2018/day17/testinput b/2018/day17/testinput new file mode 100644 index 0000000..293b5af --- /dev/null +++ b/2018/day17/testinput @@ -0,0 +1,8 @@ +x=495, y=2..7 +y=7, x=495..501 +x=501, y=3..7 +x=498, y=2..4 +x=506, y=1..2 +x=498, y=10..13 +x=504, y=10..13 +y=13, x=498..504