Day 13
This commit is contained in:
@@ -5,7 +5,7 @@ import java.util.stream.Collectors
|
||||
import kotlin.math.max
|
||||
import kotlin.math.min
|
||||
|
||||
const val INPUT = "/day/12/input.txt"
|
||||
const val DAY12_INPUT = "/day/12/input.txt"
|
||||
|
||||
fun main() {
|
||||
val day = Day12()
|
||||
@@ -63,7 +63,7 @@ class Day12 {
|
||||
|
||||
private fun parsePlantPatterns(): BooleanArray {
|
||||
val plantPatternRegex = Regex("""([.#]{5}) => ([.#])""")
|
||||
val plantPatternIndices = lines(INPUT)
|
||||
val plantPatternIndices = lines(DAY12_INPUT)
|
||||
.map { plantPatternRegex.matchEntire(it) }
|
||||
.filter { it != null }
|
||||
.filter { it!!.groupValues[2] == "#" }
|
||||
@@ -74,7 +74,7 @@ class Day12 {
|
||||
|
||||
private fun parseInitialState(): BooleanArray {
|
||||
val initialStateRegex = Regex("""initial state: ([.#]+)""")
|
||||
return plantsToBooleanArray(lines(INPUT).filter { initialStateRegex.matches(it) }.findFirst()
|
||||
return plantsToBooleanArray(lines(DAY12_INPUT).filter { initialStateRegex.matches(it) }.findFirst()
|
||||
.map { initialStateRegex.matchEntire(it) }.get().groupValues[1])
|
||||
}
|
||||
|
||||
|
||||
239
src/main/kotlin/com/basdado/adventofcode/Day13.kt
Normal file
239
src/main/kotlin/com/basdado/adventofcode/Day13.kt
Normal file
@@ -0,0 +1,239 @@
|
||||
package com.basdado.adventofcode
|
||||
|
||||
import java.lang.IllegalStateException
|
||||
import java.util.stream.Collectors
|
||||
|
||||
const val DAY13_INPUT = "/day/13/input.txt"
|
||||
|
||||
fun main() {
|
||||
val day = Day13()
|
||||
day.puzzle1()
|
||||
day.puzzle2()
|
||||
}
|
||||
|
||||
class Day13 {
|
||||
|
||||
fun puzzle1() {
|
||||
|
||||
val input = getInput()
|
||||
val tracks = parseTracks(input)
|
||||
val carts = parseCarts(input)
|
||||
|
||||
var i = 0
|
||||
var tick = 0
|
||||
var sortedCarts = carts.stream().sorted(Comparator.comparing { c: Cart -> c.y }.thenComparing{ c: Cart -> c.x }).collect(Collectors.toList())
|
||||
|
||||
while(colliding(carts) == null) {
|
||||
|
||||
carts[i].move(tracks, tick)
|
||||
|
||||
i++
|
||||
if (i >= sortedCarts.size) {
|
||||
|
||||
// println("Tick $tick")
|
||||
// printTracksAndCarts(tracks, carts)
|
||||
|
||||
tick++
|
||||
sortedCarts = carts.stream().sorted(Comparator.comparing { c: Cart -> c.y }.thenComparing{ c: Cart -> c.x }).collect(Collectors.toList())
|
||||
i = 0
|
||||
}
|
||||
}
|
||||
println(colliding(carts))
|
||||
}
|
||||
|
||||
private fun getInput(): List<String> {
|
||||
val rawInput = lines(DAY13_INPUT).collect(Collectors.toList())
|
||||
val lineLength = rawInput.map { it.length }.max()!!
|
||||
return rawInput.map { it + " ".repeat(lineLength - it.length) }
|
||||
}
|
||||
|
||||
fun puzzle2() {
|
||||
|
||||
val input = getInput()
|
||||
val tracks = parseTracks(input)
|
||||
val carts = parseCarts(input).toMutableList()
|
||||
|
||||
var i = 0
|
||||
var tick = 0
|
||||
var sortedCarts = carts.stream().sorted(Comparator.comparing { c: Cart -> c.y }.thenComparing{ c: Cart -> c.x }).collect(Collectors.toList())
|
||||
|
||||
while(sortedCarts.size > 1) {
|
||||
|
||||
sortedCarts[i].move(tracks, tick)
|
||||
|
||||
val collision = colliding(sortedCarts)
|
||||
if(collision != null) {
|
||||
sortedCarts.removeIf { c -> c.position() == collision }
|
||||
i -= 2
|
||||
}
|
||||
|
||||
i++
|
||||
if (i >= sortedCarts.size) {
|
||||
|
||||
// println("Tick $tick")
|
||||
// printTracksAndCarts(tracks, carts)
|
||||
|
||||
tick++
|
||||
sortedCarts = sortedCarts.stream().sorted(Comparator.comparing { c: Cart -> c.y }.thenComparing{ c: Cart -> c.x }).collect(Collectors.toList())
|
||||
i = 0
|
||||
}
|
||||
}
|
||||
println(sortedCarts[0].position())
|
||||
}
|
||||
|
||||
private fun parseCarts(input: List<String>): List<Cart> {
|
||||
val carts = (0 until input.size).map { y ->
|
||||
(0 until input[y].length)
|
||||
.filter { x -> "v^<>".contains(input[y][x]) }
|
||||
.map { x ->
|
||||
Cart(
|
||||
x, y, when (input[y][x]) {
|
||||
'v' -> Direction.DOWN
|
||||
'^' -> Direction.UP
|
||||
'<' -> Direction.LEFT
|
||||
'>' -> Direction.RIGHT
|
||||
else -> throw IllegalStateException("Not a valid card")
|
||||
}
|
||||
)
|
||||
}
|
||||
}.flatten()
|
||||
return carts
|
||||
}
|
||||
|
||||
private fun parseTracks(input: List<String>): Array<Array<TrackPart?>> {
|
||||
val tracks = input
|
||||
.map { line ->
|
||||
line.chars().mapToObj { trackPart(it.toChar()) }.toArray { n -> Array<TrackPart?>(n) { null } }
|
||||
}
|
||||
.toTypedArray()
|
||||
return tracks
|
||||
}
|
||||
|
||||
fun printTracksAndCarts(tracks: Array<Array<TrackPart?>>, carts: List<Cart>) {
|
||||
|
||||
(0 until tracks.size).forEach { y ->
|
||||
(0 until tracks[y].size).forEach { x ->
|
||||
val track = tracks[y][x]
|
||||
val cart = carts.find { it.x == x && it.y == y }
|
||||
when {
|
||||
cart != null -> print(cart.direction.char)
|
||||
track != null -> print(track.char)
|
||||
else -> print(" ")
|
||||
}
|
||||
}
|
||||
println()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun trackPart(char: Char): TrackPart? {
|
||||
return if (char == 'v' || char == '^') {
|
||||
TrackPart.VERTICAL
|
||||
} else if (char == '<' || char == '>') {
|
||||
TrackPart.HORIZONTAL
|
||||
} else {
|
||||
TrackPart.values().find { tp -> tp.char == char }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the position of colliding carts (if any) or null otherwise
|
||||
*/
|
||||
fun colliding(carts: List<Cart>): Vector2? {
|
||||
|
||||
val positions = mutableSetOf<Vector2>()
|
||||
for (cart in carts) {
|
||||
val pos = cart.position()
|
||||
if (!positions.contains(pos )) {
|
||||
positions.add(pos )
|
||||
} else {
|
||||
return pos
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
|
||||
enum class TrackPart(val char: Char) {
|
||||
VERTICAL('|'), HORIZONTAL('-'), TURN_BL_TR('/'), TURN_BR_TL('\\'), INTERSECTION('+')
|
||||
}
|
||||
|
||||
enum class Direction(val char: kotlin.Char) {
|
||||
UP('^'), DOWN('v'), LEFT('<'), RIGHT('>');
|
||||
|
||||
fun turnLeft(): Direction =
|
||||
when(this) {
|
||||
UP -> LEFT
|
||||
DOWN -> RIGHT
|
||||
LEFT -> DOWN
|
||||
RIGHT -> UP
|
||||
}
|
||||
|
||||
fun turnRight(): Direction =
|
||||
when(this) {
|
||||
UP -> RIGHT
|
||||
DOWN -> LEFT
|
||||
LEFT -> UP
|
||||
RIGHT -> DOWN
|
||||
}
|
||||
}
|
||||
|
||||
enum class Turn {
|
||||
RIGHT, LEFT, NONE
|
||||
}
|
||||
|
||||
data class Vector2(val x: Int, val y: Int)
|
||||
|
||||
class Cart(var x: Int, var y: Int, var direction: Direction, var lastIntersectionTurn: Turn = Turn.RIGHT, var lastMoveTick: Int = -1) {
|
||||
fun position() = Vector2(x, y)
|
||||
|
||||
fun move(tracks: Array<Array<TrackPart?>>, tick: Int): Boolean {
|
||||
|
||||
if (lastMoveTick == tick) {
|
||||
return false
|
||||
}
|
||||
|
||||
when(direction) {
|
||||
Direction.UP -> y--
|
||||
Direction.DOWN -> y++
|
||||
Direction.LEFT -> x--
|
||||
Direction.RIGHT -> x++
|
||||
}
|
||||
|
||||
direction = when (tracks[y][x]) {
|
||||
TrackPart.TURN_BL_TR -> when(direction) {
|
||||
Direction.UP -> Direction.RIGHT
|
||||
Direction.DOWN -> Direction.LEFT
|
||||
Direction.RIGHT -> Direction.UP
|
||||
Direction.LEFT -> Direction.DOWN
|
||||
}
|
||||
TrackPart.TURN_BR_TL -> when(direction) {
|
||||
Direction.UP -> Direction.LEFT
|
||||
Direction.DOWN -> Direction.RIGHT
|
||||
Direction.RIGHT -> Direction.DOWN
|
||||
Direction.LEFT -> Direction.UP
|
||||
}
|
||||
TrackPart.INTERSECTION -> when(lastIntersectionTurn) {
|
||||
Turn.RIGHT -> {
|
||||
lastIntersectionTurn = Turn.LEFT
|
||||
direction.turnLeft()
|
||||
}
|
||||
Turn.LEFT -> {
|
||||
lastIntersectionTurn = Turn.NONE
|
||||
direction
|
||||
}
|
||||
Turn.NONE -> {
|
||||
lastIntersectionTurn = Turn.RIGHT
|
||||
direction.turnRight()
|
||||
}
|
||||
}
|
||||
null -> throw IllegalStateException("Card got of track!!")
|
||||
else -> direction
|
||||
}
|
||||
|
||||
lastMoveTick = tick
|
||||
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
6
src/main/resources/day/13/example.txt
Normal file
6
src/main/resources/day/13/example.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
/->-\
|
||||
| | /----\
|
||||
| /-+--+-\ |
|
||||
| | | | v |
|
||||
\-+-/ \-+--/
|
||||
\------/
|
||||
150
src/main/resources/day/13/input.txt
Normal file
150
src/main/resources/day/13/input.txt
Normal file
@@ -0,0 +1,150 @@
|
||||
/---------\ /-------------------------------\
|
||||
/-+---------+------------------------------\ | |
|
||||
| | |/-----------------------------+------------------------------+-------------------------------+--------------\
|
||||
| | || /------------------------+------------------------------+-\ | |
|
||||
| | || | /------------------+------------------------------+-+-----------------------------+------------\ |
|
||||
/-----+-+---------++----+-----+------------------+------------------------------+-+\ /--+------------+-+------\
|
||||
| | | ||/---+-----+------------------+------------------------------+-++-------------------------+--+-\ | | |
|
||||
/---------+-----+-+---------+++---+-----+------\ | | || | | | | | |
|
||||
| | | | /----+++---+-----+------+-----------+------------------------------+-++-------------------------+--+-+\ | | |
|
||||
| | | | | ||| /-+-----+------+-----------+---------------\ /---+-++-------------------------+--+-++---\ | | |
|
||||
| /-+-----+-+----+----+++-+-+-----+------+-----------+---------\ | | | || | | || | | | |
|
||||
| | | | | | ||| | | | | | /--+-----+----------+---+-++-------------------------+--+-++---+-----+-+--\ |
|
||||
| | | /---+-+----+----+++-+-+-----+------+-----------+------+--+-----+----------+\ | || /----------------+--+\|| | | | | |
|
||||
| | | | | | | ||| | | | | | | | | || | || | | |||| | | | | |
|
||||
| | | | | | | ||| | | | | | /-+--+-----+----------++--+-++---\ | | |||| | | | | |
|
||||
| | | | | | | ||| | | | | |/---+-+--+-----+----------++--+-++---+----+-------\ \--++++---+-----+-+--+---/
|
||||
/+-------+-+-+---+-+----+----+++\| | | | /++---+-+--+-----+----------++--+-++---+----+-------+-----------++++--\| | | |
|
||||
/++-------+-+-+---+-+----+----+++++-+-----+------+----------+++-\ | | | | || | || | | | |||| || | | |
|
||||
||| | | | /-+-+----+----+++++-+-----+------+----------+++-+-+-+-\| | || | || | | | |||| || | | |
|
||||
||| | | | | ^ | | ||||| | | | /-----+++-+-+-+-++\ |/---------++--+-++---+----+-------+-----------++++--++----\| | |
|
||||
||| | | | | | | | ||||| | | | | ||| | | | ||| || || | || | | |/----------++++--++-\ || ^ |
|
||||
||| | | | | \-+----+----+++++-+-----+------+----+-----+/| | | | ||| || /------++--+-++\ | | || |||| || | || | |
|
||||
||| /-+-+-+-+---+--\ | ||||| | | | | | | | | | ||| || | /-++--+-+++--+----+-------++----------++++--++-+--++-+--+----\
|
||||
||| | | | | | | | | ||||| | | | /--+-----+-+-+-+-+-+++----++--+----+-++--+-+++--+----+-------++----------++++--++-+--++-+--+--\ |
|
||||
||| | | | | | |/-+-+----+++++-+-----+------+-+--+----\| | | | | ||| || | | || /+-+++--+----+--\ || |||| || | || | | | |
|
||||
||| | | | | | /++-+-+----+++++-+-----+------+-+--+----++-+-+-+-+-+++----++--+----+-++-++-+++--+---\| | || |||| || | || | | | |
|
||||
||| | | | | | ||| | | ||||| | | | | | || | | | \-+++----++--+----+-++-++-+++--+---++--+----++----------++++--++-+--++-+--/ | |
|
||||
||| | | | | | ||| | | ||||| | /--+------+-+--+----++-+-+-+---+++----++--+----+-++-++-+++--+---++--+----++----------++++--++-+\ || | | |
|
||||
||| | | | | | ||| | | ||||| |/-+--+------+-+--+----++-+-+-+---+++----++--+----+-++\|| ||| | || | || |||| || || || | | |
|
||||
/-+++-----+-+-+-+-+--+++-+-+----+++++-++-+--+------+-+--+----++-+-+-+---+++----++--+--\ | ||||| ||| | || | || |||| || || || | | |
|
||||
| ||| v | | | | ||| | | ||||| || | | | | | || |/+-+---+++----++--+--+-+-+++++-+++-\| || | || |||| || || || | | |
|
||||
| ||| | | | | | ||| | | ||||| || | | | | | || ||| | ||| || | | | \++++-+++-++---++--+----++----------++++--+/ || || | | |
|
||||
| |\+-----+-+-+-+-+--+++-+-+----+++/| || | | | | | ||/+++-+---+++----++--+--+-+--++++-+++-++---++--+----++----------++++--+--++-++-+-----+\|
|
||||
| | | | | | | | ||| | | ||| | || | | /--+-+--+----++++++-+---+++----++--+--+-+--++++-+++-++---++--+----++\ |||| | || || | |||
|
||||
| | | | | | | | ||| | | ||| | || | |/--+--+-+--+----++++++-+---+++----++--+--+-+--++++-+++-++---++--+----+++--\ |||| | || || | |||
|
||||
| | | | | | | | ||| | | ||\-+-++-+--++--+--+-+--+----++++++-+---+++----++--+--+-+--++++-+++-++---++--+----+++--+------++/| | || || | |||
|
||||
| | | |/+-+-+-+--+++-+-+----++--+-++-+-\|| | | | | |||||| | ||| || | | | |||| ||| || || | ||| | || | | || || | |||
|
||||
| | | ||| | | | ||| | | || | || | ||| | | | |/---++++++-+---+++----++--+--+-+--++++-+++-++---++--+----+++--+------++-+--+--++<++-+--\ |||
|
||||
| | | ||| | | | ||| | | || | || | ||| | | | || |||||| | ||| || | | | |||| ||| || || | ||| | || | | || || | | |||
|
||||
| | | ||| | | | ||| | | || | || | ||| /+--+-+--++---++++++\| ||| /++--+--+-+--++++\||| || || | ||| | || | | || || | | |||
|
||||
| | | ||| | | | ||| | | || | ||/+-+++-++--+-+--++---++++++++---+++---+++--+--+-+--++++++++-++---++--+\ ||| | || | | || || | | |||
|
||||
| | | ||| | | | ||| |/+----++--+-++++-+++-++--+-+--++---++++++++---+++---+++\ | | | |||||||| || || || /+++--+--\ || | | || || | | |||
|
||||
| | | /+++-+-+-+--+++-+++----++--+-++++-+++-++--+\| || |||||||| ||| |||| | | | |||||||| || /-++--++--++++--+--+---++-+--+\ || || | | |||
|
||||
| | | |||| | \-+--+++-+++----++--+-++++-+++-++--+++--++---++++++++---+++---++++-+--+-+--/||||||| || | || || |||| | | || | || || || | | |||
|
||||
| | | |||| | | ||| ||| || | |||| ||| || ||| || |||||||| ||| |||| | | | ||||||| || | || || |||| | | || | || || || | | |||
|
||||
\-+-+----++++-+---+--+++-+++----++--+-++++-+++-++--+++--++---++++++++---+++---++++-+--/ | ||||||| || | || || |||| | | || | || || || | | |||
|
||||
| | |||| | | ||| ||| |\--+-++++-+++-++--+++--++---++++++++---+++---++++-+----+---+++++++-++-+-++--++--++++--+--+---++-+--++-++-++-/ | |||
|
||||
| | |||| | | ||| ||| | /+-++++-+++-++--+++--++---++++++++---+++---++++-+----+---+++++++-++-+-++--++--++++--+--+---++-+-\|| || || | |||
|
||||
| | |||| | | ||| ||| | || |||| ||| || ||| || |||||||| ||| |||| |/---+---+++++++-++-+-++--++--++++--+--+-\ || | ||| || || | |||
|
||||
| | /-++++-+--\| ||| ||| | || |||| ||| \+--+++--++---++++++/| ||| /-++++-++---+---+++++++-++-+-++--++--++++--+--+-+-++-+-+++-++-++---\| |||
|
||||
| | | |||| | || ||| ||| | || |||| ||| | ||| || |||||| | /+++-+-++++-++---+---+++++++-++-+-++--++--++++--+--+-+-++-+-+++-++-++--\|| |||
|
||||
| | | |||| | /++--+++-+++----+--++-++++-+++--+--+++--++---++++++-+--++++-+-++++-++---+---+++++++-++-+-++--++\ |||| | | | || | ||| || || ||| |||
|
||||
| | | ||||/+-+++--+++-+++----+--++-++++-+++--+--+++--++---++++++\| |||| | |||| || /-+---+++++++-++\| || ||| |||| | | | || | ||| || || ||| |||
|
||||
| | | |||||| ||| ||| ||| | || |||| ||| | |||/-++---++++++++--++++-+-++++-++\| | ||||||| |||| || ||| |||| | | | || | ||| || || ||| |||
|
||||
| | | |||||| ||| ||| ||| | || |||| |\+--+--++++-++---++++++++--++++-+-++++-++++-+---+++++++-++++-++--+++-++++--+--+-+-++-+-+++-++-+/ ||| |||
|
||||
\-+--+-++++++-+++--+++-+++----+--++-++++-+-+--+--++++-++---+++++/|| |||| | \+++-++++-+---+++/||| |||| || ||| |||| | | | || | ||| || | ||| |||
|
||||
| | |||||| ||| ||| ||| | || |||| | | | ||||/++---+++++-++--++++-+--+++-++++-+---+++-+++-++++-++--+++-++++--+--+-+-++\| ||| || | ||| |||
|
||||
| | |||||| ||| ||| ||| | || |||| | | | ||||||| ||||| || |||| | ||| |||| | ||| ||| |||| || ||| |||| | | | |||| ||| || | ||| |||
|
||||
| | |||||| ||| |||/+++----+--++-++++-+-+--+--+++++++---+++++-++--++++-+--+++-++++-+---+++\||| |||| || |||/++++--+--+-+-++++-+++-++-+---+++\ |||
|
||||
| | |||||| ||| ||||||| | || |||| | | | ||||||| ||||| || |||| | ||| |||| | ||||||| |||| || |||||||| | | | |||| ||| || | |||| |||
|
||||
| | |\++++-+++--++++/|| | || |||| | | | /+++++++---+++++-++--++++-+--+++-++++-+---+++++++-++++-++--++++++++\ | | | |||| ||| || | |||| |||
|
||||
| | | |||| ||| |||| || | || |||| | | | |||||||| ||||| || |||| | ||| |||| | ||||||| |||| ||/-+++++++++-+--+-+-++++-+++-++-+-\ ||^| |||
|
||||
| | | |||| \++--++++-++----+--++-++++-+-+--+-++++++++---+++++-++--++++-+--+++-++++>+---+++++++-++++-+++-++/|||||| | | | |||| ||| || | | |||| |||
|
||||
/--+--+-+-++++--++-\|||| || | || |||| | | | |||||||| ||||| || |||| | ||| |||| | ||||||| |||| ||| || |||||| | | | |||| ||| || | | |||| |||
|
||||
| | | | |||| ^| ||||| || | ||/++++-+-+--+-++++++++---+++++-++-\|||| | ||| |||| | |||||||/++++-+++-++-++++++-+--+-+-++++-+++-++-+-+\|||| |||
|
||||
| | | | |||| || ||||| || | ||||||| | | | |||||||| ||||| |\-+++++-+--+++-++++-+---+++++++++/|| ||| || |||||| | | | |||| ||| || | |||||| |||
|
||||
| | | | |||| || ||||| || | ||||||| | | | |||||||\---+++++-+--+++++-+--+++-++++-+---+++++++++-++-+++-++-++++++-+--+-+-++++-+++-++-+-++++/| |||
|
||||
| | | | |||| || ||||| || | ||||||| | | | ||||||| ||||| | ||||| | ||| |||| | ||||||||| || ||| || |||||| | | | |||| ||| || | |||| | |||
|
||||
| | | | v||| |\-+++++-++----+--+++++++-+-+--+-+++++++----+++++-+--++/|| \--+++-++++-+---+++++++++-++-+++-++-++++++-+--+-+-++++-+++-++-+-+++/ | |||
|
||||
| | | | |||| | ||||| || | ||||||| | | /+-+++++++----+++++-+--++-++----+++-++++-+---+++++++++-++-+++-++-++++++-+--+-+-++++-+++-++-+-+++--+\|||
|
||||
| | /+-+-++++--+-\||||| || | ||||||| | | ||/+++++++----+++++-+--++-++----+++-++++-+---+++++++++-++-+++-++-++++++\| | | |||| ||| || | ||| |||||
|
||||
| | || | |||| | |||||| || /--+--+++++++-+-+-++++++++++----+++++-+--++-++----+++-++++-+--\||||||||| || ||| || |||||||| | | |||| ||| || | ||| |||||
|
||||
| | || | \+++--+-++++++-++-+--+--+++++++-/ | |||||||||| |||||/+--++-++----+++-++++-+--++++++++++-++-+++-++-++++++++\/+-+-++++-+++-++-+\||| |||||
|
||||
| | || | \++--+-++++++-++-+--+--+++++++---+-++++++++++----+++++++--++-/| ||| |||| | |||||||||| || ||| || ||||||||||| | |||| ||| || ||||| |||||
|
||||
| v || | || | |||||| || | | ||||||| | |||||||||| ||\++++--++--+----+++>++++-+--++++++++++-++-+++-++-+++++++++++-+-++++-+++-++-+++++--+++/|
|
||||
| | ||/+---++--+-++++++-++-+--+--+++++++---+-++++++++++----++-++++--++--+----+++-++++-+\ |||||||||| || ||| || ||||||||||| | |||| ||| || ||||| ||| |
|
||||
| | |||| || | ||||\+-++-+--+--+++++++---+-++++++++++----/| |||| || | ||| ||||/++-++++++++++-++-+++-++-+++++++++++\| |||| ||| || ||||| ||| |
|
||||
| | |||| || | |||| | || | | ||||||| | |||||||||| | ||||/-++--+----+++-+++++++-++++++++++\|| ||| || ||||||||||||| |||| ||| || ||||| ||| |
|
||||
| | |||| || /+-++++-+-++-+--+--+++++++---+-++++++++++-----+-+++++-++\ | ||| ||||||| ||||||||||||| ||| || ||||||||||||| |||| ||| || ||||| ||| |
|
||||
| | |||| || || |||| | || | | ||||||| | |||||||||| | ||||| ||| | ||| ||||||| ||\++++++++++-+++-/| ||||||||||||| |||| ||| || ||||| ||| |
|
||||
| | |||| || || |||| | || | | ||||||| | |||||||||| | ||||| |||/+----+++-+++++++-++-++++++++++-+++--+-+++++++++++++-++++-+++\|| ||||| ||| |
|
||||
| | |||| || || |||| | || | | |||||||/--+-++++++++++-----+-+++++-+++++----+++-+++++++-++-++++++++++-+++\ | ||||||||||||| |||| |||||| ||||| ||| |
|
||||
| | |||| \+-++-++++-+-++-+--+--++++++++--+-++++++++++-----+-+++/| ||||| ||| ||||||| || |||||||||| |||| | ||||||||||||| |||| |||||| ||||| ||| |
|
||||
| | |||| | || |||| | || | | |\++++++--+-++++++++++-----+-+++-+-+++++----/|| ||||||| || \+++++++++-++++-+-+++++++++++++-/||| |||||| ||||| ||| |
|
||||
| | |||| | || |||| | || | | | |||||| | |||||||||| | ||| | |\+++-----++-+++++++-++--+++++++++-++++-+-+++++++++++++--+++-++++++-++++/ ||| |
|
||||
| | |||| | || |||| | || | | | |||||| | |||||||||\-----+-+++-+-+-++/ || ||||||| || |||||||||/++++-+-+++++++++++++\ ||| |||||| |||| ||| |
|
||||
| | |||| | || |||| | || | | | |||||| | ||||||||| | ||| | | || || ||||||| || |||||||||||||| | |||||||||||||| ||| |||||| |||| ||| |
|
||||
| | |||| | || |||| | || | | | |||||| | ||||||||| | ||| |/+-++-----\|| ||||||| || |||||||||||||| | |||||||||||||| ||| |||||| |||| ||| |
|
||||
| | |||| /--+-++-++++-+-++-+--+--+\|||||| | ||||||||| | ||| ||| || ||| ||||||| v| |||||||||||||| | |||\++++++++++-+++-++++/| |||| ||| |
|
||||
| | |||| | | \+-++++-+-++-+--+--++++++++--+-+++++++++------+-+++-+++-/| ||| ||||||| || ||||||||||||||/+-+++-++++++++++-+++-++++-+-++++--\||| |
|
||||
| | |||| | | | |||| | || | | |||\++++--+-+++++++++------+-+++-+++--+-----+++-+++++++-++--+/|||||||||||||| ||| ||||||||||/+++-++++-+-++++-\|||| |
|
||||
| | |||| | | | |||\-+-++-+--/ ||| |||\--+-+++++++++------+-+++-+++--+-----+++-+++++++-++--+-+++++++++++/|| |\+-++++++/||||||| |||| | |||| ||||| |
|
||||
| | |||| | | | ||| | || | ||| ||| | ||||||||| | |\+-+++--+-----+++-+++++++-++--+-+++/||||||| || | | |||||| ||||||| |||| | |||| ||||| |
|
||||
|/-+-++++-+-\| | ||| | || | ||| ||| | ||||||||| | | | ||| | ||| ||||||| || | ||| ||||||| || | | |||||| ||||||| |||| | |||| ||||| |
|
||||
|| | |||| | || | ||| | || | ||| ||| | |||||||\+------+-+-+-+++--+-----+++-++/||\+-++--+-+++-+++++++-++-+-+-++++++-+++++++-++++-+-++++-+++++-/
|
||||
|| | |||| | || | ||| | || | ||| ||| /+-+++++++-+-----\| | | ||| | ||| || ||/+-++--+-+++-+++++++-++-+\| |||||| ||||||| |||| | |||| |||||
|
||||
|| | |||| | || | ||| | || | ||| ||| || ||||||| | || | | ||| | |\+-++-++++-++--+-+++-+++++++-++-+++-++++++-+++++++-++++-+-/||| |||||
|
||||
|| | |||| | |\--+-+++--+-++-+-----+++-+++--++-+++++++-+-----++-+-+-+++--+-----+-+-++-++++-++--+-/|| ||||||| || ||| |||||| ||||||| |||| | ||| |||||
|
||||
|| | |||| | | | ||| | || | ||| ||| || ||\++++-+-----++-+-+-+++--+-----+-+-++-++++-++--+--++-+++++++-++-+++-++/||| ||||||| |||| | ||| |||||
|
||||
|| | |||| | | | ||| | || |/----+++-+++\ || || |||| | || | | ||| | | | || |||| || | || |||||\+-++-+++-++-+++-++++/|| |||| | ||| |||||
|
||||
|| |/++++-+-+---+-+++--+-++-++----+++-++++-++-++-++++-+-----++-+-+-+++--+-\ | | || \+++-++<-+--++-+/||| | || ||| || ||| |||| || |||| | ||| |||||
|
||||
|| |||||| | | | ||| | || || ||| |||| || || |||| | || | | ||| | | | | || ||| || | || | ||| | || ||| || ||| |||| || |||| | ||| |||||
|
||||
|| |||||| | | | ||| | |\-++----+++-++++-++-++-++++-+-----++-+-+-+++--+-+---+-+-++--+++-++--+--++-+-+++-+-++-+++-++-+++-++++-+/ |||| | ||| |||||
|
||||
|| ||||||/+-+---+-+++\ | | || /-+++-++++-++-++-++++-+----\|| | | ||| | | | | || ||| || | || | ||| | || ||| || ||| |||| | |||| | ||| |||||
|
||||
|| |||||||| | | |||| | | || | ||| |||| |\-++-++++-+----+++-+-+-+++--+-+---+-+-++--+++-++--+--++-+-+++-+-++-+++-++-/|| |||| | |||| | ||| |||||
|
||||
|| |||||||| | | |||| | | || | ||| |||| | || \+++-+----+++-+-+-+++--+-+---+-+-++--+++-++--+--++-+-+++-+-++-+++-+/ || |||| | |||| | ||| |||||
|
||||
|| |||||||| | | |||| | | || | ||| |||| | || ||| |/---+++-+<+\||| | | |/+-++--+++-++--+--++-+-+++-+-++-+++-+-\ || |||| | |||| | ||| |||||
|
||||
|| |||||||| | | |||| | | || | ||| |||| | || ||| || ||| | ||||| | | ||| || ||| || | || | ||| | || ||| | | || |||| | |||| | ||| |||||
|
||||
|| |||||||| | | |||| | | || | ||| |||| | || ||| || ||| | ||||| | | ||| || ||| || | || | ||| \-++-+++-+-+-++-++++-+--++++-+--+/| |||||
|
||||
|| \+++++++-+---+-++++-+-+--++--+-+++-++++-+--++--/|| || ||| | ||||| | | ||| || \++-++--+--++-+-+++---++-+++-+-+-++-/||| | /++++-+--+-+-+++++-\
|
||||
|| ||||||| | | |||| | | || | ||| |\++-+--++---++-++---+++-+-+++++--+-+---+++-++---++-++--+--++-+-+++---+/ ||| | | || ||| | ||||| | | | ||||| |
|
||||
|| |||||||/+---+-++++-+-+--++--+-+++-+-++-+--++---++-++---+++-+-+++++--+-+---+++-++---++-++-\| || | ||| | ||| | | || ||| | ||||| | | | ||||| |
|
||||
|| ||||||||| | |||| | | || | ||| | || | || ^| || /-+++-+-+++++--+-+-\ ||| || || || || || | ||| /-+--+++-+-+-++--+++-+-+++++-+-\| | ||||| |
|
||||
|| ||||||||| | |||| | | || | ||| | || | || || || | ||| | ||||| | | | ||| || || || || || | ||| | | ||| | | || ||| | ||||| | || | ||||| |
|
||||
|| ||\++++++---/ |||| | | || | ||| | || | || || || | ||| \-+++++--+-+-+-+++-++---++-++-++--++-+-+++-+-+--++/ | | || ||| | ||||| | || | ||v|| |
|
||||
|| || |||||| ||\+-+-+--++--+-+++-+-++-+--++---++-++-+-+++---+++++--+-+-+-+++-++---++-++-++--++-+-++/ | | || | | || ||| | ||||| | || | ||||| |
|
||||
|| || |||||| || | | | || | ||| | || | || || |\-+-+++---+/||| | | | ||| |\---++-++-++--++-+-++--+-+--++--+-+-++--/|| | ||||| | || | ||||| |
|
||||
|| || |||||| || | | | || | ||| | || | /++---++-+--+-+++---+-+++--+-+-+-+++\| || || || || | || | | || | | || || | ||||| | || | ||||| |
|
||||
|| || |||||| || | | | || | ||| | || | ||| || | | ||| | |\+--+-+-+-/|||| || || || || | || | \--++--+-+-++---++-+-+++++-+-++-+-+/||| |
|
||||
|| \+-++++++-----++-+-+-+--++--+-+++-+-++-+-+++---++-+--+-+++---+-+-+--+-/ | |||| || || || || | || | || | | || || | ||||| | || | | ||| |
|
||||
|| | |||||| || | | | || | ||| | || | ||| || | | ||| | | | | | |||| \+-++-++--++-+-++--+----+/ | | || || | ||||| | || | | ||| |
|
||||
|| | |||||| || | | | || | ||| | || | ||| || | | ||\---+-+-+--+---+--++++-----+-++-++--++-+-++--+----+---+-+-++---++-+-++/|| | || | | ||| |
|
||||
|| \-++++++-----/| | | | || | ||| | || | ||| || | | || | | | | | |||| | || || || | || | | | | |\---++-+-++-++-+-+/ | | ||| |
|
||||
|| |||||| | | | | || | ||| | || | ||| || | | || | | | | | |||| | || || || | || | | | | | || | || || | | | | ||| |
|
||||
/++-----++++++------+-+-+-+--++--+-+++-+-++-+-+++---++-+--+\|| | | | | | |||| | || || || | || | | | | | || | || || | | | | ||| |
|
||||
||| |||||| | | | | || | ||| \-++-+-+++---++-+--++++----+-+-+--+---+--++++-----+-+/ || || | || | | | | | || | || || | | | | ||| |
|
||||
||| |||||| | | | | || /+-+++---++-+-+++---++-+--++++---\| | | | | |||| | | || |\-+-++--+----+---+-+-+----++-+-++-++-+-+--/ | ||| |
|
||||
||| /-++++++------+-+-+-+-\|| || ||| || | ||| || | |||| || | | | | |||\-----+-+--++--/ | || | | | | | || | || || | | | ||| |
|
||||
||| | |||||| | | | | ||| || ||| \+-+-+++---++-+--++++---++-+-+--+---+--+++------+-+--++-----+-++--+<---+---+-+-+----++-+-++-++-/ | | ||| |
|
||||
||| | |||||| | | | | ||| || ||| | | ||| || | |||| || | | \---+--+++------+-+--++-----+-++--+----+---+-+-+----++-+-++-+/ | | ||| |
|
||||
||| | |||||| | | | \-+++-++-+++----+-+-+++---++-+--++++---++-+-+------+--+/| | | || | \+--+----+---+-+-+----++-+-++-/ | | ||| |
|
||||
||| | |||||| | | | ||\-++-+++----/ | ||| |\-+--++++---++-+-+------+--+-+------+-+--++-----+--+--+---<+---+-+-+----++-+-++------+----+-++/ |
|
||||
||| | |||||| | | | || || \++------+-+++---+--+--++++---++-+-+------+--+-+------+-+--++-----+--+--+----+---+-+-+----++-+-+/ | | || |
|
||||
||| | |||||| | | | || || || \-+++---+--+--+++/ ||/+-+------+--+-+------+-+--++-\ | | | | | | | || | | | | || |
|
||||
||| | ||||\+------+-+-+---++--++--++--------+++---+--+--+++----++++-+------+--+-+------+-+--/| | | | | | | | | || | | | | || |
|
||||
||| | ||\+-+------+-/ | |\--++--++--------+++---+--+--+++----++++-+------+--+-+------+-/ | | | | | | | | | || | | | | || |
|
||||
||| | \+-+-+------+---+---+---++--++--------+++---+--+--+++----++++-+------+--+-+------/ | | | | | \---+-+-+----++-+-+-------+----+-/| |
|
||||
||| | | | | | | | || || ||| | | \++----++++-+------/ | | | | | \--+--------+-+-+----/| | | | | | |
|
||||
|\+---+--+-+-+------/ | | \+--++--------+++---+--+---++----/||| | | | | | | \--------+-+-+-----+-+-+-------/ | | |
|
||||
| | | | \-+----------+---+----+--/| ||| | | || ||| | | | | | | | | | | | | | | |
|
||||
| | | | | \---+----+---+--------+++---+--+---++-----+++-+---------+-+------------/ | | | | | | | | | | |
|
||||
| \---+--+---/ | | | ||\---+--+---++-----+++-+---------+-+--------------+---+--------------/ | | \-+-+------------/ | |
|
||||
| | | | | \--------++----+--+---++-----+++-/ \-+--------------+---+----------------/ | | | | |
|
||||
| | | | \------------++----+--+---+/ |\+-------------+--------------/ | | | | | |
|
||||
\-----+--+------------------+-----------------++----+--+---/ \-+-------------+------------------+------------------/ | | | |
|
||||
| \------------------+-----------------++----/ | | | | | \---------------+--/
|
||||
| | || | \-------------+------------------/ | |
|
||||
| | || \--------------------------+---------------------------------------------/ |
|
||||
| | |\----------------------------------+---------------------------------------------------------------/
|
||||
\---------------------/ \-----------------------------------/
|
||||
Reference in New Issue
Block a user