Compare commits
54 Commits
4872056127
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d9dc696a8 | ||
|
|
9654c59bfd | ||
|
|
65b220007e | ||
|
|
3515ad8d11 | ||
|
|
76367959ae | ||
|
|
3c6824e070 | ||
|
|
d1079b00b2 | ||
|
|
843bfcb2c3 | ||
|
|
6db15ba9af | ||
|
|
58710aca7a | ||
|
|
cdf14fdada | ||
|
|
4e20f541f9 | ||
|
|
57852ccfc1 | ||
|
|
0198ead034 | ||
|
|
71804973b0 | ||
|
|
e435a7b160 | ||
|
|
f703a5f028 | ||
|
|
51b49018e4 | ||
|
|
558b9f33be | ||
|
|
7bd424d1f9 | ||
|
|
10d9d3452f | ||
|
|
38927a7889 | ||
|
|
54c29d49bf | ||
|
|
2aadf58582 | ||
|
|
9593204edb | ||
|
|
c9d89a2b7e | ||
|
|
b00c5c369e | ||
|
|
2f960f83eb | ||
|
|
ca68f92433 | ||
|
|
87b67449b2 | ||
|
|
1715e821fb | ||
|
|
ca5831b022 | ||
|
|
9e2aca403f | ||
|
|
4c675c3ffe | ||
|
|
eee695007d | ||
|
|
24e925c27d | ||
|
|
df56303309 | ||
|
|
ad594016cd | ||
|
|
a7ee9bd981 | ||
|
|
1d14e2f2b5 | ||
|
|
66575c4320 | ||
|
|
7c4328ca42 | ||
|
|
4f94a48bbe | ||
|
|
82c7c9fdd9 | ||
|
|
67e5c84398 | ||
|
|
c0167d1bfe | ||
|
|
d4dd6e8f8b | ||
|
|
bba977d231 | ||
|
|
74384ddd69 | ||
|
|
981e1aaa3c | ||
|
|
d056580a87 | ||
|
|
4445e63329 | ||
|
|
94eb34f386 | ||
|
|
24936839a5 |
@@ -4,8 +4,8 @@ language: "scala"
|
||||
dockerfile: "Dockerfile"
|
||||
code: "/code"
|
||||
workdir: "/code"
|
||||
runonce: "./mill aoc.assembly"
|
||||
cmd: "java -jar ./out/aoc/assembly.dest/out.jar %day% %input%"
|
||||
runonce: "./mill aoc.nativeImage"
|
||||
cmd: "./out/aoc/nativeImage.dest/aoc %day% %input%"
|
||||
environment:
|
||||
- AOC_BENCH=1
|
||||
daypath: "aoc/src/dev/ctsk/aoc/days/Day%dayzero%.scala"
|
||||
|
||||
12
Dockerfile
12
Dockerfile
@@ -1,9 +1,15 @@
|
||||
FROM eclipse-temurin:23-jdk-alpine
|
||||
FROM eclipse-temurin:23-jdk
|
||||
|
||||
RUN apk add curl
|
||||
RUN apt-get update && apt-get install -y curl gzip build-essential libz-dev
|
||||
RUN curl -fL "https://github.com/coursier/launchers/raw/master/cs-x86_64-pc-linux.gz" | gzip -d > cs
|
||||
RUN chmod +x cs
|
||||
RUN cp cs /usr/local/bin
|
||||
RUN ./cs setup --yes
|
||||
|
||||
COPY . /build
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
RUN ./mill aoc.assembly
|
||||
RUN ./mill aoc.assembly
|
||||
|
||||
RUN ./mill aoc.nativeImage
|
||||
27
aoc/src/dev/ctsk/aoc/DisjointSets.scala
Normal file
27
aoc/src/dev/ctsk/aoc/DisjointSets.scala
Normal file
@@ -0,0 +1,27 @@
|
||||
package dev.ctsk.aoc
|
||||
|
||||
import scala.collection.mutable
|
||||
|
||||
case class DisjointSets[A](members: Seq[A]):
|
||||
private val parent = mutable.Map.from(members.zip(members))
|
||||
private val rank = mutable.Map.from(members.map(_ -> 1))
|
||||
|
||||
def joint(m1: A, m2: A): Boolean = find(m1) == find(m2)
|
||||
|
||||
def find(member: A): A =
|
||||
val up = parent(member)
|
||||
if up == member then up
|
||||
else {
|
||||
val root = find(up); parent(member) = root; root
|
||||
}
|
||||
|
||||
def union(m1: A, m2: A): Unit =
|
||||
val p1 = find(m1);
|
||||
val p2 = find(m2)
|
||||
if p1 == p2 then return
|
||||
val r1 = rank(p1);
|
||||
val r2 = rank(p2)
|
||||
r1.compare(r2) match
|
||||
case k if k < 0 => parent(p1) = p2
|
||||
case 0 => parent(p1) = p2; rank(p2) += 1
|
||||
case k if k > 0 => parent(p2) = p1
|
||||
96
aoc/src/dev/ctsk/aoc/Grid.scala
Normal file
96
aoc/src/dev/ctsk/aoc/Grid.scala
Normal file
@@ -0,0 +1,96 @@
|
||||
package dev.ctsk.aoc
|
||||
|
||||
import scala.reflect.ClassTag
|
||||
|
||||
object Point:
|
||||
def of(x: Long, y: Long): Point = Point(x.toInt, y.toInt)
|
||||
|
||||
case class Point(x: Int, y: Int):
|
||||
def +(o: Point): Point = Point(x + o.x, y + o.y)
|
||||
def -(o: Point): Point = Point(x - o.x, y - o.y)
|
||||
def *(n: Int): Point = Point(n * x, n * y)
|
||||
def reduce: Point = { val g = gcd(x.abs, y.abs); Point(x / g, y / g) }
|
||||
def manhattan: Int = x.abs + y.abs
|
||||
|
||||
val DIRS = Seq(Direction.Up, Direction.Right, Direction.Down, Direction.Left)
|
||||
|
||||
object Direction:
|
||||
def from(c: Char): Direction =
|
||||
c match
|
||||
case '>' => Direction.Right
|
||||
case '<' => Direction.Left
|
||||
case '^' => Direction.Up
|
||||
case 'v' => Direction.Down
|
||||
|
||||
enum Direction:
|
||||
case Up, Right, Down, Left
|
||||
def turnRight: Direction = Direction.fromOrdinal((ordinal + 1) % 4)
|
||||
def turnLeft: Direction = Direction.fromOrdinal((ordinal - 1 + 4) % 4)
|
||||
|
||||
def toPoint: Point =
|
||||
this match
|
||||
case Up => Point(-1, 0)
|
||||
case Right => Point(0, 1)
|
||||
case Down => Point(1, 0)
|
||||
case Left => Point(0, -1)
|
||||
|
||||
def apply(p: Point): Point = p + toPoint
|
||||
|
||||
def applyN(p: Point, n: Int): Point = p + toPoint * n
|
||||
|
||||
def flip: Direction =
|
||||
this match
|
||||
case Up => Down
|
||||
case Right => Left
|
||||
case Down => Up
|
||||
case Left => Right
|
||||
|
||||
case class Pose(pos: Point, dir: Direction):
|
||||
def turnLeft: Pose = Pose(pos, dir.turnLeft)
|
||||
def turnRight: Pose = Pose(pos, dir.turnRight)
|
||||
def step: Pose = Pose(dir(pos), dir)
|
||||
def step(n: Int): Pose = Pose(dir.applyN(pos, n), dir)
|
||||
|
||||
class Grid[A](val data: Array[Array[A]]):
|
||||
def height: Int = data.length
|
||||
|
||||
def width: Int = data(0).length
|
||||
|
||||
def apply(p: Point): Option[A] =
|
||||
if p.x < 0 | p.y < 0 | p.x >= height | p.y >= width
|
||||
then None
|
||||
else Some(data(p.x)(p.y))
|
||||
|
||||
def update(p: Point, a: A): Unit = data(p.x)(p.y) = a
|
||||
|
||||
def find(f: A => Boolean): IndexedSeq[Point] =
|
||||
for
|
||||
i <- data.indices
|
||||
j <- data(i).indices
|
||||
if f(data(i)(j))
|
||||
yield Point(i, j)
|
||||
|
||||
def findFirst(f: A => Boolean): Option[Point] =
|
||||
data.zipWithIndex.flatMap { (row, x) =>
|
||||
row.zipWithIndex.collect { case (a, y) if f(a) => Point(x, y) }
|
||||
}.headOption
|
||||
|
||||
def count(f: A => Boolean): Int = data.map(_.count(f)).sum
|
||||
|
||||
def contains(p: Point): Boolean =
|
||||
p.x >= 0 && p.y >= 0 && p.x < height && p.y < width
|
||||
|
||||
def points: Seq[Point] =
|
||||
for
|
||||
x <- data.indices
|
||||
y <- data(x).indices
|
||||
yield Point(x, y)
|
||||
|
||||
def fill(value: A): Unit =
|
||||
for
|
||||
row <- 0 until height
|
||||
col <- 0 until width
|
||||
do data(row)(col) = value
|
||||
|
||||
def sameSizeWith[B: ClassTag](value: B) =
|
||||
Grid(Array.fill(height, width)(value))
|
||||
@@ -7,21 +7,56 @@ val solvers = Map[Int, Solver](
|
||||
2 -> Day02,
|
||||
3 -> Day03,
|
||||
4 -> Day04,
|
||||
5 -> Day05
|
||||
5 -> Day05,
|
||||
6 -> Day06,
|
||||
7 -> Day07,
|
||||
8 -> Day08,
|
||||
9 -> Day09,
|
||||
10 -> Day10,
|
||||
11 -> Day11,
|
||||
12 -> Day12,
|
||||
13 -> Day13,
|
||||
14 -> Day14,
|
||||
15 -> Day15,
|
||||
16 -> Day16,
|
||||
17 -> Day17,
|
||||
18 -> Day18,
|
||||
19 -> Day19,
|
||||
20 -> Day20,
|
||||
21 -> Day21,
|
||||
22 -> Day22,
|
||||
23 -> Day23,
|
||||
24 -> Day24,
|
||||
25 -> Day25
|
||||
)
|
||||
|
||||
@main def main(day: String, input: String): Unit =
|
||||
solvers.get(day.toInt) match
|
||||
case Some(solver) =>
|
||||
val (timings, solution) = solver.run(input)
|
||||
sys.env.get("AOC_BENCH") match
|
||||
case Some(_) =>
|
||||
println(solution.p1)
|
||||
println(solution.p2)
|
||||
case None =>
|
||||
println(f"Preprocessing: ${timings.prep}%24s μs")
|
||||
println(f"Part 1: ${solution.p1}%15s ${timings.p1}%15s μs")
|
||||
println(f"Part 2: ${solution.p2}%15s ${timings.p2}%15s μs")
|
||||
|
||||
def runSolver(solver: Solver, input: os.Path): Unit =
|
||||
val (timings, solution) = solver.run(input)
|
||||
sys.env.get("AOC_BENCH") match
|
||||
case Some(_) =>
|
||||
println(solution.p1)
|
||||
println(solution.p2)
|
||||
case None =>
|
||||
println(s"Day $day not solved")
|
||||
println(f"=============================================================")
|
||||
println(
|
||||
f"Day ${solver.day}%02d ------------------------------------------------------"
|
||||
)
|
||||
println(f"Prep ${timings.prep}%53s μs")
|
||||
println(f"Part 1 ${solution.p1}%40s ${timings.p1}%10s μs")
|
||||
println(f"Part 2 ${solution.p2}%40s ${timings.p2}%10s μs")
|
||||
println(f"-------------------------------------------------------------")
|
||||
println(f"Total ${timings.total}%52s μs")
|
||||
println(f"=============================================================")
|
||||
|
||||
@main def main(day: String, input: String): Unit =
|
||||
val num = """(\d+)""".r
|
||||
day match
|
||||
case "all" =>
|
||||
solvers.toList.sortBy(_._1).foreach { case (day, solver) =>
|
||||
runSolver(solver, os.Path(input, os.pwd) / f"$day%02d.in")
|
||||
}
|
||||
case num(_) =>
|
||||
solvers.get(day.toInt) match
|
||||
case Some(solver) => runSolver(solver, os.Path(input, os.pwd))
|
||||
case None => println(s"Day $day not solved")
|
||||
case _ => println(day)
|
||||
|
||||
11
aoc/src/dev/ctsk/aoc/Memo.scala
Normal file
11
aoc/src/dev/ctsk/aoc/Memo.scala
Normal file
@@ -0,0 +1,11 @@
|
||||
package dev.ctsk.aoc
|
||||
|
||||
import scala.collection.mutable
|
||||
|
||||
object Memo:
|
||||
def Y[I, O](f: (I, I => O) => O): I => O =
|
||||
lazy val yf: I => O = Memo(f(_, yf(_))); yf
|
||||
|
||||
class Memo[-I, +O](f: I => O) extends (I => O):
|
||||
private[this] val memo = mutable.Map.empty[I, O]
|
||||
def apply(i: I): O = { lazy val o = f(i); memo.getOrElseUpdate(i, o) }
|
||||
6
aoc/src/dev/ctsk/aoc/Parse.scala
Normal file
6
aoc/src/dev/ctsk/aoc/Parse.scala
Normal file
@@ -0,0 +1,6 @@
|
||||
package dev.ctsk.aoc
|
||||
|
||||
def NAT_REGEX = """(-?\d+)""".r
|
||||
|
||||
def longs(string: String): Vector[Long] =
|
||||
NAT_REGEX.findAllIn(string).map(_.toLong).toVector
|
||||
@@ -1,11 +1,12 @@
|
||||
package dev.ctsk.aoc
|
||||
|
||||
case class Timings(prep: Long, p1: Long, p2: Long)
|
||||
case class Timings(prep: Long, p1: Long, p2: Long):
|
||||
def total: Long = prep + p1 + p2
|
||||
|
||||
case class Solution(p1: Object, p2: Object)
|
||||
|
||||
abstract class Solver(day: Int):
|
||||
def run(input: String): (Timings, Solution)
|
||||
abstract class Solver(val day: Int):
|
||||
def run(input: os.ReadablePath): (Timings, Solution)
|
||||
|
||||
def timed[A](solution: => A): (Long, A) =
|
||||
val start = System.nanoTime()
|
||||
|
||||
25
aoc/src/dev/ctsk/aoc/Trie.scala
Normal file
25
aoc/src/dev/ctsk/aoc/Trie.scala
Normal file
@@ -0,0 +1,25 @@
|
||||
package dev.ctsk.aoc
|
||||
|
||||
import scala.collection.mutable
|
||||
|
||||
class Trie(
|
||||
var isPrefix: Boolean = false,
|
||||
var children: mutable.Map[Char, Trie] = mutable.Map.empty
|
||||
):
|
||||
def insert(w: String, pos: Int = 0): Unit =
|
||||
if pos == w.length
|
||||
then isPrefix = true
|
||||
else
|
||||
children.get(w(pos)) match
|
||||
case Some(child) => child.insert(w, pos + 1)
|
||||
case None =>
|
||||
val child = Trie()
|
||||
children(w(pos)) = child
|
||||
child.insert(w, pos + 1)
|
||||
|
||||
def prefixes(w: String, pos: Int = 0, acc: List[Int] = Nil): List[Int] =
|
||||
val newAcc = if isPrefix then pos +: acc else acc
|
||||
if pos >= w.length then return newAcc
|
||||
children.get(w(pos)) match
|
||||
case None => newAcc
|
||||
case Some(child) => child.prefixes(w, pos + 1, newAcc)
|
||||
13
aoc/src/dev/ctsk/aoc/Utils.scala
Normal file
13
aoc/src/dev/ctsk/aoc/Utils.scala
Normal file
@@ -0,0 +1,13 @@
|
||||
package dev.ctsk.aoc
|
||||
|
||||
def gcd(a: Int, b: Int): Int =
|
||||
if b == 0 then a else gcd(b, a % b)
|
||||
|
||||
extension [A](xs: Seq[A])
|
||||
def pairs: Iterator[(A, A)] =
|
||||
xs.combinations(2).map(xs => (xs(0), xs(1)))
|
||||
|
||||
def eea(a: Int, b: Int): (Int, Int, Int) =
|
||||
if b == 0 then return (a, 1, 0)
|
||||
val (d, x, y) = eea(b, a % b)
|
||||
(d, y, x - y * (a / b))
|
||||
@@ -5,10 +5,9 @@ import dev.ctsk.aoc._
|
||||
object Day01 extends Solver(1):
|
||||
type Input = (Array[Int], Array[Int])
|
||||
|
||||
def pre(input: String): Input =
|
||||
io.Source
|
||||
.fromFile(input)
|
||||
.getLines()
|
||||
def pre(input: os.ReadablePath): Input =
|
||||
os.read
|
||||
.lines(input)
|
||||
.map { case s"$i $j" => (i.toInt, j.toInt) }
|
||||
.toArray
|
||||
.unzip match { case (left, right) => (left.sorted, right.sorted) }
|
||||
@@ -22,7 +21,7 @@ object Day01 extends Solver(1):
|
||||
val counts = right.groupMapReduce(identity)(identity)(_ + _)
|
||||
left.map(n => counts.getOrElse(n, 0)).sum
|
||||
|
||||
def run(input: String): (Timings, Solution) =
|
||||
def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val (pre_time, pre_input) = timed { pre(input) }
|
||||
val (p1_time, p1_solution) = timed { part1(pre_input) }
|
||||
val (p2_time, p2_solution) = timed { part2(pre_input) }
|
||||
|
||||
@@ -3,10 +3,9 @@ package dev.ctsk.aoc.days
|
||||
import dev.ctsk.aoc._
|
||||
|
||||
object Day02 extends Solver(2):
|
||||
def pre(input: String): List[List[Int]] =
|
||||
io.Source
|
||||
.fromFile(input)
|
||||
.getLines()
|
||||
def pre(input: os.ReadablePath): List[List[Int]] =
|
||||
os.read
|
||||
.lines(input)
|
||||
.map(line => line.split(" ").map(_.toInt).toList)
|
||||
.toList
|
||||
|
||||
@@ -25,7 +24,7 @@ object Day02 extends Solver(2):
|
||||
def part2(lists: List[List[Int]]): Int =
|
||||
lists.count(list => safeWithGap(list) || safeWithGap(list.reverse))
|
||||
|
||||
def run(input: String): (Timings, Solution) =
|
||||
def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val (pre_time, pre_input) = timed { pre(input) }
|
||||
val (p1_time, p1_solution) = timed { part1(pre_input) }
|
||||
val (p2_time, p2_solution) = timed { part2(pre_input) }
|
||||
|
||||
@@ -24,8 +24,8 @@ object Day03 extends Solver(3):
|
||||
}
|
||||
._2
|
||||
|
||||
def run(input: String): (Timings, Solution) =
|
||||
val in = io.Source.fromFile(input).mkString
|
||||
def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val in = os.read(input)
|
||||
val (p1_time, p1_solution) = timed { part1(in) }
|
||||
val (p2_time, p2_solution) = timed { part2(in) }
|
||||
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc._
|
||||
import scala.compiletime.ops.double
|
||||
import scala.reflect.ClassTag
|
||||
import scala.collection.mutable.ArrayBuffer
|
||||
import java.util.concurrent.ForkJoinPool
|
||||
|
||||
object Day04 extends Solver(4):
|
||||
private val XMAS = "XMAS".r
|
||||
private val REV_XMAS = "XMAS".reverse.r
|
||||
|
||||
def diagonals[A: ClassTag](m: Vector[Vector[A]]): Vector[Vector[A]] =
|
||||
def diagonals[A](m: Vector[Vector[A]]): Vector[Vector[A]] =
|
||||
val diagonals = Vector.fill(m.length + m(0).length - 1)(ArrayBuffer[A]())
|
||||
|
||||
for
|
||||
@@ -30,27 +27,19 @@ object Day04 extends Solver(4):
|
||||
lines.transpose,
|
||||
diagonals(lines),
|
||||
diagonals(lines.reverse)
|
||||
).flatMap(_.toList).map(count).sum
|
||||
).flatMap(_.map(count)).sum
|
||||
|
||||
def part2(grid: Vector[Vector[Char]]): Int =
|
||||
var count = 0
|
||||
|
||||
for
|
||||
(for
|
||||
i <- 1 until grid.length - 1
|
||||
j <- 1 until grid(i).length - 1
|
||||
if grid(i)(j) == 'A'
|
||||
& (grid(i - 1)(j - 1) + grid(i + 1)(j + 1) == 'S' + 'M')
|
||||
& (grid(i - 1)(j + 1) + grid(i + 1)(j - 1) == 'S' + 'M')
|
||||
do count += 1
|
||||
&& grid(i - 1)(j - 1) + grid(i + 1)(j + 1) == 'S' + 'M'
|
||||
&& grid(i - 1)(j + 1) + grid(i + 1)(j - 1) == 'S' + 'M'
|
||||
yield ()).length
|
||||
|
||||
count
|
||||
|
||||
def run(input: String): (Timings, Solution) =
|
||||
var in = io.Source
|
||||
.fromFile(input)
|
||||
.getLines()
|
||||
.map { line => line.toVector }
|
||||
.toVector
|
||||
def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
var in = os.read.lines(input).map { line => line.toVector }.toVector
|
||||
|
||||
val (p1_time, p1_solution) = timed { part1(in) }
|
||||
val (p2_time, p2_solution) = timed { part2(in) }
|
||||
|
||||
@@ -4,9 +4,8 @@ import dev.ctsk.aoc._
|
||||
import scala.annotation.nowarn
|
||||
|
||||
object Day05 extends Solver(5):
|
||||
def pre(input: String) =
|
||||
val Array(rulesStr, updatesStr) =
|
||||
io.Source.fromFile(input).mkString.split("\n\n")
|
||||
def pre(input: os.ReadablePath) =
|
||||
val Array(rulesStr, updatesStr) = os.read(input).split("\n\n")
|
||||
|
||||
val rules = rulesStr.linesIterator
|
||||
.map(rule => {
|
||||
@@ -20,14 +19,12 @@ object Day05 extends Solver(5):
|
||||
|
||||
(rules, updates)
|
||||
|
||||
def run(input: String): (Timings, Solution) =
|
||||
def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val (pre_time, (rules, updates)) = timed { pre(input) }
|
||||
|
||||
@nowarn("msg=match may not be exhaustive")
|
||||
def isOrdered(u: Vector[Int]): Boolean =
|
||||
!u.combinations(2).exists { case Seq(a, b) =>
|
||||
rules.contains((b, a))
|
||||
}
|
||||
!u.pairs.exists((a, b) => rules.contains((b, a)))
|
||||
|
||||
def findMiddle(u: Vector[Int]): Int =
|
||||
u.find(e =>
|
||||
|
||||
62
aoc/src/dev/ctsk/aoc/days/Day06.scala
Normal file
62
aoc/src/dev/ctsk/aoc/days/Day06.scala
Normal file
@@ -0,0 +1,62 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc._
|
||||
import dev.ctsk.aoc.Direction._
|
||||
import scala.annotation.tailrec
|
||||
import scala.collection.mutable
|
||||
|
||||
object Day06 extends Solver(6):
|
||||
private def analyse(grid: Grid[Char]): Array[Array[Array[Int]]] =
|
||||
val skipMap = Array.fill(grid.height, grid.width, 4)(-1)
|
||||
for
|
||||
obstacle <- grid.find(_ == '#')
|
||||
d: Direction <- Seq(Up, Down, Right, Left)
|
||||
(pt, dist) <- Iterator
|
||||
.iterate(d(obstacle))(d(_))
|
||||
.takeWhile(pt => grid(pt).exists(_ != '#'))
|
||||
.zipWithIndex
|
||||
do skipMap(pt.x)(pt.y)(d.flip.ordinal) = dist
|
||||
skipMap
|
||||
|
||||
def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val grid = Grid(os.read.lines(input).map(_.toArray).toArray)
|
||||
val (pre_time, start) = timed { grid.findFirst(_ == '^').get }
|
||||
|
||||
@tailrec def trace(start: Pose, acc: Set[Point] = Set(start)): Set[Point] =
|
||||
val next = start.step
|
||||
grid(next.pos) match
|
||||
case Some('#') => trace(start.turnRight, acc)
|
||||
case Some(_) => trace(next, acc + next.pos)
|
||||
case None => acc
|
||||
|
||||
val (p1_time, guardRoute) = timed { trace(Pose(pos = start, dir = Up)) }
|
||||
val p1_solution = guardRoute.size
|
||||
|
||||
val (p2_time, p2_solution) =
|
||||
timed {
|
||||
val skipMap = analyse(grid)
|
||||
|
||||
def loops(start: Pose, obstacle: Point): Boolean =
|
||||
val seen = mutable.Set(start)
|
||||
@tailrec def rec(cur: Pose): Boolean =
|
||||
val next = cur.step
|
||||
grid(next.pos) match
|
||||
case Some('#') =>
|
||||
if seen.add(cur) then rec(cur.turnRight) else true
|
||||
case Some(_) =>
|
||||
if next.pos == obstacle then return rec(cur.turnRight)
|
||||
if next.pos.x == obstacle.x || next.pos.y == obstacle.y
|
||||
then rec(next)
|
||||
else
|
||||
val steps = skipMap(cur.pos.x)(cur.pos.y)(cur.dir.ordinal)
|
||||
steps != -1 && rec(cur.step(steps))
|
||||
case None => false
|
||||
rec(start)
|
||||
|
||||
guardRoute.filter(_ != start).count(loops(Pose(start, Up), _))
|
||||
}
|
||||
|
||||
(
|
||||
Timings(pre_time, p1_time, p2_time),
|
||||
Solution(Int.box(p1_solution), Int.box(p2_solution))
|
||||
)
|
||||
57
aoc/src/dev/ctsk/aoc/days/Day07.scala
Normal file
57
aoc/src/dev/ctsk/aoc/days/Day07.scala
Normal file
@@ -0,0 +1,57 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc._
|
||||
|
||||
object Day07 extends Solver(7):
|
||||
def concat(a: Long, b: Long): Long =
|
||||
var m: Long = 1
|
||||
while m * 10 <= b do m *= 10
|
||||
a * (m * 10) + b
|
||||
|
||||
def deconcat(a: Long, b: Long): Option[Long] =
|
||||
val b_len = Math.log10(b).floor.toLong + 1
|
||||
if (a % Math.pow(10, b_len).toLong == b)
|
||||
then Some(a / Math.pow(10, b_len).toLong)
|
||||
else None
|
||||
|
||||
class Searcher(target: Long, nums: Vector[Long], elephants: Boolean):
|
||||
def search(acc: Long = nums(0), pos: Int = 1): Boolean =
|
||||
if (pos >= nums.length) return acc == target
|
||||
search(acc + nums(pos), pos + 1)
|
||||
|| search(acc * nums(pos), pos + 1)
|
||||
|| (elephants && search(concat(acc, nums(pos)), pos + 1))
|
||||
|
||||
class Tester(nums: Vector[Long], elephants: Boolean):
|
||||
def test(target: Long, pos: Int = nums.length - 1): Boolean =
|
||||
if pos == 0 then return target == nums(0)
|
||||
if target <= 0 then return false
|
||||
test(target - nums(pos), pos - 1)
|
||||
|| (target % nums(pos) == 0 && test(target / nums(pos), pos - 1))
|
||||
|| (elephants && deconcat(target, nums(pos)).exists(test(_, pos - 1)))
|
||||
|
||||
def check(target: Long, nums: Vector[Long], thirdElephant: Boolean): Boolean =
|
||||
if nums.contains(0)
|
||||
then Searcher(target, nums, thirdElephant).search()
|
||||
else Tester(nums, thirdElephant).test(target)
|
||||
|
||||
def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val REGEX = """(\d+): (.*)""".r
|
||||
val (pre_time, in) = timed {
|
||||
os.read
|
||||
.lines(input)
|
||||
.map { case REGEX(value, rest) => (value.toLong, longs(rest)) }
|
||||
.toVector
|
||||
}
|
||||
|
||||
val (p1_time, p1_solution) = timed {
|
||||
in.filter(p => check(p._1, p._2, false)).map(_.head).sum
|
||||
}
|
||||
|
||||
val (p2_time, p2_solution) = timed {
|
||||
in.filter(p => check(p._1, p._2, true)).map(_.head).sum
|
||||
}
|
||||
|
||||
(
|
||||
Timings(pre_time, p1_time, p2_time),
|
||||
Solution(Long.box(p1_solution), Long.box(p2_solution))
|
||||
)
|
||||
41
aoc/src/dev/ctsk/aoc/days/Day08.scala
Normal file
41
aoc/src/dev/ctsk/aoc/days/Day08.scala
Normal file
@@ -0,0 +1,41 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc._
|
||||
|
||||
object Day08 extends Solver(8):
|
||||
type Input = (Vector[Vector[Point]], Grid[Char])
|
||||
|
||||
case class Ctx(f: os.ReadablePath):
|
||||
private val grid = Grid(os.read.lines(f).map(_.toArray).toArray)
|
||||
private val antennae =
|
||||
grid.find(_ != '.').groupBy(grid(_)).map(_._2.toVector).toVector
|
||||
|
||||
def antinodes(a: Point, b: Point): Iterator[Point] =
|
||||
def it(a: Point, b: Point) =
|
||||
Iterator.iterate(a)(_ + (a - b).reduce).takeWhile(grid.contains)
|
||||
it(a, b) ++ it(b, a)
|
||||
|
||||
def part1: Int =
|
||||
antennae
|
||||
.flatMap(
|
||||
_.pairs
|
||||
.flatMap((a, b) => Iterator(a + a - b, b + b - a))
|
||||
.filter(grid.contains)
|
||||
)
|
||||
.distinct
|
||||
.size
|
||||
|
||||
def part2: Int =
|
||||
antennae
|
||||
.flatMap(_.pairs.flatMap(p => antinodes(p._1, p._2)))
|
||||
.distinct
|
||||
.size
|
||||
def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val (pre_time, ctx) = timed { Ctx(input) }
|
||||
val (p1_time, p1_solution) = timed { ctx.part1 }
|
||||
val (p2_time, p2_solution) = timed { ctx.part2 }
|
||||
|
||||
(
|
||||
Timings(pre_time, p1_time, p2_time),
|
||||
Solution(Int.box(p1_solution), Int.box(p2_solution))
|
||||
)
|
||||
70
aoc/src/dev/ctsk/aoc/days/Day09.scala
Normal file
70
aoc/src/dev/ctsk/aoc/days/Day09.scala
Normal file
@@ -0,0 +1,70 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc.*
|
||||
import scala.annotation.tailrec
|
||||
import scala.collection.mutable
|
||||
|
||||
object Day09 extends Solver(9):
|
||||
implicit def ord: Ordering[Record] = Ordering.by(-1 * _.offset)
|
||||
case class Record(offset: Int, size: Int, id: Int):
|
||||
def checksum: Long = id.toLong * (size * offset + size * (size - 1) / 2)
|
||||
|
||||
case class GapMap(data: Map[Int, mutable.PriorityQueue[Record]]):
|
||||
def relocate(record: Record): Record =
|
||||
val bucket = data.view
|
||||
.filter((gapSize, gaps) => gapSize >= record.size && gaps.nonEmpty)
|
||||
.maxByOption(_._2.head)
|
||||
|
||||
bucket match
|
||||
case None => record
|
||||
case Some((gapSize, gaps)) =>
|
||||
val gap = gaps.dequeue()
|
||||
if gap.offset >= record.offset then return record
|
||||
val rest = gapSize - record.size
|
||||
if rest > 0 then
|
||||
data(rest).enqueue(Record(gap.offset + record.size, rest, -1))
|
||||
Record(gap.offset, record.size, record.id)
|
||||
|
||||
def part1(input: Array[Int]): Long =
|
||||
val materialized = input.zipWithIndex.flatMap((x, i) =>
|
||||
if i % 2 == 0
|
||||
then Iterator.fill(x)(i / 2)
|
||||
else Iterator.fill(x)(-1)
|
||||
)
|
||||
|
||||
@tailrec
|
||||
def compact(l: Int = 0, r: Int = materialized.length - 1): Unit =
|
||||
if l >= r then return ()
|
||||
if materialized(l) != -1 then return compact(l + 1, r)
|
||||
if materialized(r) == -1 then return compact(l, r - 1)
|
||||
materialized(l) = materialized(r); materialized(r) = -1
|
||||
compact(l + 1, r - 1)
|
||||
|
||||
compact()
|
||||
materialized.zipWithIndex.filter(_._1 != -1).map(_.toLong * _.toLong).sum
|
||||
|
||||
def part2(input: Array[Int]): Long =
|
||||
val offsets = input.scanLeft(0)(_ + _).toArray
|
||||
|
||||
val (gaps, files) = input.zip(offsets).zipWithIndex.partitionMap {
|
||||
case ((value, offset), index) =>
|
||||
if index % 2 == 0
|
||||
then Right(Record(offset, value, index / 2))
|
||||
else Left(Record(offset, value, -1))
|
||||
}
|
||||
|
||||
val gapMap = GapMap(
|
||||
gaps.groupBy(_.size).view.mapValues(mutable.PriorityQueue.from).toMap
|
||||
)
|
||||
|
||||
files.reverse.map(gapMap.relocate).map(_.checksum).sum
|
||||
|
||||
def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val disk = os.read.lines(input)(0).map(_.asDigit).toArray
|
||||
val (p1_time, p1_solution) = timed { part1(disk) }
|
||||
val (p2_time, p2_solution) = timed { part2(disk) }
|
||||
|
||||
(
|
||||
Timings(0, p1_time, p2_time),
|
||||
Solution(Long.box(p1_solution), Long.box(p2_solution))
|
||||
)
|
||||
34
aoc/src/dev/ctsk/aoc/days/Day10.scala
Normal file
34
aoc/src/dev/ctsk/aoc/days/Day10.scala
Normal file
@@ -0,0 +1,34 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc._
|
||||
import dev.ctsk.aoc.Direction._
|
||||
|
||||
object Day10 extends Solver(10):
|
||||
type Input = Vector[(Point, Point)]
|
||||
|
||||
def pre(input: os.ReadablePath): Input =
|
||||
val grid = Grid(os.read.lines(input).map(_.toArray).toArray)
|
||||
|
||||
def step(seq: Input, height: Int): Input =
|
||||
(for
|
||||
(p, origin) <- seq
|
||||
a <- Seq(Up, Down, Left, Right)
|
||||
if grid(a(p)).exists(_.asDigit == height)
|
||||
yield (a(p), origin)).toVector
|
||||
|
||||
val zero = grid.find(_ == '0').toVector
|
||||
(1 to 9).foldLeft(zero.zip(zero)) { case (acc, h) => step(acc, h) }
|
||||
|
||||
def part1(input: Input): Int = input.distinct.size
|
||||
|
||||
def part2(input: Input): Int = input.size
|
||||
|
||||
def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val (pre_time, pre_input) = timed { pre(input) }
|
||||
val (p1_time, p1_solution) = timed { part1(pre_input) }
|
||||
val (p2_time, p2_solution) = timed { part2(pre_input) }
|
||||
|
||||
(
|
||||
Timings(pre_time, p1_time, p2_time),
|
||||
Solution(Int.box(p1_solution), Int.box(p2_solution))
|
||||
)
|
||||
40
aoc/src/dev/ctsk/aoc/days/Day11.scala
Normal file
40
aoc/src/dev/ctsk/aoc/days/Day11.scala
Normal file
@@ -0,0 +1,40 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc._
|
||||
import scala.collection.mutable.{Map => MuMap}
|
||||
|
||||
object Day11 extends Solver(11):
|
||||
private def halves(n: Long): Option[(Long, Long)] =
|
||||
val numDigits = (Math.log10(n) + 1).toLong
|
||||
if numDigits % 2 == 1 then None
|
||||
else
|
||||
val mod = Math.pow(10, numDigits / 2).toLong
|
||||
Some(n % mod, n / mod)
|
||||
|
||||
private def count(initial: Seq[Long], depth: Int): Long =
|
||||
def step(stones: MuMap[Long, Long]): MuMap[Long, Long] =
|
||||
val next = MuMap.empty[Long, Long].withDefaultValue(0L)
|
||||
for ((stone, count) <- stones) {
|
||||
if stone == 0 then next(1) += count
|
||||
else
|
||||
halves(stone) match
|
||||
case Some((a, b)) =>
|
||||
next(a) += count
|
||||
next(b) += count
|
||||
case None =>
|
||||
next(stone * 2024) += count
|
||||
}
|
||||
next
|
||||
|
||||
val initMap = MuMap.from(initial.map((_, 1L)))
|
||||
Seq.iterate(initMap, depth + 1)(step).last.values.sum
|
||||
|
||||
def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val (pre_time, in) = timed { longs(os.read.lines(input).head) }
|
||||
val (p1_time, p1_solution) = timed { count(in, 25) }
|
||||
val (p2_time, p2_solution) = timed { count(in, 75) }
|
||||
|
||||
(
|
||||
Timings(pre_time, p1_time, p2_time),
|
||||
Solution(Long.box(p1_solution), Long.box(p2_solution))
|
||||
)
|
||||
77
aoc/src/dev/ctsk/aoc/days/Day12.scala
Normal file
77
aoc/src/dev/ctsk/aoc/days/Day12.scala
Normal file
@@ -0,0 +1,77 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc.*
|
||||
import dev.ctsk.aoc.Direction.*
|
||||
import collection.mutable
|
||||
|
||||
import scala.collection.mutable.ArrayBuffer
|
||||
|
||||
object Day12 extends Solver(12):
|
||||
case class Plots(
|
||||
layout: Grid[Int],
|
||||
edges: Map[Int, Array[(Point, Direction)]],
|
||||
sizes: Map[Int, Int]
|
||||
)
|
||||
|
||||
def mapPlots(grid: Grid[Char]): Plots =
|
||||
val layout = Grid(Array.fill(grid.height, grid.width)(-1))
|
||||
val edges = mutable.Map.empty[Int, Array[(Point, Direction)]]
|
||||
val sizes = mutable.Map.empty[Int, Int]
|
||||
|
||||
def fill(start: Point, label: Int): Unit =
|
||||
layout(start) = label
|
||||
val edge = ArrayBuffer.empty[(Point, Direction)]
|
||||
val plant = grid(start).get
|
||||
var size = 1
|
||||
|
||||
def rec(current: Point): Unit =
|
||||
for
|
||||
dir <- Seq(Up, Down, Left, Right)
|
||||
next = dir(current)
|
||||
do
|
||||
grid(next) match
|
||||
case Some(p) if p == plant =>
|
||||
if layout(next).contains(-1) then {
|
||||
layout(next) = label
|
||||
size += 1
|
||||
rec(next)
|
||||
}
|
||||
case Some(_) => edge += ((current, dir))
|
||||
case None => edge += ((current, dir))
|
||||
|
||||
rec(start)
|
||||
edges(label) = edge.toArray
|
||||
sizes(label) = size
|
||||
|
||||
for
|
||||
p <- grid.points
|
||||
if layout(p).contains(-1)
|
||||
do fill(p, sizes.size)
|
||||
// grid.points.zipWithIndex.foreach(fill)
|
||||
Plots(layout, edges.toMap, sizes.toMap)
|
||||
|
||||
def part1(plots: Plots): Int =
|
||||
plots.sizes.map((k, v) => v * plots.edges(k).length).sum
|
||||
|
||||
def part2(plots: Plots): Int =
|
||||
def is(pt: Point, id: Int): Boolean = plots.layout(pt).contains(id)
|
||||
def cost(id: Int, size: Int): Int =
|
||||
size * plots
|
||||
.edges(id)
|
||||
.map((pt, dir) =>
|
||||
Seq(dir.turnLeft(pt), dir.turnRight(pt))
|
||||
.count(adj => is(dir(adj), id) || !is(adj, id))
|
||||
)
|
||||
.sum / 2
|
||||
plots.sizes.map(cost).sum
|
||||
|
||||
override def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val grid = Grid(os.read.lines(input).map(_.toArray).toArray)
|
||||
val (pre_time, plots) = timed { mapPlots(grid) }
|
||||
val (p1_time, p1_solution) = timed { part1(plots) }
|
||||
val (p2_time, p2_solution) = timed { part2(plots) }
|
||||
|
||||
(
|
||||
Timings(pre_time, p1_time, p2_time),
|
||||
Solution(Int.box(p1_solution), Int.box(p2_solution))
|
||||
)
|
||||
32
aoc/src/dev/ctsk/aoc/days/Day13.scala
Normal file
32
aoc/src/dev/ctsk/aoc/days/Day13.scala
Normal file
@@ -0,0 +1,32 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc.*
|
||||
import os.ReadablePath
|
||||
|
||||
object Day13 extends Solver(13):
|
||||
def solve(machine: Vector[Long], error: Long = 0): Option[(Long, Long)] =
|
||||
val Vector(ax, ay, bx, by, px_, py_) = machine
|
||||
val (px, py) = (px_ + error, py_ + error)
|
||||
val j = (py * ax - px * ay) / (ax * by - bx * ay)
|
||||
val i = (px * by - py * bx) / (ax * by - bx * ay)
|
||||
Option.when(i * ax + j * bx == px && i * ay + j * by == py)((i, j))
|
||||
|
||||
override def run(input: ReadablePath): (Timings, Solution) =
|
||||
def inRange(i: Long, j: Long) =
|
||||
(0 to 100 contains i) && (0 to 100 contains j)
|
||||
|
||||
val (pre_time, machines) = timed { os.read(input).split("\n\n").map(longs) }
|
||||
|
||||
val (p1_time, p1) = timed {
|
||||
machines
|
||||
.map(solve(_))
|
||||
.collect { case Some(i, j) if inRange(i, j) => i * 3 + j }
|
||||
.sum
|
||||
}
|
||||
|
||||
val ERR = 10000000000000L
|
||||
val (p2_time, p2) = timed {
|
||||
machines.map(solve(_, ERR)).collect { case Some(i, j) => i * 3 + j }.sum
|
||||
}
|
||||
|
||||
(Timings(pre_time, p1_time, p2_time), Solution(Long.box(p1), Long.box(p2)))
|
||||
44
aoc/src/dev/ctsk/aoc/days/Day14.scala
Normal file
44
aoc/src/dev/ctsk/aoc/days/Day14.scala
Normal file
@@ -0,0 +1,44 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc._
|
||||
import os.ReadablePath
|
||||
|
||||
def mu(arr: Seq[Int]) = arr.sum * 1.0 / arr.length
|
||||
def va(arr: Seq[Int]) = { val m = mu(arr); arr.map(v => (v - m) * (v - m)).sum }
|
||||
|
||||
object Day14 extends Solver(14):
|
||||
private val Y = 101
|
||||
private val X = 103
|
||||
|
||||
def go(robot: (Point, Point), time: Int): Point =
|
||||
val dst = robot._1 + robot._2 * time
|
||||
Point((dst.x % X + X) % X, (dst.y % Y + Y) % Y)
|
||||
|
||||
def part1(robots: Array[(Point, Point)]): Int =
|
||||
val end = robots.map(go(_, 100))
|
||||
val ul = end.count(v => v._1 < X / 2 && v._2 < Y / 2)
|
||||
val ur = end.count(v => v._1 < X / 2 && v._2 > Y / 2)
|
||||
val dl = end.count(v => v._1 > X / 2 && v._2 < Y / 2)
|
||||
val dr = end.count(v => v._1 > X / 2 && v._2 > Y / 2)
|
||||
ul * ur * dl * dr
|
||||
|
||||
def part2(robots: Array[(Point, Point)]): Int =
|
||||
val xo = (0 to 103).minBy(t => va(robots.map(go(_, t).x).take(50)))
|
||||
val yo = (0 to 103).minBy(t => va(robots.map(go(_, t).y).take(50)))
|
||||
val (_, iX, iY) = eea(X, Y)
|
||||
(xo * iY * Y + yo * iX * X) % (X * Y)
|
||||
|
||||
override def run(input: ReadablePath): (Timings, Solution) =
|
||||
def parse(line: String): (Point, Point) =
|
||||
longs(line) match {
|
||||
case Vector(y, x, dy, dx) => (Point.of(x, y), Point.of(dx, dy))
|
||||
}
|
||||
|
||||
val (pre_time, robots) = timed { os.read.lines(input).map(parse).toArray }
|
||||
val (p1_time, p1) = timed { part1(robots) }
|
||||
val (p2_time, p2) = timed { part2(robots) }
|
||||
|
||||
(
|
||||
Timings(pre_time, p1_time, p2_time),
|
||||
Solution(Int.box(p1), Int.box(p2))
|
||||
)
|
||||
88
aoc/src/dev/ctsk/aoc/days/Day15.scala
Normal file
88
aoc/src/dev/ctsk/aoc/days/Day15.scala
Normal file
@@ -0,0 +1,88 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc._
|
||||
import dev.ctsk.aoc.Direction._
|
||||
|
||||
object Day15 extends Solver(15):
|
||||
case class Input(grid: Grid[Char], moves: Seq[Direction])
|
||||
def pre(input: os.ReadablePath): Input =
|
||||
val Array(map_, moves_) = os.read(input).split("\n\n")
|
||||
Input(
|
||||
Grid(map_.linesIterator.map(_.toArray).toArray),
|
||||
moves_.filter(_ != '\n').map(Direction.from)
|
||||
)
|
||||
|
||||
def part1(input: Input): Int =
|
||||
val grid = Grid(input.grid.data.map(_.clone))
|
||||
var cur = grid.findFirst(_ == '@').get
|
||||
for move <- input.moves do
|
||||
val dst = Iterator
|
||||
.iterate(cur)(move(_))
|
||||
.takeWhile(!grid(_).contains('#'))
|
||||
.find(grid(_).contains('.'))
|
||||
|
||||
dst match
|
||||
case Some(dst) =>
|
||||
grid(dst) = grid(move(cur)).get
|
||||
grid(move(cur)) = grid(cur).get
|
||||
grid(cur) = '.'; cur = move(cur)
|
||||
case None => ()
|
||||
|
||||
grid.find(_ == 'O').map(p => 100 * p.x + p.y).sum
|
||||
|
||||
def part2(input: Input): Int =
|
||||
val Input(grid_, moves) = input
|
||||
val grid = Grid(
|
||||
grid_.data.map(
|
||||
_.flatMap {
|
||||
case 'O' => "[]"
|
||||
case '.' => ".."
|
||||
case '@' => "@."
|
||||
case '#' => "##"
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
def blocked(p: Point): Boolean = grid(p).contains('#')
|
||||
def free(p: Point): Boolean = grid(p).contains('.')
|
||||
def clear(p: Point): Unit = { grid(p) = '.' }
|
||||
def shift(d: Direction, p: Point): Unit = { grid(d(p)) = grid(p).get; clear(p) }
|
||||
|
||||
def extend(p: Point): Seq[Point] =
|
||||
grid(p).get match {
|
||||
case '[' => Seq(p, Right(p))
|
||||
case ']' => Seq(Left(p), p)
|
||||
case c => Seq(p)
|
||||
}
|
||||
|
||||
def push(move: Direction, cur: Point): Boolean =
|
||||
move match
|
||||
case Left | Right =>
|
||||
def step(cur: Point): Boolean =
|
||||
if free(cur) then return true
|
||||
if blocked(cur) then return false
|
||||
if step(move(cur)) then { shift(move, cur); true }
|
||||
else false
|
||||
step(cur)
|
||||
case Up | Down =>
|
||||
def step(cur: Set[Point]): Boolean =
|
||||
if cur.isEmpty then return true
|
||||
if cur.exists(blocked) then return false
|
||||
val next = cur.map(move(_)).filterNot(free).flatMap(extend)
|
||||
if step(next) then { cur.foreach { shift(move, _) }; true }
|
||||
else false
|
||||
step(Set(cur))
|
||||
|
||||
var cur = grid.findFirst(_ == '@').get
|
||||
for (move <- moves) do if push(move, cur) then { cur = move(cur) }
|
||||
grid.find(_ == '[').map(p => 100 * p.x + p.y).sum
|
||||
|
||||
override def run(input_ : os.ReadablePath): (Timings, Solution) =
|
||||
val (pre_time, input) = timed { pre(input_) }
|
||||
val (p1_time, p1_solution) = timed { part1(input) }
|
||||
val (p2_time, p2_solution) = timed { part2(input) }
|
||||
|
||||
(
|
||||
Timings(pre_time, p1_time, p2_time),
|
||||
Solution(Int.box(p1_solution), Int.box(p2_solution))
|
||||
)
|
||||
78
aoc/src/dev/ctsk/aoc/days/Day16.scala
Normal file
78
aoc/src/dev/ctsk/aoc/days/Day16.scala
Normal file
@@ -0,0 +1,78 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc.{Direction, *}
|
||||
|
||||
import scala.collection.mutable
|
||||
import scala.util.boundary
|
||||
import scala.util.boundary.break
|
||||
|
||||
object Day16 extends Solver(16):
|
||||
override def run(input_ : os.ReadablePath): (Timings, Solution) =
|
||||
val (pre_time, grid) = timed {
|
||||
Grid(os.read.lines(input_).map(_.toArray).toArray)
|
||||
}
|
||||
|
||||
val start = grid.findFirst(_ == 'S').get
|
||||
val end = grid.findFirst(_ == 'E').get
|
||||
|
||||
case class State(distance: Int, pose: Pose)
|
||||
|
||||
def search(start: Pose): (Map[Pose, Int], Map[Pose, List[Pose]]) =
|
||||
val distance = mutable.Map(start -> 0)
|
||||
val ancestor = mutable.Map.empty[Pose, List[Pose]]
|
||||
var near = mutable.Stack(State(0, start))
|
||||
var far = mutable.Stack.empty[State]
|
||||
|
||||
inline def relax(u: Pose, v: Pose, vDist: Int, isFar: Boolean): Unit =
|
||||
val oldDist = distance.getOrElse(v, 1_000_000)
|
||||
if vDist == oldDist then ancestor(v) +:= u
|
||||
if vDist < oldDist then
|
||||
ancestor(v) = List(u)
|
||||
distance(v) = vDist
|
||||
if isFar
|
||||
then far.push(State(vDist, v))
|
||||
else near.push(State(vDist, v))
|
||||
|
||||
boundary:
|
||||
while near.nonEmpty do
|
||||
var atEnd = false;
|
||||
while near.nonEmpty do
|
||||
val State(uDist, u) = near.pop()
|
||||
atEnd |= u.pos == end
|
||||
if uDist == distance(u) then
|
||||
if !grid(u.step.pos).contains('#') then
|
||||
relax(u, u.step, uDist + 1, false)
|
||||
for (v <- Seq(u.turnLeft, u.turnRight)) do
|
||||
relax(u, v, uDist + 1000, true)
|
||||
|
||||
if atEnd then break()
|
||||
|
||||
val tmp = near
|
||||
near = far
|
||||
far = tmp
|
||||
|
||||
(distance.toMap, ancestor.toMap)
|
||||
|
||||
val (p1_time, (distance, ancestor)) = timed {
|
||||
search(Pose(start, Direction.Right))
|
||||
}
|
||||
|
||||
val endPose = DIRS.map(Pose(end, _)).minBy(distance.getOrElse(_, 1_000_000))
|
||||
|
||||
val p1 = distance(endPose)
|
||||
|
||||
val (p2_time, p2) = timed {
|
||||
val all = mutable.Set(endPose)
|
||||
var cur = Set(endPose)
|
||||
|
||||
while cur.nonEmpty do
|
||||
cur = cur.filter(_ != Pose(start, Direction.Right)).flatMap(ancestor(_))
|
||||
all.addAll(cur)
|
||||
|
||||
all.map(_.pos).size
|
||||
}
|
||||
|
||||
(
|
||||
Timings(0, p1_time, p2_time),
|
||||
Solution(Int.box(p1), Int.box(p2))
|
||||
)
|
||||
75
aoc/src/dev/ctsk/aoc/days/Day17.scala
Normal file
75
aoc/src/dev/ctsk/aoc/days/Day17.scala
Normal file
@@ -0,0 +1,75 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc.*
|
||||
|
||||
import scala.util.boundary
|
||||
import scala.util.boundary.break
|
||||
|
||||
object Day17 extends Solver(17):
|
||||
case class Machine(var code: IndexedSeq[Long]):
|
||||
def execute(
|
||||
registers: Map[Char, Long],
|
||||
output: Option[Int] = None
|
||||
): Vector[Long] =
|
||||
val reg = Array.from(registers).sorted.map(_._2)
|
||||
var pc = 0
|
||||
|
||||
def combo(i: Long): Long =
|
||||
i match
|
||||
case i if i <= 3 => i
|
||||
case i if i > 3 && i <= 6 => reg(i.toInt - 4)
|
||||
|
||||
var out = Vector.empty[Long]
|
||||
boundary:
|
||||
while pc < code.length do
|
||||
code(pc) match
|
||||
case 0 => reg(0) >>= combo(code(pc + 1)); pc += 2
|
||||
case 1 => reg(1) ^= code(pc + 1); pc += 2
|
||||
case 2 => reg(1) = combo(code(pc + 1)) % 8; pc += 2
|
||||
case 3 => if reg(0) != 0 then pc = code(pc + 1).toInt else pc += 2
|
||||
case 4 => reg(1) = reg(1) ^ reg(2); pc += 2
|
||||
case 5 =>
|
||||
out :+= combo(code(pc + 1)) % 8;
|
||||
if output.exists(_ >= out.length) then break()
|
||||
pc += 2
|
||||
case 6 => reg(1) = reg(0) >> combo(code(pc + 1)); pc += 2
|
||||
case 7 => reg(2) = reg(0) >> combo(code(pc + 1)); pc += 2
|
||||
|
||||
out
|
||||
|
||||
def part1(machine: Machine, initialRegs: Map[Char, Long]): String =
|
||||
machine.execute(initialRegs).mkString(",")
|
||||
|
||||
def part2(machine: Machine, initialRegs: Map[Char, Long]): Long =
|
||||
val target = machine.code.reverse
|
||||
|
||||
def rec(pos: Int = 0, acc: Long = 0): Option[Long] =
|
||||
if pos >= target.length then return Some(acc)
|
||||
|
||||
def check(aVal: Long): Boolean =
|
||||
machine.execute(initialRegs.updated('A', aVal), Some(1)).head
|
||||
== target(pos)
|
||||
|
||||
(0 until 8)
|
||||
.map((acc << 3) + _)
|
||||
.filter(check)
|
||||
.flatMap(rec(pos + 1, _))
|
||||
.headOption
|
||||
|
||||
rec().get
|
||||
|
||||
override def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val Array(initial_, code_) = os.read(input).split("\n\n")
|
||||
val initialRegs = initial_.linesIterator
|
||||
.map(_.split(" "))
|
||||
.map(a => a(1)(0) -> a(2).toLong)
|
||||
.toMap
|
||||
val machine = Machine(longs(code_).toArray)
|
||||
|
||||
val (p1_time, p1_solution) = timed { part1(machine, initialRegs) }
|
||||
val (p2_time, p2_solution) = timed { part2(machine, initialRegs) }
|
||||
|
||||
(
|
||||
Timings(0, p1_time, p2_time),
|
||||
Solution(p1_solution, Long.box(p2_solution))
|
||||
)
|
||||
60
aoc/src/dev/ctsk/aoc/days/Day18.scala
Normal file
60
aoc/src/dev/ctsk/aoc/days/Day18.scala
Normal file
@@ -0,0 +1,60 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc.*
|
||||
|
||||
import scala.collection.mutable
|
||||
import scala.util.boundary
|
||||
import scala.util.boundary.break
|
||||
|
||||
object Day18 extends Solver(18):
|
||||
val SIZE = 70; val P1_COUNT = 1024
|
||||
|
||||
def part1(grid: Grid[Char], coords: Seq[Point]): Int =
|
||||
for coord <- coords.take(P1_COUNT) do grid(coord) = '#'
|
||||
val dist = Grid(Array.fill(SIZE + 1, SIZE + 1)(-1))
|
||||
val dq = mutable.ArrayDeque((0, Point(0, 0)))
|
||||
|
||||
while dq.nonEmpty do
|
||||
val (distance, pt) = dq.removeHead()
|
||||
for
|
||||
adj <- DIRS.map(_(pt))
|
||||
if grid(adj).contains('.')
|
||||
if dist(adj).contains(-1)
|
||||
do
|
||||
dist(adj) = (distance + 1)
|
||||
dq += ((distance + 1, adj))
|
||||
|
||||
dist(Point(SIZE, SIZE)).get
|
||||
|
||||
def part2(grid: Grid[Char], coords: Seq[Point]): Point =
|
||||
for coord <- coords do grid(coord) = '#'
|
||||
|
||||
val sets = DisjointSets(grid.points)
|
||||
for
|
||||
point <- grid.points
|
||||
adj <- DIRS.map(_(point))
|
||||
if grid(point).contains('.')
|
||||
if grid(adj).contains('.')
|
||||
do sets.union(point, adj)
|
||||
|
||||
boundary:
|
||||
for coord <- coords.reverse do
|
||||
grid(coord) = '.'
|
||||
for pt <- DIRS.map(_(coord)) if grid(pt).contains('.') do
|
||||
sets.union(coord, pt)
|
||||
if sets.joint(Point(0, 0), Point(SIZE, SIZE)) then break(coord)
|
||||
|
||||
coords.head
|
||||
|
||||
override def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val grid = Grid(Array.fill(SIZE + 1, SIZE + 1)('.'))
|
||||
val (pre_time, coords) = timed {
|
||||
os.read.lines(input).map(longs).map(v => Point.of(v(0), v(1)))
|
||||
}
|
||||
val (p1_time, p1) = timed { part1(grid, coords) }
|
||||
val (p2_time, p2) = timed { part2(grid, coords) }
|
||||
|
||||
(
|
||||
Timings(pre_time, p1_time, p2_time),
|
||||
Solution(Int.box(p1), f"${p2.x},${p2.y}")
|
||||
)
|
||||
26
aoc/src/dev/ctsk/aoc/days/Day19.scala
Normal file
26
aoc/src/dev/ctsk/aoc/days/Day19.scala
Normal file
@@ -0,0 +1,26 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc.*
|
||||
|
||||
object Day19 extends Solver(19):
|
||||
def pre(input: os.ReadablePath): (Trie, Seq[String]) =
|
||||
val Array(rules_, words_) = os.read(input).split("\n\n")
|
||||
val trie = Trie()
|
||||
for rule <- rules_.split(", ") do trie.insert(rule)
|
||||
(trie, words_.linesIterator.toSeq)
|
||||
|
||||
private def arrangements(trie: Trie, word: String): Long =
|
||||
def rec(offset: Int, inj: Int => Long): Long =
|
||||
if offset == word.length then return 1L
|
||||
trie.prefixes(word, offset).map(inj).sum
|
||||
Memo.Y(rec)(0)
|
||||
|
||||
override def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val (pre_time, (trie, words)) = timed { pre(input) }
|
||||
val (p1_time, p1) = timed { words.count(arrangements(trie, _) > 0) }
|
||||
val (p2_time, p2) = timed { words.map(arrangements(trie, _)).sum }
|
||||
|
||||
(
|
||||
Timings(pre_time, p1_time, p2_time),
|
||||
Solution(Int.box(p1), Long.box(p2))
|
||||
)
|
||||
41
aoc/src/dev/ctsk/aoc/days/Day20.scala
Normal file
41
aoc/src/dev/ctsk/aoc/days/Day20.scala
Normal file
@@ -0,0 +1,41 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc.*
|
||||
|
||||
import collection.parallel.CollectionConverters.*
|
||||
|
||||
object Day20 extends Solver(20):
|
||||
override def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val grid = Grid(os.read.lines(input).map(_.toArray).toArray)
|
||||
val start = grid.findFirst(_ == 'S').get
|
||||
val end = grid.findFirst(_ == 'E').get
|
||||
|
||||
val trace = Iterator
|
||||
.unfold((end, end))((cur, prev) =>
|
||||
val n = DIRS.map(_(cur)).filter(_ != prev).find(!grid(_).contains('#'))
|
||||
n.map(nxt => (cur, (nxt, cur)))
|
||||
)
|
||||
.concat(Seq(start))
|
||||
.toArray
|
||||
|
||||
def cheats(radius: Int): Int =
|
||||
trace.indices.par
|
||||
.map(toDist =>
|
||||
(toDist + 100 until trace.length)
|
||||
.count(fromDist =>
|
||||
val from = trace(toDist)
|
||||
val to = trace(fromDist)
|
||||
val dist = (from - to).manhattan
|
||||
|
||||
dist <= radius && (fromDist - toDist >= 100 + dist)
|
||||
)
|
||||
)
|
||||
.sum
|
||||
|
||||
val p1 = timed { cheats(2) }
|
||||
val p2 = timed { cheats(20) }
|
||||
|
||||
(
|
||||
Timings(0, p1._1, p2._1),
|
||||
Solution(Int.box(p1._2), Int.box(p2._2))
|
||||
)
|
||||
48
aoc/src/dev/ctsk/aoc/days/Day21.scala
Normal file
48
aoc/src/dev/ctsk/aoc/days/Day21.scala
Normal file
@@ -0,0 +1,48 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc.*
|
||||
|
||||
object Day21 extends Solver(21):
|
||||
private val keyPad = Grid(Array("789", "456", "123", " 0A").map(_.toArray))
|
||||
private val buttonPad = Grid(Array(" ^A", "<v>").map(_.toArray))
|
||||
|
||||
private val paths = Memo(paths_)
|
||||
private def paths_(args: (Char, Char, Grid[Char])): Array[Array[Char]] =
|
||||
val (from, to, grid) = args
|
||||
val Point(fx, fy) = grid.findFirst(_ == from).get
|
||||
val Point(tx, ty) = grid.findFirst(_ == to).get
|
||||
val ops = Seq((fx, tx, 'v'), (tx, fx, '^'), (fy, ty, '>'), (ty, fy, '<'))
|
||||
val seq = ops.flatMap((a, b, c) => (a until b).map(_ => c))
|
||||
|
||||
def gap(path: Array[Char]): Boolean =
|
||||
path
|
||||
.scanLeft(Point(fx, fy))((acc, c) => Direction.from(c)(acc))
|
||||
.exists(grid(_).contains(' '))
|
||||
|
||||
seq.permutations.map(_.toArray).filterNot(gap).toArray
|
||||
|
||||
private def countPresses(codes: Array[String], numRobots: Int): Long =
|
||||
type State = (Char, Char, Int)
|
||||
def minCost_(state: State, f: State => Long): Long =
|
||||
val (from, to, robots) = state
|
||||
if robots == 0 then return 1
|
||||
paths(from, to, if robots == numRobots then keyPad else buttonPad)
|
||||
.map('A' +: _ :+ 'A')
|
||||
.map(path => path.sliding(2).map(w => f(w(0), w(1), robots - 1)).sum)
|
||||
.min
|
||||
val minCost = Memo.Y(minCost_)
|
||||
|
||||
def evalCode(line: String): Long =
|
||||
('A' +: line).sliding(2).map(w => minCost(w(0), w(1), numRobots)).sum
|
||||
|
||||
codes.map(code => code.init.toInt * evalCode(code)).sum
|
||||
|
||||
override def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val codes = os.read.lines(input).toArray
|
||||
val (p1_time, p1_solution) = timed { countPresses(codes, 3) }
|
||||
val (p2_time, p2_solution) = timed { countPresses(codes, 26) }
|
||||
|
||||
(
|
||||
Timings(0, p1_time, p2_time),
|
||||
Solution(Long.box(p1_solution), Long.box(p2_solution))
|
||||
)
|
||||
60
aoc/src/dev/ctsk/aoc/days/Day22.scala
Normal file
60
aoc/src/dev/ctsk/aoc/days/Day22.scala
Normal file
@@ -0,0 +1,60 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc.*
|
||||
import scala.collection.mutable
|
||||
|
||||
object Day22 extends Solver(22):
|
||||
inline def hash(n: Long): Long =
|
||||
var secret = n
|
||||
secret ^= (secret << 6)
|
||||
secret &= 0xffffff
|
||||
secret ^= (secret >> 5)
|
||||
secret &= 0xffffff
|
||||
secret ^= (secret << 11)
|
||||
secret &= 0xffffff
|
||||
secret
|
||||
|
||||
def hash(n: Long, count: Int): Long =
|
||||
Iterator.iterate(n)(hash).drop(count).next()
|
||||
|
||||
def part1(initial: Seq[Long]): Long = initial.map(hash(_, 2000)).sum
|
||||
|
||||
def part2(initial: Seq[Long]): Long =
|
||||
inline def update(hash: Int, next: Int): Int =
|
||||
((hash << 5) & 0xfffff) | (next + 10)
|
||||
|
||||
val maxHash = Seq(9, 9, 9, 9).fold(0)(update)
|
||||
val bananas = Array.fill(maxHash)(0)
|
||||
val seen = mutable.BitSet(maxHash)
|
||||
|
||||
initial.foreach { value =>
|
||||
seen.clear()
|
||||
val it = Iterator.iterate(value)(hash).map(_.toInt % 10)
|
||||
var last = it.next()
|
||||
var window = 0
|
||||
|
||||
for v <- it.take(3) do
|
||||
val diff = v - last
|
||||
last = v
|
||||
window = update(window, diff)
|
||||
|
||||
for v <- it.take(2000 - 3) do
|
||||
val diff = v - last
|
||||
last = v
|
||||
window = update(window, diff)
|
||||
if !seen(window) then
|
||||
seen += window
|
||||
bananas(window) += v
|
||||
}
|
||||
|
||||
bananas.max
|
||||
|
||||
override def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val initial = os.read.lines(input).map(_.toLong)
|
||||
val (p1_time, p1_solution) = timed { part1(initial) }
|
||||
val (p2_time, p2_solution) = timed { part2(initial) }
|
||||
|
||||
(
|
||||
Timings(0, p1_time, p2_time),
|
||||
Solution(Long.box(p1_solution), Long.box(p2_solution))
|
||||
)
|
||||
59
aoc/src/dev/ctsk/aoc/days/Day23.scala
Normal file
59
aoc/src/dev/ctsk/aoc/days/Day23.scala
Normal file
@@ -0,0 +1,59 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc.*
|
||||
|
||||
object Day23 extends Solver(23):
|
||||
override def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val edge = "([^-]*)-([^-]*)".r
|
||||
|
||||
def id(s: String): Int = (s(0) - 'a') * 26 + (s(1) - 'a')
|
||||
|
||||
val (pre_time, graph) = timed {
|
||||
os.read
|
||||
.lines(input)
|
||||
.flatMap { case edge(from, to) => Seq((from, to), (to, from)) }
|
||||
.groupMap(_._1)(_._2)
|
||||
.view
|
||||
.mapValues(_.toSet)
|
||||
.toMap
|
||||
}
|
||||
|
||||
val (p1_time, triangles) = timed {
|
||||
(for
|
||||
(u, uOut) <- graph
|
||||
v <- uOut
|
||||
w <- graph(v).intersect(uOut)
|
||||
if Seq(u(0), v(0), w(0)).contains('t')
|
||||
yield Set(u, v, w)).toSet.size
|
||||
}
|
||||
|
||||
type Nodes = Set[String]
|
||||
def cliques(clique: Nodes, cand_ : Nodes, excl_ : Nodes): Set[Nodes] =
|
||||
if cand_.isEmpty && excl_.isEmpty then return Set(clique)
|
||||
if cand_.isEmpty then return Set.empty
|
||||
val pivot = cand_.maxBy(graph(_).size)
|
||||
|
||||
var candidates = cand_
|
||||
var excluded = excl_
|
||||
var acc = Set.empty[Set[String]]
|
||||
|
||||
for v <- cand_ -- graph(pivot)
|
||||
do
|
||||
acc ++= cliques(clique + v, candidates & graph(v), excluded & graph(v))
|
||||
candidates = candidates - v
|
||||
excluded = excluded + v
|
||||
|
||||
acc
|
||||
|
||||
val (p2_time, password) = timed {
|
||||
cliques(Set.empty, graph.keySet, Set.empty)
|
||||
.maxBy(_.size)
|
||||
.toArray
|
||||
.sorted
|
||||
.mkString(",")
|
||||
}
|
||||
|
||||
(
|
||||
Timings(pre_time, p1_time, p2_time),
|
||||
Solution(Int.box(triangles), password)
|
||||
)
|
||||
81
aoc/src/dev/ctsk/aoc/days/Day24.scala
Normal file
81
aoc/src/dev/ctsk/aoc/days/Day24.scala
Normal file
@@ -0,0 +1,81 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc.*
|
||||
|
||||
import scala.collection.mutable
|
||||
|
||||
object Day24 extends Solver(24):
|
||||
extension (s: String)
|
||||
def binLong: Long = s.foldLeft(0L)((acc, c) => (acc << 1) + c.asDigit)
|
||||
|
||||
enum Op(val f: Int => Int => Int):
|
||||
case AND extends Op(x => y => x & y)
|
||||
case OR extends Op(x => y => x | y)
|
||||
case XOR extends Op(x => y => x ^ y)
|
||||
|
||||
case class Gate(op: Op, lhs: String, rhs: String)
|
||||
object Gate:
|
||||
def of(op: Op, lhs: String, rhs: String): Gate =
|
||||
Gate(op, Seq(lhs, rhs).min, Seq(lhs, rhs).max)
|
||||
|
||||
override def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val Array(inits_, wires_) = os.read(input).split("\n\n")
|
||||
|
||||
val inits = inits_.linesIterator
|
||||
.map(_.split(": "))
|
||||
.map { case Array(id, value) => (id, value.toInt) }
|
||||
.toMap
|
||||
|
||||
val wires = wires_.linesIterator
|
||||
.map(_.split(" "))
|
||||
.map { case Array(in1, op, in2, _, out) =>
|
||||
(out, Gate.of(Op.valueOf(op), in1, in2))
|
||||
}
|
||||
.toArray
|
||||
|
||||
val outs = wires.toMap
|
||||
val ins = mutable.Map.from(wires.map(_.swap))
|
||||
|
||||
def tag(t: Char)(i: Int): String = f"$t$i%02d"
|
||||
val x = tag('x'); val y = tag('y'); val z = tag('z')
|
||||
|
||||
def resolve_(id: String, f: String => Int): Int =
|
||||
outs.get(id) match
|
||||
case Some(gate) => gate.op.f(f(gate.lhs))(f(gate.rhs))
|
||||
case _ => inits(id)
|
||||
val resolve = Memo.Y(resolve_)
|
||||
|
||||
val p1 = timed { (0 to 45).reverse.map(z).map(resolve).mkString.binLong }
|
||||
|
||||
val p2 = timed {
|
||||
val renames = mutable.Map.empty[String, String]
|
||||
def rename(a: String, b: String): Unit =
|
||||
renames(a) = b
|
||||
renames(b) = a
|
||||
def re(a: String): String = renames.getOrElse(a, a)
|
||||
def lookup(gate: Gate): Option[String] =
|
||||
ins.get(Gate.of(gate.op, re(gate.lhs), re(gate.rhs)))
|
||||
|
||||
var carry = ins(Gate.of(Op.AND, x(0), y(0)))
|
||||
for i <- 1 to 44
|
||||
do
|
||||
val x_ = x(i)
|
||||
val y_ = y(i)
|
||||
val x_y_xor = lookup(Gate.of(Op.XOR, x_, y_)).get
|
||||
val x_y_and = lookup(Gate.of(Op.AND, x_, y_)).get
|
||||
val out = lookup(Gate.of(Op.XOR, x_y_xor, carry)) match
|
||||
case Some(out) => out
|
||||
case None =>
|
||||
rename(x_y_xor, x_y_and)
|
||||
lookup(Gate.of(Op.XOR, x_y_xor, carry)).get
|
||||
if out != z(i) then rename(out, z(i))
|
||||
val pre_carry = lookup(Gate.of(Op.AND, carry, x_y_xor)).get
|
||||
carry = lookup(Gate.of(Op.OR, pre_carry, x_y_and)).get
|
||||
|
||||
renames.keys.toArray.sorted.mkString(",")
|
||||
}
|
||||
|
||||
(
|
||||
Timings(0, p1._1, p2._1),
|
||||
Solution(Long.box(p1._2), p2._2)
|
||||
)
|
||||
35
aoc/src/dev/ctsk/aoc/days/Day25.scala
Normal file
35
aoc/src/dev/ctsk/aoc/days/Day25.scala
Normal file
@@ -0,0 +1,35 @@
|
||||
package dev.ctsk.aoc.days
|
||||
|
||||
import dev.ctsk.aoc.*
|
||||
import collection.parallel.CollectionConverters.*
|
||||
|
||||
object Day25 extends Solver(25):
|
||||
override def run(input: os.ReadablePath): (Timings, Solution) =
|
||||
val (pre_time, (locks, keys)) = timed {
|
||||
os
|
||||
.read(input)
|
||||
.split("\n\n")
|
||||
.map(_.linesIterator.map(_.toArray).toArray.transpose)
|
||||
.partition(_(0)(0) == '#')
|
||||
}
|
||||
|
||||
def profile(lock: Array[Array[Char]]): (Array[Int], Int) =
|
||||
(lock.map(_.count(_ == '#')), lock.head.length)
|
||||
|
||||
def fits(size: Int, lock: Array[Int], key: Array[Int]): Boolean =
|
||||
lock.zip(key).forall((l, k) => l + k <= size)
|
||||
|
||||
def p1 = timed {
|
||||
val keyProfiles = keys.map(profile)
|
||||
locks
|
||||
.map(profile)
|
||||
.map((lock, size) =>
|
||||
keyProfiles.count((key, _) => fits(size, lock, key))
|
||||
)
|
||||
.sum
|
||||
}
|
||||
|
||||
(
|
||||
Timings(pre_time, p1._1, 0),
|
||||
Solution(Int.box(p1._2), "MERRY CHRISTMAS")
|
||||
)
|
||||
26
build.mill
26
build.mill
@@ -2,9 +2,25 @@ package build
|
||||
|
||||
import mill._, scalalib._
|
||||
|
||||
object aoc extends ScalaModule {
|
||||
import $ivy.`io.github.alexarchambault.mill::mill-native-image::0.1.29`
|
||||
import io.github.alexarchambault.millnativeimage.NativeImage
|
||||
|
||||
object aoc extends ScalaModule with NativeImage {
|
||||
def scalaVersion = "3.5.2"
|
||||
// def ivyDeps = Agg(
|
||||
// ivy"org.scala-lang.modules::scala-parallel-collections:1.0.4"
|
||||
// )
|
||||
}
|
||||
def ivyDeps = Agg(
|
||||
ivy"com.lihaoyi::os-lib:0.11.3",
|
||||
ivy"org.scala-lang.modules::scala-parallel-collections:1.0.4"
|
||||
)
|
||||
|
||||
|
||||
def nativeImageName = "aoc"
|
||||
def nativeImageMainClass = "dev.ctsk.aoc.main"
|
||||
def nativeImageClassPath = runClasspath()
|
||||
def nativeImageGraalVmJvmId = "graalvm-java23"
|
||||
def nativeImageOptions = Seq(
|
||||
"--initialize-at-build-time",
|
||||
"--no-fallback",
|
||||
"--enable-url-protocols=http,https",
|
||||
"-Djdk.http.auth.tunneling.disabledSchemes=",
|
||||
)
|
||||
}
|
||||
|
||||
2
data/06.ans
Normal file
2
data/06.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
5242
|
||||
1424
|
||||
130
data/06.in
Normal file
130
data/06.in
Normal file
@@ -0,0 +1,130 @@
|
||||
.........................#...........#.#...#...............#..............##.....................#...........#..#.........#.......
|
||||
.....................#.................#.......#.........................#...........#.#.......#..................................
|
||||
.........#...........#........#.........#.........#...........#........................................#.........................#
|
||||
.......#.........................#...........................#.............#......................................................
|
||||
..................#................##...............#.#.....................##............#.......................................
|
||||
......#...#................#..................................................................#....#.#............................
|
||||
.......##................#........#..#.......#......................................#........#............#......###..........#...
|
||||
.....................#....................................................#...........#..#...#..........................#.........
|
||||
...........#....#...........................#.#...............#..#....................................#..............#......#.....
|
||||
.....#........##...............#.......#..#..............................................#..........................#.............
|
||||
.#.........#.#...........................#..........................#......................#...........#........#.................
|
||||
.................................................................#..#.#.......#..#................................................
|
||||
...............................................#.......#...................#....................#.................................
|
||||
.......#......#......#......................#...............................#.....##........#...........#......#..................
|
||||
........................................................................................................#.....#.#.................
|
||||
..#...............................#.#..................................#.............#............................................
|
||||
..............#..........................................#.....#.....#..........................#....#.........#..................
|
||||
...................................#........................................#................#...........##.....#....#............
|
||||
.#.....................................#.......#........................#...................##............#.......................
|
||||
.#..................#...........#...........................................................................................#.....
|
||||
........................#...................................................##.................................#..#..........##...
|
||||
........#............................#.......#...........................#.#...#...................................#.....#........
|
||||
...............................#............#.....#......................#.......#...#........................#...................
|
||||
.........#.............#.................................................#.......................................#....#...........
|
||||
...................................................................#...#.................................#...................#....
|
||||
...#.....................#...#...............#..................................................#...#...#.........................
|
||||
...................#........#....#....#..#..#...................#.........#..................#..#....#.......#.#.................#
|
||||
..............................#........................................#......#.....#..............##................#............
|
||||
............#..#.............#.......#........................................................##........#.....#...................
|
||||
.....#.............................................................#...#.#.#.............................#..#.#...........#.......
|
||||
.......#....#............................................#.................................#...................................#..
|
||||
..#.................#.......#..........................#........................................#...............#..............#..
|
||||
....#.#...................#............................#..#.......................................................................
|
||||
.......................#...............#..............#......#......................#.....................#..............#........
|
||||
.#..........#.......................................................................#....................................#........
|
||||
.#.......#..................................................................#.....................................................
|
||||
..................................................#.............#.............................................#................#.#
|
||||
.......................#......#....#................#......................................................#.......#.........#....
|
||||
..........................#.#........................................................#......#................................#....
|
||||
....................................................................#...............................#.............................
|
||||
..#...........#..............................#..#....#............................#...............##..............#...#...#...#..#
|
||||
...................................#................................................................#....#...................#....
|
||||
..#....#........#..##....#........................#...#...................................#.......................................
|
||||
...................#................................................................................................#.............
|
||||
.......#........#................#...#.......................................................................#....................
|
||||
..............#....................#..........................##.........#.....................................#..................
|
||||
.........................................................................#.................#........................#.............
|
||||
.............................#..........#.......................................................#......................#..........
|
||||
............###....................................................................#.......................#......................
|
||||
........#........#...........#.............................#....................#..........#.........................#.#.....#....
|
||||
.........................................................................................................#..#.....................
|
||||
#.#.....#..........................................................#.....................#........................................
|
||||
........##..........#....................................................#..#........#.......#........#................#..........
|
||||
.............................................#..........................#.........#........................#......................
|
||||
...........................##.............#........................#.#........................#..#................#.....#........#
|
||||
#...#..............................................#........#...................................................#.................
|
||||
.............#................#............................#............#.........................................................
|
||||
#..........................#............#.....................#.....#.................#......#...##...#.............#.#...........
|
||||
.....................#...#..#....#...................................#....................#..............#........#...............
|
||||
.......................#.................#...........#....#.......#...........................................#..#................
|
||||
.........#...........#.#.........#.........................#.....#................................................................
|
||||
....................#........#...................................................................#............#..#.#.#............
|
||||
..........#.......................#.......................#.......................................................................
|
||||
......................................#......#............................#..............................................#........
|
||||
.....................#...#.................#.............................#....#...................................................
|
||||
..............##...................................................................#......................................##......
|
||||
.....#....#...............................................#.......#.##........#.#.............#...............#...................
|
||||
....................................#......................#........#.......................................................#.....
|
||||
.....#.........................................#.....................#.............#.................#..................#.........
|
||||
................................#.........#..#............................................#.........................#.............
|
||||
....#.#.....................#......#...................................#..........................................#..#.....#...#..
|
||||
.........##.......................#..........................................#.........................#...##.....................
|
||||
...............................................................#................................................................#.
|
||||
............#.........................................##.......................................#..................................
|
||||
.............................#..............................#..................#.........#.....#..................................
|
||||
..........................................................#...#.....#..................#................................#.........
|
||||
......#...................#.........................................................................................#.............
|
||||
#...............................#...........................#.....................................................................
|
||||
.......#........#.................................................#.......................................................#.......
|
||||
.#......................................................#..............#..................................#...........#...........
|
||||
.............#..#.#.......................#..........#......#.##.........................................................#..#.....
|
||||
.......#...............#........#......................................................................#..#...........#...........
|
||||
............#.........................................#................................................#...................#......
|
||||
............#...........................................#.#.......#....................................#..........................
|
||||
...........................................#.........................................................#..............#.............
|
||||
..................#..#....................................................#..................#....................................
|
||||
..#........................#........#.............................................................................................
|
||||
.............#........#......................#.......................................#...#....#............................#......
|
||||
............#.......#.............#...#...........#.#.................................#.................##........................
|
||||
.....................................................................................#.........#.......................#.....#....
|
||||
.................#................................#..#....#......#..........................................#.....#...............
|
||||
..#...............................#........................................................#.......#...#............#.............
|
||||
#.........#..#..#.....................................#....................................#................#.................#...
|
||||
.......................#..#...#............................................................................#..#.....#.......##....
|
||||
..........#............#.......................#.........................^......#.#...................................#...........
|
||||
...##........................##..........#..........#.................#...............#...........#.....##........................
|
||||
..............#............#..........................#....#...........#......#......#......................#.....................
|
||||
......#.....#....................................................#............#.#......................................#..........
|
||||
......#.............................#......................#...............................#........#.............................
|
||||
.#..........#.............................................#.............................................#.........................
|
||||
...............................##.................................................................................................
|
||||
.....................#................................................#...............#............#...............#.....#.....#..
|
||||
..................#...........................................................................#...........#...................#...
|
||||
##..............................#.#...#.#...............................#...........#.#...................#.......................
|
||||
......................#.........#...................................#.................#...........................................
|
||||
.......................#............................................................................#.........##...........#......
|
||||
.....................................................................#.......#.....#.......................................#......
|
||||
#....................................#........#.#.................................................................##.....#........
|
||||
..............#..............................#......#..........###.........#................#..............#..................#...
|
||||
..................................#..............................#.................##.............................#...#...........
|
||||
...............#......#........................#....#........#............#.........#..........#..............#......#............
|
||||
...#...........#........#...#...........................#.............#.....................................#.....................
|
||||
..............###............#...........................................................#.............#.........##..#............
|
||||
............#................................................#.......#..................#....#....................................
|
||||
.........#.#...#.....#...........................#.....##......#.....................#..#........#......#.........................
|
||||
.#....#.......#.......................#.................................................................#.......#..............#..
|
||||
...................#................................................................#.............#...#...........#.........#.....
|
||||
.......#.#.......#.......................#....#.....#...............#...#.....#...........................................#.......
|
||||
.......#........#...........................................#...........#.........................#....#.......#..................
|
||||
..................................#.#.................#.#............................................#...........#....#...........
|
||||
....##......#.............#...................................#...#.........#...........................#......#..................
|
||||
.........................#......#....#...#........................................................................................
|
||||
...#...............#............................................................................#...........................#.....
|
||||
....##.#..............................................#............#................#................................#......#.....
|
||||
.........#...........................................#...#.......##..............................#................................
|
||||
..................#..........#......#.......#......................................#........#...............#......#...........##.
|
||||
........................................#......#..........#......................................................................#
|
||||
..............#...#...................#.....#..........................................................#..............#......#....
|
||||
...#........#........................#...#................#........#.............................##..........................#....
|
||||
............#............................#.#........................#.................................#..........................#
|
||||
2
data/07.ans
Normal file
2
data/07.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
1430271835320
|
||||
456565678667482
|
||||
850
data/07.in
Normal file
850
data/07.in
Normal file
@@ -0,0 +1,850 @@
|
||||
3240922: 256 6 83 6 8 2 76 2 2
|
||||
4781829: 3 1 471 3 23 80 49 556
|
||||
185303830: 72 646 498 8 15 7
|
||||
4396909609: 594 17 67 1 6 9 74 845
|
||||
51395424: 611 9 7 24 85 579 348
|
||||
8080451: 230 83 4 350 1
|
||||
51187716609: 213 67 7 88 8 619 827
|
||||
149: 16 3 2 66 45
|
||||
36764030: 8 6 14 686 94 8 7 36 2
|
||||
90: 77 8 1 1 1 2
|
||||
579799: 58 6 4 946 86 9 73
|
||||
1711: 40 4 4 73 998
|
||||
4629997428: 799 378 73 8 21
|
||||
55138352: 4 9 24 1 94 9 292 34 6 6
|
||||
12784: 965 95 4 3 4 4
|
||||
166306618368: 936 1 5 792 3 86 2 8 9 6
|
||||
57804175: 231 59 876 5 481
|
||||
3383139751778: 1 92 9 761 6 2 5 6 1 778
|
||||
282539018188: 84 299 4 365 5 51 837
|
||||
116348400: 4 31 8 3 7 95 3 4 9 6 1 2
|
||||
350064: 7 4 8 21 48 770 68 6
|
||||
26848040198: 2 7 63 76 885 8 99 74 7
|
||||
506811072174: 1 6 9 2 9 184 8 6 85 9 8 1
|
||||
50430798783: 6 6 7 9 9 3 93 171 5 3 7 9
|
||||
9245211: 88 79 80 692 91
|
||||
5112: 839 5 1 7 6
|
||||
24786163: 740 2 965 33 6 163
|
||||
41507809: 117 9 83 567 1 7
|
||||
395795: 94 79 414 4 7 5
|
||||
103220542: 5 3 2 8 8 32 8 5 6 9 30 9
|
||||
6607912951: 6 67 228 617 397
|
||||
4842305966: 4 567 971 325 21 23 2
|
||||
210648864274: 6 8 36 30 8 239 4 3 274
|
||||
40421763628632: 364 5 8 6 37 3 628 635
|
||||
22257: 77 328 13 2 53
|
||||
6186110889: 2 92 71 5 980 63 1 483
|
||||
152540: 44 3 16 518 58
|
||||
8020356: 474 5 881 125 19
|
||||
147723: 2 29 3 849
|
||||
436636368: 51 97 397 655 84
|
||||
88373874: 1 9 35 96 25 8 365 74
|
||||
4377820491: 28 796 5 4 2 16 38 91
|
||||
114504: 3 6 8 734 6
|
||||
3739374: 759 8 4 9 75 855 63 1 8
|
||||
2859367: 42 80 1 851 7
|
||||
3017779: 397 38 2 24 555
|
||||
112867776: 4 4 558 98 129
|
||||
1627098747: 4 8 5 11 8 9 8 648 2 4 9 3
|
||||
1722017: 3 5 6 36 9 3 1 37 2 9 45 2
|
||||
7263: 259 6 65 22 3
|
||||
1119901426: 5 580 70 581 2 8 649 6
|
||||
296493: 6 90 2 42 9 8 4 50 1 81 6
|
||||
11619105439: 7 64 2 8 296 6 76 23
|
||||
99815364: 5 3 422 73 3 9 6 6 2 2 6 3
|
||||
3354: 35 3 55 36 6
|
||||
53583: 1 9 8 491 555
|
||||
415463030: 5 9 15 7 141 30 30
|
||||
2175040: 5 44 2 2 8 9 317 6 7 2 5 8
|
||||
3609508: 7 11 4 84 5 79 2
|
||||
7393: 620 9 9 818 20 5 6 7
|
||||
311202: 936 4 98 9 9
|
||||
40694678: 3 764 7 61 775 848 6
|
||||
51242352: 914 91 9 6 35 8 8 7
|
||||
27945216600: 931 2 60 8 26 1 1 5 24
|
||||
116395: 20 831 7 54 1
|
||||
8481174364: 84 811 739 4 64
|
||||
105596926: 836 554 6 38 94
|
||||
4661761090: 582 72 8 2 2 4 5 5 6 7 5 1
|
||||
452569: 7 67 862 340 29
|
||||
25265: 28 145 70 5 75 6 5
|
||||
601311600: 40 20 9 60 277
|
||||
220549392: 1 23 252 63 604
|
||||
8819510: 24 334 6 371 86 7 5
|
||||
26645751: 9 9 148 57 51
|
||||
940551780: 6 92 384 75 346 1 930
|
||||
8938951: 4 7 164 55 7 905 1 8 2 6
|
||||
38570960: 6 40 237 5 80 6 4 955 5
|
||||
7599410: 2 835 6 4 67
|
||||
1780: 1 2 406 486 1 1 481
|
||||
22879250: 3 6 210 2 115 865
|
||||
167089216: 77 92 21 3 35 21 49 64
|
||||
225191202: 4 9 9 18 1 2 1 1 6 9 244 8
|
||||
2647323: 38 90 1 86 27 9
|
||||
7820: 79 6 23 4
|
||||
60151: 2 4 623 8 1 1 69 2 6 197
|
||||
6381: 69 6 5 1 9 3 6 115 9 2 3 9
|
||||
999963: 1 82 28 9 886 77
|
||||
8187831: 7 8 162 3 60 45 3 66 3 9
|
||||
1066338: 135 9 82 9 168 9 5 3 1 9
|
||||
13431313: 8 4 4 7 1 308 9 4 7 53
|
||||
4888422: 5 49 475 16 42
|
||||
40483869182: 70 7 918 9 4 3 62 1 82
|
||||
148617: 30 75 3 5 22 7
|
||||
1706: 26 8 2 8 456 9 5 797 7 8
|
||||
404411: 206 305 8 79 89 1
|
||||
73904332: 923 80 63 1 33 2
|
||||
222360: 32 333 42 1 545
|
||||
455431: 7 88 2 4 78 8 57
|
||||
833: 5 9 62 487 3 264 3 1
|
||||
11652001507: 770 5 8 5 72 25 5 502 3
|
||||
112387: 4 4 8 1 9 8 32 2 6 1 1 601
|
||||
568992114: 6 942 31 590 429 6
|
||||
449890: 3 3 9 908 8 1 71 64 78 7
|
||||
6431892: 9 5 2 3 7 879 7 7 9 346 1
|
||||
47177856: 9 1 9 37 1 4 940 544 22
|
||||
12512667: 1 4 73 75 721 914 7
|
||||
111681944: 282 396 1 57 41 44
|
||||
3836539035: 57 36 910 21 735
|
||||
209051443965: 549 9 9 574 6 5 65 3 1 7
|
||||
12432: 789 2 464 30 6
|
||||
1893052: 1 61 227 697 7
|
||||
75516636: 5 258 500 53 796 116
|
||||
7198107126: 899 76 327 12 8 6
|
||||
324356: 4 2 22 18 12 8 62 960 4
|
||||
1651812: 76 472 1 3 1 829 5 9 42
|
||||
2986566: 97 6 2 51 2 3
|
||||
2213348: 1 410 4 6 1 4 6 3 1 3 74 8
|
||||
713349465: 63 804 4 63 13 465
|
||||
317513: 29 489 44 7 792 13 67
|
||||
1705056857: 9 5 66 45 9 3 1 684 1 8 6
|
||||
109631599: 9 27 88 564 408 5 72 7
|
||||
4524000: 720 7 527 84 4 160 5
|
||||
170710: 958 891 43 9 43 10
|
||||
950453: 7 87 2 1 7 7 8 7 52 691 6
|
||||
11497532: 73 3 525 3 2
|
||||
14004606: 81 7 7 196 4 105 9 6 2
|
||||
14435: 18 97 46 8 99
|
||||
2587924: 3 1 837 8 8 2 384 532
|
||||
52827036: 97 6 47 541 9
|
||||
17555: 256 4 960 372 916 7
|
||||
12560: 484 5 91 1 5
|
||||
439274: 827 58 496 9 305
|
||||
829089344333: 987 1 84 9 34 433 3
|
||||
120971158: 21 2 6 8 172 6 2 4 9 766
|
||||
1454786: 209 91 169 62 5 88 7
|
||||
955240: 747 23 86 101 55
|
||||
52113349: 9 4 4 73 289 46 1 1 408
|
||||
358844792: 460 646 1 1 779
|
||||
3641: 289 8 741 2
|
||||
13213623: 317 8 52 264 22
|
||||
83270: 9 9 34 8 9 5 928 1 906 2
|
||||
1965: 36 28 122 31 75 729
|
||||
2001540608: 9 29 6 2 3 17 4 458 688
|
||||
283932217: 283 930 49 172 7
|
||||
55776554516: 22 13 347 9 75 7 20 9 4
|
||||
156858658339: 2 7 3 4 9 85 862 3 834 2
|
||||
122078: 941 5 2 8 834 22
|
||||
1747653839996: 191 915 3 839 999
|
||||
1323: 5 83 9 35 859 5
|
||||
99171744: 80 62 7 4 56 51
|
||||
558: 36 14 54
|
||||
205597: 685 3 97
|
||||
106153647: 4 4 9 3 2 91 9 9 4 864 6 9
|
||||
6485019068: 2 4 47 3 2 561 7 9 2 4 61
|
||||
4232: 84 38 62 23
|
||||
26576163856: 1 755 80 37 24 44
|
||||
479050: 6 83 36 7 9 871
|
||||
1439650999: 1 3 9 6 79 860 25 9 90 9
|
||||
2071304352: 980 20 279 8 9 928
|
||||
88640: 196 912 20 4
|
||||
707827: 45 5 85 5 37 1 9 8
|
||||
446247: 55 695 595 1
|
||||
27533085: 7 2 4 13 6 423 3 89 8 7 3
|
||||
1197659: 2 90 95 70 659
|
||||
3404211: 14 81 737 3
|
||||
22210: 6 10 370 8 2
|
||||
47275323: 7 87 33 6 5 508 843
|
||||
17040242236: 8 1 3 84 196 5 2 7 8 3 6
|
||||
67472505: 52 9 3 640 8 8 94 6 4 3 3
|
||||
106090934: 7 3 5 5 6 9 3 2 476 5 22 2
|
||||
60501: 23 6 1 519 9 56 81 1 1
|
||||
12560: 8 2 785
|
||||
6397313: 7 9 7 64 4 4 6 572 8 8 1
|
||||
10576368040663: 464 3 84 985 25 8 911
|
||||
55739: 324 16 781 54 9 2 47
|
||||
5354536482085: 5 3 120 4 8 6 77 3 54 1 7
|
||||
719328: 42 18 6 118 8
|
||||
5209255: 514 6 91 1 55
|
||||
35104400: 6 20 29 80 5 589
|
||||
992101552532: 177 16 7 6 939 1 66 8 4
|
||||
2648300: 645 799 917 2 4
|
||||
3048437: 48 962 11 2 6 293 516
|
||||
1963982: 480 99 76 306 41
|
||||
21: 9 7 5
|
||||
1571724093: 98 25 18 396 9 4 89
|
||||
107152643: 5 2 715 25 51 3 89
|
||||
93706: 800 570 8 68 2
|
||||
504494: 7 3 608 63 26 1 1 9 5 79
|
||||
2773798: 2 782 60 61 28 6
|
||||
33250535: 2 175 95 1 99 337
|
||||
56621021: 2 1 4 7 7 1 504 52 55 1 4
|
||||
45618793: 4 20 432 179 8 93
|
||||
8502445733: 59 12 4 1 1 3 444 1 7 33
|
||||
194395: 388 499 684 99
|
||||
21285718: 779 8 694 1 1 664 9 3
|
||||
496128467526: 984 323 5 53 8 8 63 8 6
|
||||
155022: 34 7 339 499 3 6 6 8 30
|
||||
3737283012: 864 4 6 5 4 703 6 7 4 4 9
|
||||
131594: 15 12 404 3 56 6 4 82
|
||||
3035928: 9 4 746 3 300 7 7 51 8
|
||||
134436: 99 6 91 2 6 359 6 5 6
|
||||
57187572390828: 8 459 7 676 390 828
|
||||
59144157078: 351 11 8 587 466 7 6
|
||||
1322895: 5 774 68 15 603 903
|
||||
16108056803: 7 2 4 7 603 5 8 5 16 530
|
||||
20155: 4 67 91 3 690 82
|
||||
3308929647: 47 9 54 2 3 69 3 50
|
||||
1719: 8 9 1 500 3
|
||||
384: 8 70 306
|
||||
1547960154: 9 8 595 6 26 1 981 1 32
|
||||
881783: 26 1 4 5 7 2 806 1 9 3 6
|
||||
39740: 7 33 1 72 32 8 231 4
|
||||
4248270589: 7 2 4 39 11 1 7 53 3 5 8 9
|
||||
2831: 48 1 57 1 38 1
|
||||
1740: 42 80 99 69 6
|
||||
1463042528: 7 306 9 2 42 481 47
|
||||
6518232: 692 75 20 753 9 5 63 9
|
||||
295: 19 1 4 6 49
|
||||
12600: 95 5 7 3 129 8
|
||||
18941825816881: 3 7 9 412 6 2 5 8 16 88 1
|
||||
10906: 4 8 8 5 2 481 971 3 7
|
||||
23569563: 9 9 620 981 2 3 647
|
||||
563162984: 41 453 190 37 2 6 64 4
|
||||
8779552: 81 6 613 52 127 3 55
|
||||
670151107604: 98 992 2 972 6 591 20
|
||||
46058: 8 357 68 908 3 4 74
|
||||
23352233001: 546 966 55 5 805 76
|
||||
2598992457: 9 67 54 4 133 376 6 57
|
||||
6041811: 8 8 1 3 4 8 12 874 3 723
|
||||
546092: 2 8 195 9 2
|
||||
112521276: 6 6 3 7 50 315 9 4 6 6 2 7
|
||||
123165126274: 68 3 1 2 5 3 209 1 6 81 6
|
||||
183841440: 512 15 85 804 80 3
|
||||
92972296: 8 77 6 2 6 688 9 2 59 96
|
||||
12917242: 893 20 786 3 9 9 6 1 8 2
|
||||
19870855592: 8 7 323 7 1 2 8 9 55 7 7
|
||||
19093: 188 78 9 38 61
|
||||
42220695615: 71 54 2 247 4 1 6 9 553
|
||||
408850045524: 77 387 48 7 79 343 4 4
|
||||
193249318320: 3 48 2 1 326 4 830 51
|
||||
1559778746: 1 733 9 70 8 746 2
|
||||
5978523468: 4 850 7 522 679 789
|
||||
57475: 3 598 32 63 4
|
||||
82199776: 84 2 2 24 8 9 637 3 4 2 8
|
||||
3684: 3 6 2 6 4
|
||||
2133774: 498 7 34 19 18
|
||||
223090269: 9 3 1 5 9 4 5 115 124 7 2
|
||||
3230835: 354 608 75 82 15
|
||||
152071519611: 36 4 8 3 525 81 2 34 1 2
|
||||
400642248: 353 3 9 84 3 5 1 3
|
||||
1319052: 45 345 561 82
|
||||
214120: 2 7 765 756 8 2
|
||||
1525: 786 313 10 382 10 24
|
||||
168952128: 15 6 2 3 6 1 9 4 3 63 49 8
|
||||
12600: 86 418 25
|
||||
4753664: 938 52 2 599 8
|
||||
183144217197: 8 78 2 128 19 450 56
|
||||
177156107: 725 4 184 83 4 907
|
||||
907988: 5 38 9 1 848 2 734 30
|
||||
34005187376: 425 8 5 186 82 7 549
|
||||
48458919: 376 520 54 74 919
|
||||
232708: 7 517 6 64 1 708
|
||||
9889376521: 988 93 7 5 779 6 3 733
|
||||
356266: 5 7 5 606 74 583
|
||||
2717: 6 4 78 237 2
|
||||
15624: 3 9 7 60 9 8 100 73 221
|
||||
177529338: 4 717 619 93 44
|
||||
709294260: 40 7 5 2 4 4 3 5 4 5 524 3
|
||||
33208: 92 45 1 10 8
|
||||
947417877: 52 9 52 53 243 651
|
||||
465478112: 12 2 590 3 6 66 9 2 83 2
|
||||
21882695057: 6 2 5 367 2 183 63 2
|
||||
4329385230214: 8 908 2 972 604 1 5 4 6
|
||||
408039258: 15 4 7 46 80 3 9 8 6 11
|
||||
8156: 8 15 6
|
||||
1912903905: 76 516 5 344 431 6 5
|
||||
605236611: 8 7 6 11 7 3 9 4 15 2 9 3
|
||||
164820: 223 61 63 69 12
|
||||
777761919: 9 1 6 3 3 2 5 986 1 6 1 27
|
||||
63644912: 952 77 359 864 80
|
||||
249992724: 513 564 11 18 7 8 5 6 6
|
||||
108534: 9 95 3 988 69 477
|
||||
510545: 4 1 254 67 6 5
|
||||
3010875466: 3 747 9 7 594 2 6 7 4
|
||||
849: 4 772 19 16 38
|
||||
14295764555: 327 9 33 3 7 291 7 8 79
|
||||
22155: 621 5 7 7 5
|
||||
764: 5 9 34 664 7
|
||||
33936: 87 1 8 6 18 8
|
||||
22969: 756 7 5 6 79
|
||||
455349313: 4 80 42 485 92 6 6
|
||||
26289: 4 73 90 5 2
|
||||
1449447323: 9 6 54 5 6 638 7 7 14 9
|
||||
7079478539: 393 314 947 85 40
|
||||
107875040: 956 62 5 1 364
|
||||
80556: 6 821 84 416 734 6
|
||||
3780000: 68 3 8 99 2 29 9 270 4
|
||||
31828005: 7 9 5 350 366 844 5 5
|
||||
468: 77 6 6
|
||||
6153: 3 3 153
|
||||
445144: 43 165 273 35 16 60 4
|
||||
24330378244: 544 1 783 1 68 84 4
|
||||
12948699481: 38 426 2 624 9 6 60 1
|
||||
12715: 207 9 22 53 45 56
|
||||
816252255180: 473 3 1 913 2 7 9 1 5 3 1
|
||||
7721: 1 12 555 275 786
|
||||
34738898530: 9 7 7 7 9 7 73 9 97 9 70
|
||||
1119853: 67 896 9 6 12 16 22 87
|
||||
204771350237: 7 1 294 733 8 45 383
|
||||
847061: 5 75 94 6 24 99 818
|
||||
340774: 370 1 84 6 9 70
|
||||
1315650: 30 7 1 35 179
|
||||
65059: 87 614 924 1 1 3 1 4
|
||||
119439888: 962 134 123 443 2
|
||||
3013933: 556 6 956 78 9 949
|
||||
1712980: 901 5 82 4 21 58 82
|
||||
1197932383: 72 69 2 274 88
|
||||
1240: 354 45 6 8 7 38 9 767 6
|
||||
5482453790475: 6 8 4 9 3 713 196 2 7 5 9
|
||||
623463848: 869 6 783 910 98
|
||||
1029: 93 9 3 2 4
|
||||
111457: 856 3 4 129 130
|
||||
2541440: 8 3 6 1 6 1 26 3 1 4 440
|
||||
28407083811: 239 424 757 94 566 7
|
||||
2986462: 3 732 3 2 2 8 446
|
||||
1716392396: 85 2 777 1 89 73 971 2
|
||||
7030: 31 9 24 136 198
|
||||
10958979: 931 8 27 9 4 3 6 4 6 6 1 2
|
||||
2154511: 2 29 2 99 5 23 157
|
||||
353801856: 32 647 89 35 27 192
|
||||
6055043734: 33 1 9 58 5 5 6 97 304 7
|
||||
97551305: 2 3 5 22 618 287 5
|
||||
7752834: 764 4 56 47 625 11 23
|
||||
8017779: 6 3 777 427
|
||||
1634: 944 613 9 62 6
|
||||
4943080: 857 654 399 647 4
|
||||
2088456: 7 563 11 72 519
|
||||
62000: 4 701 553 843 999 4 5
|
||||
1341: 2 6 36 909
|
||||
2833918: 2 2 75 168 15 4 20 54
|
||||
3572208: 826 4 5 9 48
|
||||
829269132: 7 6 97 3 82 4 8 53 1 32
|
||||
65065129238: 5 896 2 681 9 4 1 5 9 5 8
|
||||
1573: 68 4 8 83 5 8 6 3 203 17
|
||||
445398583: 8 2 2 33 7 6 992 1 90 2 3
|
||||
4070556556: 8 848 26 6 55 9
|
||||
4733412: 194 8 7 298 424 724
|
||||
3000986447: 75 40 891 2 93 4 4 7
|
||||
186912: 556 91 2 8 36
|
||||
68909: 17 2 4 95 7 7
|
||||
544353645: 165 406 8 272 7 9 5
|
||||
3991: 499 5 6 967 1
|
||||
648: 71 8 1 76 3
|
||||
225402: 3 6 1 8 4 446 4 8 1 91 6
|
||||
57123: 163 35 6 31 36
|
||||
113: 1 5 17 3 8
|
||||
23556642: 314 4 7 30 2 1 994 642
|
||||
10486: 1 3 4 2 98 7
|
||||
180390: 4 6 8 8 1 178 5 7 6 4 921
|
||||
8605146: 6 9 4 9 8 5 5 45 57 3 541
|
||||
17616456: 402 6 62 8 57 11 78 59
|
||||
176424: 3 860 17 31 6 2 1
|
||||
384655: 1 94 808 5 855
|
||||
30262: 73 29 39 862 1 2 81
|
||||
177915546: 778 9 1 6 9 2 254 1 737
|
||||
11360958: 98 74 87 233 1 3 8 5 6 6
|
||||
96296769: 60 15 2 659 2 5 1 8 3 3 9
|
||||
42275: 3 34 2 15 95 5
|
||||
139: 7 7 8 82 1
|
||||
925: 613 6 71 9 95 82 49
|
||||
312832: 13 8 3 35 5 2 41 3
|
||||
576900656: 4 3 941 8 50 6 656
|
||||
95919151932: 61 898 19 120 31 932
|
||||
94848596: 5 8 6 5 2 394 78 592 3 1
|
||||
15668345980: 41 7 970 263 214
|
||||
18489900: 4 6 85 7 2 4 33 7 22 6 5
|
||||
9308198312: 1 9 1 9 20 8 5 8 9 4 695 8
|
||||
23946624: 1 6 7 99 6 3 1 234 832
|
||||
2638191: 3 550 90 53 9 372
|
||||
19588249: 83 236 240 8 1
|
||||
638513427: 2 60 9 9 513 427
|
||||
1216718: 9 163 8 64 3 969 7 1 9
|
||||
222109: 22 1 3 78 729
|
||||
4733783: 95 2 680 544 98 3
|
||||
8356663: 8 8 806 3 54 55
|
||||
354352601687: 8 4 9 186 9 9 1 4 236 5 7
|
||||
2878: 1 63 1 6 6 5 1 3 7 7 140 1
|
||||
1262211174: 7 95 28 52 70 567
|
||||
1899: 2 7 8 8 883 986
|
||||
845283: 6 42 335 4 5 9 8 3
|
||||
152: 3 4 4 4 2
|
||||
2009491: 591 34 91
|
||||
12627321994: 1 802 8 7 1 771 1 994
|
||||
38022583: 4 75 7 44 9 9 20 5 7 7 6
|
||||
275043600458: 2 716 4 7 6 4 675 3 5 3 5
|
||||
334234846: 172 286 97 2 6
|
||||
10136940081840: 650 1 769 3 3 767 880
|
||||
455076: 332 24 71 6 18
|
||||
902: 19 29 53 19 279
|
||||
169: 2 36 97
|
||||
195391386: 74 4 474 9 6 7 2 6 8 87 9
|
||||
2114: 510 940 7 640 19
|
||||
14445848: 97 6 37 55 4 95 736
|
||||
123370: 72 5 546 198 16
|
||||
55503552: 3 3 12 803 8 1 5 3 2 8 8
|
||||
525816: 9 8 527 3 6
|
||||
241150070: 1 5 8 5 8 37 1 9 5 49 941
|
||||
149304064: 5 2 4 4 3 4 26 4 58 8 26
|
||||
27050: 56 135 5 6 23 2
|
||||
7856120149: 8 72 1 9 9 195 6 49
|
||||
27763005: 454 49 8 3 52
|
||||
50731: 157 562 10 4 85 62 6 9
|
||||
127589897: 85 482 708 89 897
|
||||
143720: 1 84 58 658 62
|
||||
2781830: 556 261 81 24 5
|
||||
15891692: 39 7 5 905 7 8 4 2 4 8
|
||||
378529376: 63 457 673 727 105
|
||||
8556592: 107 9 66 868 88
|
||||
8199886: 9 8 6 186 9 2 2 6 5 18 1 3
|
||||
142099: 98 144 1 4 965
|
||||
9721098229: 8 9 5 5 54 5 6 4 85 822 6
|
||||
3817254485: 7 9 1 2 5 267 4 4 222 5
|
||||
408599747716: 417 36 44 979 95 5 16
|
||||
55794762211: 867 725 643 447 11
|
||||
10839344: 97 986 9 319 25
|
||||
2231247: 620 11 6 814 1 4 73 75
|
||||
261299012: 1 653 247 53 4
|
||||
18110146987: 371 1 488 46 6 987
|
||||
99971: 8 40 449 13 1
|
||||
298713002449: 3 36 27 495 867 661 3
|
||||
238033532: 237 945 3 882 32
|
||||
10556: 99 8 9 9 8 5 258 5 9 6 2
|
||||
524481: 9 515 481
|
||||
2276999438: 8 8 9 5 3 756 96 3 3 7 2
|
||||
44941674: 2 3 4 4 7 76 7 1 431 1 8 3
|
||||
49317: 2 3 8 6 4 3 889 2 1 44 37
|
||||
480984715: 9 7 3 8 226 3 6 2 7 2 7 15
|
||||
25589960: 96 55 840 2 44 95
|
||||
6873212: 31 1 221 8 5 2 32
|
||||
986172: 8 15 168 3 170
|
||||
430428157: 430 359 69 154 3
|
||||
65733: 5 42 87 676 81 8 62 53
|
||||
42642235: 52 74 416 175 9 476
|
||||
40868100: 3 773 9 7 65 7 2 4 75 1 7
|
||||
603298736: 2 1 1 43 49 11 4 8 34 7 9
|
||||
2983206: 4 847 6 51 8 3 87 842
|
||||
20877362: 9 8 5 7 494 40 903 2
|
||||
31364: 32 98 6
|
||||
37943222606: 63 61 1 9 84 1 34 709
|
||||
206643072: 81 3 7 9 9 4 444 6 4 8 6 4
|
||||
43636126068: 18 202 33 6 8 3 4 5 69
|
||||
21341959: 8 6 45 4 941 3 3 5 2 8 3 7
|
||||
2440764: 4 5 2 37 78 2 7 5 4 9 449
|
||||
5537: 6 919 9 6 8
|
||||
36738: 4 7 8 729 7
|
||||
67127: 5 671 1 2 7
|
||||
12: 6 1 2
|
||||
332334874: 9 9 400 666 874
|
||||
66677: 90 729 5 932 90 40
|
||||
2464753: 35 15 97 131 293 8 6 1
|
||||
11091442110: 3 210 4 7 7 177 7 705
|
||||
382211: 4 97 3 4 8 64
|
||||
6269: 80 78 29
|
||||
21082627056485: 739 7 413 285 64 88
|
||||
1375909900: 410 1 497 7 8 2 1 6 844
|
||||
27565274880: 297 528 1 1 522 640
|
||||
15680994: 3 9 4 76 4 89 9 94
|
||||
252648: 6 39 4 21 264
|
||||
207180: 9 2 8 4 27 3 169 376 4
|
||||
631098808: 4 611 216 1 6 754 808
|
||||
12874752: 2 2 6 8 14 922 2 528 3 4
|
||||
28433: 4 687 94 7 6
|
||||
170688807219: 948 2 7 1 6 4 1 4 5 5 73 3
|
||||
25564711968: 53 9 1 2 464 69 837
|
||||
14176365: 622 1 1 37 615
|
||||
1087250: 6 89 8 92 3 83 599 7 2 6
|
||||
5226130: 17 563 6 44 9 329 3
|
||||
8856: 1 1 207 1 8 41
|
||||
46932: 7 7 3 8 4 1 11 4 23 2 2 3
|
||||
1276683: 72 42 522 9 4 6 819 4 3
|
||||
87938458114: 4 930 7 4 8 7 42 6 3 8 5 5
|
||||
269458560: 65 98 6 3 8 8 5 287
|
||||
57646: 9 567 46
|
||||
48882363: 747 14 793 9 4 81
|
||||
156800964917: 3 10 418 350 964 917
|
||||
11781: 5 1 6 9 4 91 980 8 41 2 2
|
||||
8548714: 683 5 25 90 7 15 1 4
|
||||
34195857433: 1 341 95 857 433
|
||||
49555840: 6 145 712 8 80
|
||||
44079: 87 8 56 625 32 12 1 1 2
|
||||
8413057884: 458 994 440 22 42
|
||||
110858: 1 9 712 7 2 5 882 104 8
|
||||
236698619898188: 83 4 9 9 8 50 62 79 1 88
|
||||
460385: 1 8 44 867 7 79 1 5
|
||||
4418270730: 4 9 18 23 166 75 878 6
|
||||
67213: 841 8 78 39 952
|
||||
385816: 3 828 8 90 2 198 8 28
|
||||
93881308: 50 88 96 7 4 121 8 1 88
|
||||
33589984: 876 7 2 383 471 4
|
||||
176936: 8 6 8 5 741 136
|
||||
12875: 5 9 5 9 4 7 31 9 9 147 6 5
|
||||
12232620: 50 5 4 6 5 1 6 5 13 9 9 5
|
||||
329919079975: 61 3 2 169 3 6 901 75
|
||||
193235224: 379 19 8 91 7
|
||||
155328: 149 653 7 4 8 6
|
||||
36967: 2 2 4 6 7 3 44 597 8 4 8 7
|
||||
65955: 61 148 315 22 98
|
||||
2811281831: 8 66 345 74 511
|
||||
7376: 64 68 908
|
||||
3609: 2 4 10 6 9
|
||||
1288605: 209 8 6 48 5 951
|
||||
20371644924: 4 5 5 929 11 23 8 5 3
|
||||
591: 57 55 35 4 3
|
||||
4766235: 3 67 596 7 1 546 915
|
||||
2594601: 45 9 1 4 9 8 41 8 92 8
|
||||
4606: 5 453 1 7 8
|
||||
43871524233198: 979 2 8 6 7 8 4 23 3 19 8
|
||||
15505891709: 1 5 5 664 28 5 521 7 77
|
||||
917: 4 25 16 704 97
|
||||
24252714: 2 6 8 1 6 89 1 753 8 8 7 6
|
||||
10821339: 2 654 95 857 9
|
||||
1726956: 1 978 882 2
|
||||
446810: 812 83 87 91 5
|
||||
35291: 636 9 6 939 8
|
||||
6094: 3 2 24 2 1 3 8 215 7 1 51
|
||||
30503902271525: 6 5 503 9 5 2 22 715 2 8
|
||||
11930387478: 6 355 8 62 279 7 478
|
||||
2627928: 45 195 12 4 6 3 76
|
||||
21034853780: 233 6 9 3 8 92 3 77 780
|
||||
90548137: 236 6 23 4 83 8 1 49 1 7
|
||||
1413: 60 4 2 5 203
|
||||
634246200: 3 10 63 340 987
|
||||
83865602: 5 2 8 34 2 5 4 4 9 160 7 2
|
||||
758333016: 6 35 94 14 7 3 8 7 7
|
||||
630205: 185 6 655 936 5
|
||||
14289: 33 1 7 60 9
|
||||
3329920: 1 87 473 40 2
|
||||
4136648: 4 13 665 1
|
||||
3948306410635: 3 927 21 306 410 635
|
||||
1048233: 1 8 382 8 57
|
||||
1458: 2 891 4 8 421 9 67 49 7
|
||||
1636231872: 29 659 6 473 838
|
||||
20691044705019: 9 2 8 815 84 884 2 7 4 9
|
||||
8835966: 5 34 2 8 8 857 6 1 2 6 7 6
|
||||
356400253174: 6 8 9 825 15 8 1 22 174
|
||||
26469: 2 5 540 7 9
|
||||
225297: 4 3 49 24 368 81 1
|
||||
2668: 4 4 650 4 4
|
||||
484139630: 480 1 2 2 9 3 96 30
|
||||
7099676410310: 7 47 3 343 58 98 95
|
||||
1019402861: 1 88 9 7 3 1 67 5 67 861
|
||||
617322420: 304 7 36 4 334 5 58
|
||||
781895: 7 8 516 41 1 1 31 6 9 5
|
||||
26017029657: 5 52 158 3 9 291 9 46 8
|
||||
187360: 66 6 314 1 811 8
|
||||
7681: 844 9 1 1 83
|
||||
15104247: 35 4 49 13 3 77 79
|
||||
663129363: 1 2 6 7 35 129 4 786 6 4
|
||||
324737: 1 9 8 272 361 6 931 2 5
|
||||
22853568: 71 5 2 4 4 1 362 4 68 52
|
||||
764449: 78 98 49
|
||||
32185023: 2 4 575 597 4 4 5 2 9 33
|
||||
261588496: 38 1 862 867 2 778
|
||||
496800: 508 1 930 1 345
|
||||
408: 2 1 93 6 4
|
||||
499838805: 4 9 911 5 705 18 805
|
||||
221260: 3 5 4 3 22 659 94 7 230
|
||||
20166689766943: 60 6 11 8 6 8 6 7 8 694 3
|
||||
1536: 9 181 1 8 8 8
|
||||
19758946: 1 484 485 84 45
|
||||
14280: 29 72 866 818 4 2
|
||||
2145600: 52 26 334 35 5 960 1 1
|
||||
207872626799: 933 557 56 70 40
|
||||
12902400: 210 80 16 1 48
|
||||
1892679164: 1 189 2 679 162
|
||||
68800092: 6 3 80 3 7 3 65
|
||||
110: 11 14 85
|
||||
37000: 30 7 86 2 880
|
||||
124160173238: 2 608 407 476 36
|
||||
20446289: 117 9 2 230 38 5 137
|
||||
24726218: 4 99 8 18 3 21 723 74
|
||||
8674082462: 1 3 2 6 737 816 2 4 5 8 5
|
||||
24056850: 2 652 7 5 734 5
|
||||
40048062647: 4 5 5 4 472 8 61 1 4 2 47
|
||||
8183110518751: 49 201 77 9 828 8 8 3 7
|
||||
2931: 3 1 2 80 4 2 6 6 3 5 808 3
|
||||
575029629: 89 7 923 5 76 53
|
||||
139144: 34 37 288 9 4
|
||||
303299: 9 351 4 7 30 4 4 885 6
|
||||
413032933098: 4 80 27 860 73 30 98
|
||||
28651637: 3 6 7 3 66 51 8 6 38 9 8
|
||||
4371578: 9 541 2 458 242 642
|
||||
9489820950: 414 5 9 6 693 8 4 355 9
|
||||
41886: 221 97 30 5 2 3 4 1 6
|
||||
5866443: 5 814 6 518 43
|
||||
265613: 45 65 7 9 27 61 82 4 29
|
||||
1226636: 14 34 28 5 92
|
||||
13802162457: 326 3 669 2 4 39 3 1 9 3
|
||||
132435472: 6 9 4 248 47 598
|
||||
21650: 1 6 4 1 48 750 5 3 7 8 10
|
||||
296410818: 83 113 28 40 833 786
|
||||
22359: 37 579 5 4 6 4 900 17
|
||||
449129634: 1 3 28 445 38 2 3 1 31
|
||||
239: 3 27 5 8 9 72
|
||||
2922740921: 4 5 9 9 66 87 9 79 7 2 8 9
|
||||
5834400: 2 388 68 4 55
|
||||
2564: 42 61 2 1
|
||||
721703: 35 3 5 89 1 13 63 85 9 7
|
||||
4687: 3 7 458 9 98
|
||||
448519503: 615 5 4 17 5 11 39 1 2
|
||||
8022: 32 44 4 2 5
|
||||
164334333035: 412 49 493 22 37 1 6
|
||||
851904: 47 39 951 9 34
|
||||
383934: 566 2 61 4 61
|
||||
1660902076262: 692 4 17 20 3 762 60 2
|
||||
3022: 3 10 97 9 72 31
|
||||
52497: 40 9 115 92 5
|
||||
250624: 3 916 64
|
||||
919152: 918 4 1 29 724
|
||||
298566832673: 38 81 97 832 674
|
||||
9601: 8 4 276 530 3 6 220 2 8
|
||||
1220415: 32 810 52 65 5 21
|
||||
47290143: 4 75 9 5 51 4 87 6 15 5
|
||||
2924959312: 305 959 9 253 59
|
||||
3511836: 3 8 1 225 7 2 854 8 188
|
||||
24731293: 953 6 2 6 75 7 9 8 5 4 9
|
||||
186921: 73 2 757 207
|
||||
12622: 48 9 220 82
|
||||
5099353: 869 1 8 5 5 8 8 2 8 89 8 1
|
||||
5374004: 34 2 21 4 1 65 1 4 6 75 5
|
||||
25507440: 8 50 3 743 9
|
||||
1531956: 9 326 87 6 4 7 8 5 384
|
||||
100407: 5 9 8 842 4 37 92 9 9 7 3
|
||||
11815095: 3 47 1 4 34 95
|
||||
546574583: 63 555 14 86 5 374
|
||||
56789271: 9 97 73 4 9 27 2 3 9 11
|
||||
922332: 7 5 337 241 5 85 9 303
|
||||
8951: 99 459 8 2 23
|
||||
44833500: 228 1 477 117 410
|
||||
15619868: 64 53 267 7 5 8 10
|
||||
27837018: 8 9 3 1 8 863 16 1 9 9 7 2
|
||||
29988083337: 49 970 9 4 7 31 7 84 6 6
|
||||
3882750097665: 167 5 75 620 9 76 65
|
||||
136114788: 133 413 59 7 7 72 6
|
||||
7107373: 49 19 84 339 7
|
||||
37004: 2 979 2 208 6 5
|
||||
532545780: 58 7 13 42 5 45 77 3 7
|
||||
382484592: 882 951 114 4
|
||||
80040: 14 5 89 92 5 8 450 62
|
||||
366200: 1 2 1 72 57 342 90 9 9 1
|
||||
85170961: 84 1 73 82 472 6 28 45
|
||||
121824: 7 73 1 738 2 17 96
|
||||
227158: 5 4 6 32 6 9 2 4 8 7 8 106
|
||||
131095569: 32 1 6 1 4 4 3 5 88 2 3 33
|
||||
10194609: 30 4 6 2 51 7 26 3 2 1 7 1
|
||||
26991869: 3 2 1 508 7 2 6 7 8 838
|
||||
209499770024: 5 64 87 501 35 43 5
|
||||
5499: 6 9 31 62 6
|
||||
504783997: 504 7 83 829 169
|
||||
74468820: 958 6 83 62 2 465
|
||||
53087400: 7 2 966 258 725
|
||||
11104: 3 716 44 5 53 82 1 6 3
|
||||
1341837369: 6 938 8 405 70 19 24 9
|
||||
20321309: 3 3 7 140 6 6 64 9 4 9 7
|
||||
704762544: 61 56 460 424 6
|
||||
8145: 2 23 8 7 1 3 371 1 10 1
|
||||
1575: 71 4 3 4 2 872 79
|
||||
3837597: 68 21 19 85 141
|
||||
2697369: 260 6 3 73 4 1 6 3 9 7 4
|
||||
350742714: 16 2 856 2 84 1 671 7 4
|
||||
24882336093: 9 57 8 880 62 2 31 1 3
|
||||
5260: 6 4 43 20 5
|
||||
84760: 684 834 60 4 48 52
|
||||
32195501: 64 125 3 74 3 8 3 17
|
||||
9773075972: 725 35 7 401 12 1 53 4
|
||||
2263: 8 23 72 31 1
|
||||
319336: 319 249 86
|
||||
596229888: 7 4 85 1 454 6 5 4 8 3 32
|
||||
777296: 25 8 769 6 962
|
||||
3630504993: 74 5 2 270 5 9 14 6 6 6 6
|
||||
1167712814: 7 8 2 7 7 13 3 1 3 164 7 7
|
||||
59925338900: 3 2 392 3 8 378 1 2 490
|
||||
1143664016358: 9 129 6 98 401 636 1
|
||||
451243440: 25 5 61 9 728 586 930
|
||||
96979: 371 855 1 66 75 4
|
||||
32592: 637 51 1 97 7
|
||||
281215: 3 79 5 7 98 17 9 15
|
||||
1240533200: 609 97 42 40 5
|
||||
177223221: 5 822 880 7 7 4 1 6 6 5
|
||||
669480: 10 2 74 74 1 430 1 829
|
||||
16395: 859 11 6 3 8 6 721
|
||||
230642792: 8 541 7 3 9 73 95 1 93
|
||||
2653946354772: 1 57 94 3 5 65 29 4 318
|
||||
7203575: 6 72 6 9 185 733 49
|
||||
23585069: 9 2 3 593 26 59 2 7 4 6 5
|
||||
1875280072: 872 54 675 8 59
|
||||
361349: 6 930 4 13 988
|
||||
8801598: 5 415 70 8 480 7 99 2
|
||||
717: 41 3 7 3 8 398
|
||||
12118286: 91 30 1 828 6
|
||||
116973878000: 30 48 56 500 812
|
||||
2535626817: 61 90 6 491 81 19 3
|
||||
2385: 394 2 7 3
|
||||
109572: 8 9 8 4 6 2 390 8 8 65 4
|
||||
81224908677: 4 468 7 20 5 79 363
|
||||
36103148: 390 9 30 754 407 4
|
||||
3863889: 5 25 412 98 98 89 42
|
||||
7158760: 94 7 9 65 1 25 6 5 10
|
||||
93759996960: 91 858 47 5 6 7 730
|
||||
786357: 78 50 64 56 2 2 8 7 99
|
||||
2038622: 753 66 41 997 7
|
||||
373685: 781 18 2 616 5 1 8 13
|
||||
15591: 47 43 74 93 339
|
||||
105251390157: 1 92 7 7 7 982 4 4 8 210
|
||||
3725159: 8 992 8 3 1 2 4 85 607
|
||||
36406960: 789 4 4 571 80
|
||||
408622: 64 304 7 3 46
|
||||
2478: 1 42 59
|
||||
1199435490: 5 65 61 14 14 4 6 605
|
||||
104684: 1 10 89 4 681
|
||||
150774920: 7 4 6 6 9 1 4 58 5 83 440
|
||||
338745: 45 57 66 14 2 90 47
|
||||
35057: 333 8 9 57
|
||||
2065336: 1 516 211 4 492
|
||||
12994083: 4 95 7 4 7 9 676 7 4 2 5
|
||||
59094735045: 8 873 3 4 1 4 6 555 4 7
|
||||
317202: 85 690 49 928 747 8 2
|
||||
40708711: 22 4 1 6 9 459 1
|
||||
32694300: 319 71 723 195 84 21
|
||||
253046610: 6 3 2 3 307 6 636 3 1 4 2
|
||||
114748: 72 398 1 29 1 4
|
||||
23317289089: 9 420 97 26 49 4 5 88
|
||||
450512522712: 1 5 528 39 1 2 1 632 8 9
|
||||
10228512: 8 64 961 248 28
|
||||
64514: 85 5 3 8 2 9 2 104 7 6 4 2
|
||||
34: 3 4 4 4 2
|
||||
27328: 1 28 216 112 1
|
||||
1281329910: 79 2 3 4 595 699 35 6
|
||||
375758: 8 281 13 59
|
||||
312352: 77 425 7 22 780 4
|
||||
19811: 6 9 73 6 1 3 7 3 5 9 7 364
|
||||
795267: 329 1 6 3 649 9 249 87
|
||||
3510959: 5 7 109 59
|
||||
783516: 717 95 80 3 3 990 4
|
||||
10355981: 799 54 240 7 934
|
||||
94864: 147 6 1 616 1
|
||||
3515: 1 2 5 6 5 1 173 69 2 7 2 5
|
||||
151977: 6 3 5 508 13 85
|
||||
108112: 43 99 76 6 186
|
||||
796102075: 3 7 25 1 6 860 70 5
|
||||
8990: 14 98 6 664 32 62
|
||||
40554858: 19 96 7 107 23 9 39
|
||||
8653752: 735 644 1 2 196 914 6
|
||||
10582077: 4 163 7 9 6 2 4 3 7 808 7
|
||||
352033406: 78 5 539 64 87 13 597
|
||||
20030793021: 4 252 552 5 2 947 993
|
||||
1763041: 96 491 67 2 7 3 4
|
||||
497341235: 3 99 46 809 5 6 53 6 8 2
|
||||
290305266: 672 8 9 500 8 2 6 573 2
|
||||
40539212: 754 8 56 34 3 8 5 3 89
|
||||
15029: 7 4 2 760 9
|
||||
457576: 9 56 469 6 8 3 5 2 89
|
||||
6226858092: 37 9 2 7 6 8 9 6 60 4 273
|
||||
699210: 78 2 97 9 90
|
||||
31731: 4 424 8 9 236 7
|
||||
102: 9 7 5
|
||||
2973576: 16 8 274 54 598 749 6
|
||||
12222284: 6 1 5 338 269 22 74 3 9
|
||||
45145752762: 627 6 4 570 7 7 254 3
|
||||
36036528: 2 79 7 9 424 524 2 6 11
|
||||
740491: 74 5 69 5 491
|
||||
1836207923040: 57 30 7 388 837 4 360
|
||||
74510: 8 6 7 12 9 86 4 4 5 22 80
|
||||
1228415259: 57 7 573 27 7 5 199
|
||||
194940: 2 9 8 2 440 7 81 9 1 3 95
|
||||
4739029339: 649 73 9 8 10 349 339
|
||||
7371: 219 30 538 120 143
|
||||
2936835272: 1 8 34 1 698 55 5 5 27 2
|
||||
1818672: 50 7 77 9 29 26 1 2 24
|
||||
4914: 34 1 101 47 2 4
|
||||
48531129: 31 1 593 264 9
|
||||
398402: 4 249 5 8 1 1 1
|
||||
13046500: 4 144 906 4 25
|
||||
19458633533: 926 51 9 7 1 4 6 17 7 3
|
||||
856: 9 11 1 366 465 2 2
|
||||
938590387485: 9 9 3 3 652 7 1 166 9 3 5
|
||||
7808941968: 8 3 87 5 89 7 3 9 54 9 6 4
|
||||
34632322: 1 524 731 66 76
|
||||
3963: 68 2 268 2 7 11 8 571
|
||||
9952828: 4 21 7 99 20 7 4 181
|
||||
18895: 88 3 2 6 93
|
||||
99421: 4 3 7 8 329 6 8 2 3 2 7 9
|
||||
159011265: 991 563 57 72 5
|
||||
348312220113: 843 370 971 22 7 59 4
|
||||
6880: 256 478 5 8 8 1 7 9 8 5
|
||||
352393632: 1 814 72 6 432
|
||||
4008: 326 7 8 990 4 350
|
||||
12661158318: 535 8 98 7 7 665 5 543
|
||||
518193210: 2 90 714 6 6 8 2 74 7 52
|
||||
46254139: 7 8 593 1 39
|
||||
394686: 577 604 5 79 2 39 4 6
|
||||
112728: 6 5 3 4 782 93 9 3 61 1 2
|
||||
2306719800: 420 89 726 17 5
|
||||
7267681530: 1 2 6 1 7 74 6 6 9 153 1
|
||||
1134704: 2 8 3 5 6 82 6 2 3 2 70 8
|
||||
652478: 690 944 32 996 88 2
|
||||
5997: 426 26 2 91 6 9 8 2 1 7
|
||||
28975385016: 90 542 9 6 5 91 11 6
|
||||
4040151: 93 22 4 389 9
|
||||
28446: 45 90 848 7 303 22
|
||||
74958967774: 5 962 783 29 33 3 1 5 6
|
||||
375425820: 61 7 1 21 57 5 660 63
|
||||
16455144: 8 846 77 5 6 2 5 8 4 3 48
|
||||
337280: 5 388 93 1 919 5 9 8 6
|
||||
6168708: 11 50 8 94 882
|
||||
690590: 7 92 17 9 5 30 53
|
||||
7496: 742 5 2 76
|
||||
28376568: 65 88 75 948 66
|
||||
1070640: 3 44 7 7 74 6 6 93 167 3
|
||||
104380007560: 4 9 5 4 2 5 850 7 560
|
||||
9963: 76 22 476 848 7 9
|
||||
28656749040: 50 24 341 979 8 20 58
|
||||
6995418: 563 230 7 39 9 70 8 6 6
|
||||
21372: 117 96 72
|
||||
1067: 687 287 93
|
||||
12623966456: 10 21 558 8 4 7 4 645 8
|
||||
105355968: 1 404 4 7 1 6 1 5 6 8 194
|
||||
826063098: 185 2 610 3 6 61
|
||||
16871129: 187 4 57 1 90
|
||||
2824034019: 227 33 3 4 2 9 9 70 2 1 9
|
||||
7915404000: 3 9 48 161 1 964 8 85
|
||||
6558605: 17 1 5 9 716 4 2 7 6 9 1 3
|
||||
7925: 95 8 489 336 5
|
||||
42147842: 447 1 64 42 35 2
|
||||
8072613: 9 7 8 458 828 9 3 501
|
||||
517482: 879 84 31 1 58 7
|
||||
1401397: 9 1 5 7 440
|
||||
357489: 136 6 54 4 409 8 4 2 7 2
|
||||
63499: 503 35 5 932 9 85 235
|
||||
227: 8 16 99
|
||||
5854167: 4 9 6 4 430 6 9 964 203
|
||||
175: 64 19 5 11 76
|
||||
574393600: 4 652 199 200 22
|
||||
722: 1 3 9 5 31 193 2
|
||||
536406271461: 993 3 44 5 4 1 4 6 1 6 9 9
|
||||
4860859152991: 33 5 3 5 9 9 4 601 8 991
|
||||
22242550: 94 87 2 75 5 1 407 5 5
|
||||
733090: 5 25 85 9 12 4 8
|
||||
16391: 351 5 53 7 4
|
||||
2540: 314 8 20 8
|
||||
2
data/08.ans
Normal file
2
data/08.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
295
|
||||
1034
|
||||
50
data/08.in
Normal file
50
data/08.in
Normal file
@@ -0,0 +1,50 @@
|
||||
..f........................8......................
|
||||
G............8..u.................................
|
||||
........G...p.....................................
|
||||
......d.....................n.....................
|
||||
..................................................
|
||||
.....................................K............
|
||||
..................F...8.n...B.K...................
|
||||
....b.........8..u................................
|
||||
...............F.p.......B.............4.....5....
|
||||
....f..d..U.........................c.............
|
||||
...........U.....d.n.u.0................5.........
|
||||
...Y.......f..........................5...........
|
||||
..........................u.....d.....e.........4.
|
||||
..F...p.............v........n....................
|
||||
....s.............0...............................
|
||||
...US.s....g.....D..........................4.....
|
||||
......wG...............S..........................
|
||||
.............................B.....e..............
|
||||
.........w.........................A..............
|
||||
.............9w.g..........................4......
|
||||
U....9..g.....v.....P....D.....f.K................
|
||||
.s.............0..9........pP..........5..........
|
||||
..9s...................P..........................
|
||||
.............b..................0.....A..2....e...
|
||||
....................b.....V..v....................
|
||||
.......7........B......................A..........
|
||||
..................D6...V....q.....................
|
||||
...v............D....PV...........................
|
||||
.........Y...........g.......................e..y.
|
||||
.......SW......V..7....................c..........
|
||||
.......bY7.....................N........A.........
|
||||
.....................q.N..........y...............
|
||||
........................N.........c...............
|
||||
..................................................
|
||||
.........C..7..................q........2.........
|
||||
............................N...q.................
|
||||
...W......C3...Q................a1.........y......
|
||||
.......W.......................3......2...........
|
||||
........3...........6.............1...............
|
||||
....3............C.1....................k.........
|
||||
E..................................a.....c........
|
||||
.............................................w....
|
||||
..S.......................Q..........2......k.....
|
||||
......................C....6.......Q......ak......
|
||||
..................................................
|
||||
.................E.............a1............y....
|
||||
W..........E......................................
|
||||
......E...........6...........Q...................
|
||||
...........................k......................
|
||||
..................................................
|
||||
2
data/09.ans
Normal file
2
data/09.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
6401092019345
|
||||
6431472344710
|
||||
1
data/09.in
Normal file
1
data/09.in
Normal file
File diff suppressed because one or more lines are too long
2
data/10.ans
Normal file
2
data/10.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
638
|
||||
1289
|
||||
50
data/10.in
Normal file
50
data/10.in
Normal file
@@ -0,0 +1,50 @@
|
||||
14567892107654348943218769016567650154541210421036
|
||||
03456783298993267654309458122168743243450344323145
|
||||
12567654456780154327812367433059804012769455410234
|
||||
03498012349876065016901056544965418765898766708943
|
||||
12345101212145076545411034545878329658981055899854
|
||||
09876876705034187632110123656789421047432765988765
|
||||
67878965896123298901001656743078431236598894012034
|
||||
50965014387654567650012349856127340012367653213125
|
||||
41234321298347656543243492347833458903458743404987
|
||||
30087430178298343650156781016942167812769252985676
|
||||
21196567069121243761056432679851043212890101679854
|
||||
33203498451080252852347841589765654301285234521763
|
||||
14512432347890161943210950432106567610106501430012
|
||||
01693501036543270856102167645656788943217432567897
|
||||
32789672321015389987343078938765497654998549879898
|
||||
45679987410234578101256560129812321067801456734787
|
||||
03478756500187665432107452121901054328982340125676
|
||||
12568767891098987013898943030810167017654321010210
|
||||
21079458910127698123965436945107878988901267124378
|
||||
30980349821034787654876327876716901210985458095469
|
||||
45671210136765693454761016329825432345671329186954
|
||||
12789800345876548763876125419434501654510413277843
|
||||
03543211238989439012985630308765898746701204567832
|
||||
14623400141232323101234521678906567239874343236901
|
||||
25710519850541014143219834567611452108965650145690
|
||||
76897678769650001054301712106320143210345789036781
|
||||
87678989678742112363212601235431234321276988325432
|
||||
90549876349233678478004592347842389123489676710876
|
||||
21632305256104569589123487656965476016512369856945
|
||||
52301014107012345670149874565456365017603450747832
|
||||
65490123458912396501234563432147454328214921632401
|
||||
86985432167905487654341012563038901039309834521321
|
||||
97876789001856778761232127678127612398712701100410
|
||||
89810678012760869890103238999210543125625632234509
|
||||
76701549013451987217876434785695610034534548765678
|
||||
05432432174012987301987325654780123435210159854789
|
||||
12980120985123673458986510783279234987346543123898
|
||||
43878921976034562567603412892168765679857012010187
|
||||
34565437852178901070412103601001410012768001921236
|
||||
45430566543065012181543014580432321003459122876545
|
||||
50121098767654327892678877698569457654219433468904
|
||||
23292145678954218983019988087658768894308596567812
|
||||
14587239010563007654128679112565489765107687656521
|
||||
05674678323472167659436543203474321087230156785430
|
||||
96983565401089898748540987654589321098543243896543
|
||||
87874328992396701037621296562105465407698012565432
|
||||
78765017687478632128760345673456978312789801478521
|
||||
29653078596569543019656921087567889213456700329650
|
||||
12532169430430156010567892193610367804765410418789
|
||||
03445678321321060123456543012323458912894321001678
|
||||
2
data/11.ans
Normal file
2
data/11.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
189167
|
||||
225253278506288
|
||||
1
data/11.in
Normal file
1
data/11.in
Normal file
@@ -0,0 +1 @@
|
||||
28 4 3179 96938 0 6617406 490 816207
|
||||
2
data/12.ans
Normal file
2
data/12.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
1374934
|
||||
841078
|
||||
140
data/12.in
Normal file
140
data/12.in
Normal file
@@ -0,0 +1,140 @@
|
||||
YYYYYYYYRZIZYYYYYPGPPPPPGGGGGGGGGGGGGKKKKYYYYYYYYYYYFFFFFFFFFFFFFFSSSJOOOJJJJJJJYJJJJJCCCCCCCCCCCCCCFFFFKKKKKKKKKKKRRNNNNNDNNNNNNNNUUUSSSEEE
|
||||
YYYYYYYYYZZZYYYYYYGGGPPPGGPGGGGGGGGGKKKKKYYYYYYYYYYFFFFFFFFFFFFFFSSSPOOOOJJJJJJYYJJJJJJJJIICCCCCCCCCCKKKKKKKKKKKKKKKKNNNNNNNNNNNNNNUUUSSSSSE
|
||||
YYYYYYYYYYZZYYYYYYYGGPPPPPPPPPPVGGGKKKKKKYYYYYYYYYYYFFFFFFFFFFFSSSSSSOOOJJNJJJYYYJJJJJJJJIICCCCCCCCCCPKKKKKKKKKKKKKKKKNNNNNWNNNNNNNUUSSSSSSS
|
||||
YYYYYYYYYYZZYYFYYGGGGGGGPEEPEVVVVVVXKKKKKKYYYYYYYYYYFFFFFFFFFFFSSSSSSOOOONNJJJJYYJJJJJJJIIICCCCCCCCKKKKKKKKKKKKKKKKKKKKNNNWWNNNNNWNUUSSSSSSS
|
||||
YYYYYYYYYYYYYYYYGGGGGGGGPGEEEVVVVVVKKKKKKVYYYYYYWYFFFFFFSSSSSSSSSSSSSOOOUNNNNNJJJJJJJJJJIIIMMMCCCKKKKKKKKKKKKKKKKKKKKNNNWWWWWNNNNWNUUUSSSSSS
|
||||
YYYYYYYYYYYYYYYYGGGGGGGGGGVVVVVVVVVVKKKKKVYYYYYYYYYFFFFFSSSSSSSZSSSSSSOONNNNNNJNNJNNJJJQQIIMMMMCCCKKKKKKKKKKKKKKKKKKKYYNWWWWWWWWWWUUUUSSSSSS
|
||||
YYYYYYYYYYYYYYYGGGGGGGGVGGVVVVVVVVVVVVVKKBYYYYYFFFFFFFFSSSSSSSSSSSSSSSOOGNNNNNJNNNNNJJQQQQQMMMMCCCCCJKKKKKKKKKKKKKKKKYYYYWWWWWWWWWUUUUUSSSSS
|
||||
YXXXXXXYYYYYYYYGGGGGGGGVVVVVVVVEVVVVVVVKBBYYYYYFFFFFFFFFSSSSSSSSSSSSSSOOGNNNNNNNNNNNJBBQQQQMMMMMCCCJJJJKKKKKKKKKKKKKYYYYYYWWWWWWWUUUUUSSSSSS
|
||||
XXXXXXXXXYIIYYYGGGGGGGGVGVVUVVVEVVVVVVVBBBBBYYFFFFFFFFFFSSSSSSSSSSSYSSSOONNNNNNNNNNNJBBBQQQMMMMMCCCJJJJJKIKKKKKIIIIIIYYYYYWWWWWPPUUUUSSSISSS
|
||||
FXXXXXXIIIIIIYYGGGGGGGGGGGEUUUUEEVVVVVBBBBBBYFFFFFRRRFFSSTSSSSSSSSSYYYYOCNNNNNNNNNNBBBBBBBQMMMMMCCCJJJJJJIKIKKIIIIIIIIIIYYWWWWWPPPPUUUSIISSS
|
||||
FFFXXXIIIIIIGGGGGGGGGGGGGEEEUEEEEVVEERRRBBBBYYFFRFRRRRSSSSSSSSSSSSSSYYYYNNNNNNNNNNNBBBBBBQQQMMMMCCCRJJJJJIKIIKIIIIIIILIIIYWWWWVPPPPPPUUZZSSS
|
||||
FFFXXXWWWIIIIWWGGGGGGGGGGGEEEEEEEVEEEEEBBBBBBBFRRFFFRRVVSSYYSSSSSSSSYYYYYNNNNNNNNNNBBBBBBQQQMMMMCSCCSJSJJIIIIIIIIIIIIIIIIIBBWPPPPPPPPUZZZZSS
|
||||
FFFFFWWWWWWIWWWGWGGGGGGGGEEEEEEEEEEEEEEEBBBBBBBBRRRFRRRRYSYYSSSSSSYYYYYYTNNNHNNNNNNNBBBBQQQQMMMSSSSSSSSJJIIIIIIIIIIIIIIBBBBBBBBBPPPPPZZZZISS
|
||||
FFFFFWWWWWWWWWWWWWGGGGGGGEEEEEEEEEEEBBBBBBBBBBBBRRRFRRRYYYYSSSSYSYYYYYYYTNWNHNNNNNTTBBBQQQQQMMMSSSSSSSSSIIIIIIIIIIIIIIBBBBBBBBBPPPPPPPZZSSSS
|
||||
FFFFFWWWWWWWWWWWWWWGGGGGEEEEEEEEEEEEVVVBBVBBBBBBRRRRRRRYYYYYYYYYYYYYTTTTTTNNNNTTTTTTTBBBQQQQQMMSSSSSSSSSIIIIIIIIPIIBBBBBBBBBBBBPPPPPPPMZZZZT
|
||||
AAFFFFWWWWWWWWWWWJJJGNGGGEEEEEEEEEEEVVVVBVVBBBBBBRRRRRRYYYYYYYYYYYYTRTTTTTTTTTTTTTTTTTTBTQQQQQQQQSSSSSSSIIIIIIIPPNIBBBBBBBBBBBBBPPPBPPZZZZZZ
|
||||
AAFFFFAGWWWWWWWWWJJWWWGGGWEEEEEEEEEEVVVVVVMBBBRRRRRRRRYYYYYYYYYYYYYTTTTTTTTTTTTTTTTTTTTTTQQQQQQQSSSSSSSSIIIIIIIPPNBBBBBBBBBBBBBBBBBBBZZZZZZZ
|
||||
AAAAAAAGWWWWWWWWJJWFWWGGWWEEEEEEEEEEVVVVBVVBBBRRRRRRRRYYYYYYYYYYYYYTYYTTTTTTTTTTTTTTTTTTTTQQQQQQSSSSSSSSIIIIIIPPPPPBBBPBBBBBBBBBBBBBBZZZZZZZ
|
||||
AAAAAAAAAWWWWWWWJWWWWWWWWWWWEEEEEEEEEVVVVVVVBBRRRRRRRRYYYYYYYYYYYYYYYYTTTTTTTTTTTTTTTTTTTTTQQQQSSSSSSSSSIIIIIIPPPPPPPPPBWWBBBBBBBBBBKZZZZZZZ
|
||||
AAAAAAAAAAWWWWJJJWWWWWWWWWWWEEEEEEEEEVVVVVVVVVRRRRRRRRYWWYYYYYEYYYAYYYYTTTTTTTTTTTTTTTTTTTTQQQSSSSSSSSIIIIIIIIPPPPPPPPPBBWWWWBBBBBBBBZZZZZZZ
|
||||
AAAAAAAAAAWWWGJWWWWWWWWWWWWWEEEEEEEEEEEVVVVVVVRRRRRRRRWWWYYYYEEYAAAAAYTTTTTTTTTTTTTTTTTTTTTQTCCSSSSSSIIIIIISSSPPPPPPPPPBBWWWWBBBBBBBBKZKZZZK
|
||||
AAAAAAAARYWWWGJJGGWWWWWWWWWWWERRWWEEEGVVVVVVVVVRRRRRRRRWWWEEEEEEEAAAAAAAATTTTTTTTTTTTTTTTTTTTCCCSSSSSSIISSSSSSSPPPPPPPPBBWWWWBFWBBBBBKKKZZZK
|
||||
AAAAAAAAAYYYWGGGGGWWWWWWWWWWWWWWWWWYWVVVVFLKKVRRRRRRRRRWWFEEEEEEEAAAAAAATTRRRRRRRRTTTTTTTTTTTCCCSSSSSSSSSSSSSSSSPPPPPPPWWWWWWWWWWWBBBBKKKKKK
|
||||
AAAAAAAAYYYTGGGGGGGGWWWWWWWWWWWWWWWWWWJJLLLKKRRRRRRRRRWWWWWEEEEEEEEEEAAATTRRRRRRRRTTTTTTTTTTTTCCXSSSSSSSSSSSSSFFFPFFPSSSSSWWWWWWWBBBBBKKKKKK
|
||||
AAAAAAAYYTTTTTGGGGGGGWWJJWWWWWWWWWWWWJJJLLLLLLLLRRRRRWWWDWWWWEEEEAAAAAATTTRRRRRRRRTTTTTTTTQQQQXXXXRRSSSESSSSSSFFFFFFHFSWWWWWWWWBBBBBMMMKKKKK
|
||||
AAAAAASYYYYTTVGGGGGGWWWWJJJJYYWWWWWWWJJJLLLLLLLLLRRRRRDDDWWWWWWWWAAAAAAATTRRRRRRRRTTSTTTTTTQQQXXXXRRSSSEEESESSEEFFFFFFFWWWWWWWWBBBBBMKKKKJJJ
|
||||
JAAAASSYYYYYTVGGGGGGGWWWWJJYYYWWWJJJJJJLLLLLLLLLLLLLLDDDDWWWWWWAAAAAAAAAAARRRRRRRRFFSTTTTTTQXXXXXXXREEEEEEEEEEEEFFFFFFFFWWWWWWWWWHBKMKKKJJJJ
|
||||
JASSSSVVVVVVVVGGGGGWWWWWWJJGYGWWWNNUJJJLLLLLLLLLLLLLLLDDDDDWWWAAAAAAAAAAAARRRRRRRRFFFFPTTTTXXXXXXXXEEEEEEEEEEEEEJFFFFFFWWWWWWWWWZZBZZKKKJJJJ
|
||||
JJVVSSVVVVVVVGGGGGGWWWWYDJGGGGWWLNNUJJJLLLLLLLLLLLLDDDDDDDDDDWAAARRRRRRRAFRRRRRRRRFFFFPTTPPXXXXXXXXEEEEEEEEEEEEEFFFFFFFFFWWWWWWWWZZZZKZZJJJJ
|
||||
JJVVVVVVVVVVVVVVVVGWWYYYDDDGGGDLLNUUJJJLLLLLLLLLLLLDDDDDDDDDDWAAARRRRRRRRRRRRRRRRRFFFPPPPPPXXXXXXXEEEEEEEEEEEEEEFFFFFFFFFFFWWWWWZZZZZZZZJJJJ
|
||||
JJJVVVVVVIIIVVVVVVWWYYYDDDGGDDDDUUUUUUUUILLLLLLLLDDDDDDDDDDDDWWAARRRRRRRRRRRRRRRRRFPFPPPPXXXXXXXXXEEEEEEEEEEEEEEFFFFFFFFFFFWWWWWZZZZZZZLJJJJ
|
||||
JJJVVVVVIIIIVVVVVVVWYYYDDDDDEDDDDUUUUUULLLLLLLLLLDDDDDDDDDDWWWWWARRRRRRRRRRRRRRRRRFPPPPPPXXXXXXXXXXEEEEEEEEEEEEEFFFFFFFFFOFWWWZZZZZZZZZZZZJJ
|
||||
JJJVVVDDDIIVVVVVVVVDHDDDDDDDDDDFUIUUUUUULLLLLLLLLLDDDDDAIIDAWWWWARRRRRRRRRRRRRRRRRNNNNPPXXXXXXXXXXEEEEEEEEEEEEEEEEFFFFFFFFFFWWZZZZZZZZZZZVJJ
|
||||
JJJKKKDDDIIVVVVVVVDDDDDDDDDDFFFFUUUUUUUULLLLLLLLLLDDDDDAAIDAAAAKARRRRRRRRRRRRRRRRRNNPPPPXWXXXXXXXXXEEEEEEEEEEEGGGGFFFFFFFFFFWZZZZZZZZZZZZVZZ
|
||||
JJKKKDDDDDIVVVVVVVDDDDDDDDDDFFFUUUUEUUUUULLLLLLPLLDDDAAAAAIAAAAKMRRRRRRRRRAAAAANNNNNNNNXXXXXXXXXXXXXEEEEEEEEEFGGGGFFFFFFFFFFWZZZZZZZZZZZVVZZ
|
||||
KJKKKKKKDDDVVVVVVVDDDDDDDDDDFFFFFUUEEUUUUULLLPPPLQDDDAAAAAIAAAAKMRRRRRRRRRAAAAAANNNNNXXXXXXXXXXXXXXXXEEEEEESFFGGGGFFNNNNFRRRWZZZZZZZZZZZZVZZ
|
||||
KKKKKKKKDDDVRUSVVVDDDDDDDDDDFFFFFEEEEUUUUULLNNNNQQDDDPAAAAAAAAXMMRRRRRRRRRAAAAANNNNNNNXXXXXXXXXXXXXXNEEEEEEFFFGGGGNNNNNNNRRRRRZZZZZZZZZZZZZZ
|
||||
KKKKKKDDDDDDUUUVVVDDDDDDDDDDDFFFFEEEEUUNLLLLNNNNNQDDPPAAAAAAAAMMMRRRRRRRRRMMAAAANANNNNNXXXXXXXXXXNNNNNEEEEEFFFGGGGNNNNNNNNNNNNZZZZZZZZZZZZZZ
|
||||
YKKKKKKKDDDDUUUVVDDDDDDDDDDDDAFFFEEEEUNNNNNNNNNNNNRDPPAAAAAAAAHHMMMMMMMMMMMMAAAAAAMNNNNNXXXXXXNXNNJJJEEEEEEFFFGGGGNNNNNNNNNNNZZZZZZZZZZZZZZZ
|
||||
KKKKKKKDDDUUUUUUUUUDDQDDDMDDDAAAEEEEEUNFFNFFNNNNRRRRFPPAAAAAAHHHHHMMMMMMMMMMMMAAAAMNNNNXXXNNNNNXNNNJJJJPPJUJFFGGGGGGNNNNNNNNNZZZZZZZZZZZZZZZ
|
||||
KKKKKKKKKDDDDUUUUUUUQQDDDDDDDAAAAEEEEUFFFFFFNNNNFFFRFAAAAAAAAAHHHMMMMMMMMMMMMMMMMAMMNNNNNNNNNNNNNNNNJJJJJJUGGGGGGGGGNNNNNNNNNZZZZZZZZZEZZZZZ
|
||||
KKKKKKKKKDDDDUUUUUUUUUUDADDAAAAAEEEEENBFFFFFFFFFFFFFFAAAAAAAAHHHHHHMMMMMMZZMMMMMMMMNNNNNNNHHHHNNNNJNNJJJJUUGGGGNNGGGNNNNNNNSNNVVZZZZZEEEZZZZ
|
||||
KKKKKKKKKDUUUUUUUUUUUUUUAAAAAAAAEEEEEEBFFFFFFFFFFFFFFFAAAAAAAAHHHHHMMMMMMMZZZMMMMMMJHHHHHHHHHHNNNNJJNJJJJJUGGGGLLLLLLNNNNNNNNVVZZZZZEEEEEZZZ
|
||||
KKKKKKKKKKKUUUUUUUUUUUUUAAAAAAABBEEEEBBBFFFFFFFFFFFFFFAAAAAAAAHHHHHHHHMMMMMMMMMMMMJJHHHHHHHHHHNNNJJJUJJJJJJGGGGLLLLLLNNNNNNNNVVVVZZZEEEEEEZZ
|
||||
KKKKKKKKKKKUUUUUUUUUUUUUAAAAAAABBBBBBBBBBFFFFFFFFFFEFAALAAAAAAHHHHHHHHMMMMMMMMMMMMMJHHHHHHHHHBBNNJJJJJJJJJJGGGGLLLLLLNNNNNNNVVVVVVZZZEEEEEEE
|
||||
KKKEEEKKKKKUUEUUUUUUUUUHHHAAAAABBBBKBBBBBBBFFFFFFFFFFVALAKAAAHHHHHHHHHHHCCCMMMMMMMMJHHHHHHHHHBBNNJVJJJJJJJJGGGGLLLLLLVNVVVVVVVVVVZZZEEEEEEEE
|
||||
KEEEEEKEEEEUUEEUUUUUUUUHHHHAAAABBBBBBBBBBBBFFFFFFFFFFVVXXKXHHHHHCHCCHHHHHHCMMMMMMMMJHHHHHHHHHBBNNFVJJJJJJJJGGGGLLLLLLVVVVVVVVVVVZZEEEEEEEEEE
|
||||
KEEEEEEEEEEEEEEEUUUUUUHHHHHHAABBBBBBBBBBBBBFFFFFFFFFFFFXXXXXHHHHCCCCCHHHHCCCMMMMMMMMHHHHHHHHHBBNFFFFJJJJJJJLLLLLLLLLLVVVVVVVVVVVVZEEEEEEEEEE
|
||||
KEKKEEEEEEEEEEEBUBBBBUJJHHHAAABBOBBBBBBBBBBBFFFFFFFFFFSXXXXXHHHCCCCCICCHHHCCMCCMMMMMMMQJBBBBBBFFFFFFFJJJJJJLLLLLLLLLLVVVVVVVVVVVVVEEEEEEEEEE
|
||||
KKKKEEEEEEEEEEBBBBBBNIIIHHAAAABBBBBBBBBBBBBFFFFFFFFFFFFXXXXCCCCCCCCCCCCCHCCCCCMMMMMMMMCCCCBBBBBBFFFFFJJJJJJLLLLLLLLLLLLLVVVVVVVVEEEEEEEEEEEE
|
||||
KKKEEEEEEEEEEEBBBBZZIIIIIIIAAABBBBBBBBBBBBHHHWFOOFFFFXXXXXCCCCCCCCCCCCCCCCCCCCCCCMMMMMCCCCBCBBBFFFFFFJJJUJJLLLLLLLLLLLLLLLLLLVEEEEEEEEEEEEEK
|
||||
KKKEEEEEEEEEEEBFBBIIIIIIIIAAIAABBBBBBBBBBBHHHHHHOOOOFXXXXXXXYYCCCCCCCCCCCCCCCCCCCMMMMCCCCCCCCBCUFFFUUUUJUUJLLLLLLLLLLLLLLLLLLNEENNEEEEEEEEEI
|
||||
KKEEEEEEEEEEEBBBBBIZIIIIIIIIIAAABBBBBBQBBBBHHHHHHHOOFXXXXXXXXXCCCCCCCCCCCCQQQQQCCCMMCCCCCCCCCCCUUUUUUUUUUUJLLLLLPLLLLLLLLLLLLNNNNNEEEEEEIIEI
|
||||
EEEEEEEEEEOEEEBBBBBIIIIIIIIIAAAABBBBBQQQMMMHHHHHHHHHHXXXXXXXXCCCCCCCCCCCCCCQQQQQCMMCCCCCCCCCCCCCCUUUUUUUUUULLLLLPLLLLLLLLLLLLNNNNNNENEIIIIII
|
||||
HEEEEEEEEEOBEBBBBIIIIIIIIIIAAAAAAABBQQQQMMYHHHHHHHHHHHHXXXXXXCCCCCCCCCCCCUQQQQQQCCCCCCCCCCCCCCCCCUUUUUUUUUULLLLLPLLLLLLLLLLLLNNNNNNNNNIIIIII
|
||||
EEEEEEEEEEEBBBBBIIXIIIIIIIIIXXXAAAABQQQQMMMHHHHHHHHHUUHXXXXXXXCCCCCCCCCCIIIIIQQQCCCCCCCCCCCCCCCUUUUUUUUUUUULLLLLUUPLLLLLLLLLLNNNNNNNNIIIIIII
|
||||
VEEEEEEVBBBBBBBBIBIIIIIIIIINXXXXXAAAMMMMMJMHHHHHHHHHUUXXXXXXXXXCCCCCCCCCIIIIIQQQCCCCCCCCCCCCCMMMMMUUUUUUUUULLLLLUUTLLLLLLLLLLNNNNNNNNIIIIIII
|
||||
EEEEVEEVBBBBBBBBIBBIIIIIIIIXXXAXAAAAMMMMMMMTTHHHHHHHHXXXXXXXXCXCCCCCCWZZIIIIIIIIIIICCCCCCCCCCCMMMMMUUUUUUUULLLLLFUPPUUUVVNNNNNNNNNNNNIIIIIII
|
||||
VVVVVVVVBBBBBBBBBBBBIIIMIIIXXXAAAAAAMMMMMMMMMHHHHXXXHCXXAXXXXCCIIIIIIIIIIIIIIIIIIIICCCCCCCCCCCMMMMMUUUUUUFFFFFFFFUPUUUUUNNNNNNNNNNNNNNNIIIII
|
||||
VVLVVVVVBBBBBBBBBBBIIIIMMMXXXXXXAAAMMMMMMMMMHHHHXXXXCCXCCXXXCCCIIIIIIIIIIIIIIIIIIIICCCCCCMCCMMMMMMMMUUUUFFFFFFFFFUUUUUUUNNNNNNNNNNNNNLNIIIII
|
||||
VVVVVVBBBBBBBBBBBBBBBIIIXXXXXXXXAAAMMMMMMMDDDHHXXXXXCCCCCCCCCCCIIIIIIIIIIIIIIIIIIIICCCCMMMMMMMMMMMMMUPUUFFFFFFFFFUUUUUUCNNNNNNNNNNNNNLNIIIII
|
||||
VVVVVVBBBBBBPPBBBBBBBBIIXXXXXXXXXAMMMMMMMMMDDDXXXXXXCCCCCCCCCCCIIIIIIIIIIIIIIIIIIIICCCSMAMMMMMMMMMMMUPPUFFFFFFFFFUUUUUUNNNJJNJNNUNNLLLNIINNI
|
||||
VVVVIIRBBBPPPPPBBBBBBBIAXXXXXXXIAAAMMMMMMMDDDDXXXXXXXXCCCCCCCCFIIIIIIIIIIIIIIIIKCCCPCMMMMMMMMMMMMMMMPPPPPFFFFFFFFFFFUUUUAJJJYJNNUNLLLLLLLNNI
|
||||
VVVVIRRBBPPPPPPPPBPPPPPAXXXXXXXIIIINMXDDDDDDDDXXXXXXXXXXCCCFFFFIIIIIIIIIIFZZZKKCCKKCCKMMMMMMMMMMMMMMPPIPPFFFFFFFFAFAAAUAAJJJJJJJJLLLLLLLLNNN
|
||||
VIIIIIIFFPPPPPPPPPPPPPPPXXXXXXXXXIIIIXXDDDDDDDXXXXXXXXXXXCFFFFFIIIIIIIIIIFZZZKKKKKKKOOOMMJMMMMMMMEEMPPIPPPPFFFFFFAAAAAAAAJJJJJJJJLLLLLLLLNNN
|
||||
IIIIIIIFFPPPPPPPPPPPPPHHMMMMXXXXIIIXXXDDDDDDXXXXXXXXXXXXXFFFFFFIIIIIIIIIIFYYZZKKKKOOOOOOOJMMMMMMMMMMIIIIPFFFFFFFFFAAAAJJJJJJJJJJJLLLLLLNNNNN
|
||||
IIIIIIIIFPPPPPPPPPPPPPPHMMMXXXXXIXXXXXDDDDDDXXXXXXXXXXXXFFFFFFFIIIIIIIIIIYYYYKKKKOOOOOOOOOQMMMMMMMMMMIIIIIIFFFFFFFAAAJJVVVVVVVVVJLLLLLLNNNNN
|
||||
IIIIIIIIFPPPPPPPPPPPPMHHMMMMMXXXXXXXXXXCCDDDDXXXXXXXXXXXXFFFEFFIIIIIIIIIIFYYYYYYYOOYOOOOOOOMMMMMMMMMIIIIIIIFFFFFFFAAJDJVVVVVVVVVJJJLLLYLLNNN
|
||||
IIIIIIFIFPPPPPPPPPPPPMMMMMMMMXXXXXXXQQCCCCDDDDDXXXXXXXXXXXEEEEFFFFFFFFUFFFYYYYYZZOOOOOOOOOOMCMMMMMMMMIIIIFFFFFFFFAAAJDJVVVVVVVVVJLLLLLLLLNNN
|
||||
IIIVVVFFFPPPPPPPPPPPMMMMMMMMMMXAAXXXXXXJCCDDDDDXXXXXXDXXXXEEEFFFWWWWFFYYYYYYYYYZZZOOOOOOOOOZCMMMMEEEZZIIIIFFFFSSFBBJJJJVVVVVVVVVJLLLLLLLNNNN
|
||||
VVVVVVVVVTTTPPPPPPMMMMMMMMMMMAAAAXXXXXXJCCCCDDDDXXXXXDXXXEEEEKWWWKKWWWYYYYYYYYZZZZOOOOOOOOZZZZMZMEZZZZIIIIFSSSSSPPBBLJJVVVVVVVVVJJLLLLLNNNNN
|
||||
VVVVVVVVVTYTPPYPPMMMMMMMMMMMMMMAAXXXXACCCCCCCDDDDDDDDDEEEEEKKKWWKKKKWWYYYYYYYYYYYZZZOOZOOOZZZZMZZZZZZZVVISSSSSCCPPBPJJJVVVVVVVVVJJLLNNNNFNNN
|
||||
VVVVVVVVVYYTYYYYPPMMMMMMMMMMMMAAAAXXCCCCCCCCCDDDDDDDDDEEEEEKKKWWWKKKWWWWWYYOOYYYZZZZZZZZOOZZZZZZZZZZZJVVIIVSSCCCCPPPPPJVVVVVVVVVVVVLNNNNFNNN
|
||||
VVVVVVVVVYYYYYYPPMMMMMMMMMMMMMMMAAAAACCCCCCCDDDDDDDDDDDEEEEEEKKKKKKKKKWWOOEOOYYZZZZZQQQZZZZZZZZZZZZZZZGVVVVVSCCCCPPPPPJVVVVVVVVVVVVFNFFFFNFF
|
||||
VVVVVVVVVEYYYYYMMMMMEMMMMMVAVAAAAAAAAACUCCCCCDDDDDDDDDEEEEEEKKIKKKKKKWWOROOOOOZZZZZZZQQQZQQZZZZZZZZZFFVVVVVVVVCCCCPPPPPJJVVVVVVVVVVFFFFFFFFF
|
||||
VVVVVVVVVVYYYAYYMMMEEMMMMMVAVVVVVAAAAACUCCCCCDDDDDDDDDEEEEEEPZPPKKKKKKOOROYOZZZZZQQQQQQQQQQQQZZZZZZZZVVVVVVVVCCCCCCPPRVVVVVVVVVVVVVFFFFFFFFF
|
||||
VVVVVVVVVVVYYAAAMMMEEEMVVVVVVVVVVVVAAOUUCCCCCCDDDDDDDREEEEPPPZZPPKKKKKOOOOOZZZZZZZQQQQQQQQQQQZZZZZYZMMMVVVVVVVCCCCCCCRVVVVVVVVVVVVVFFFFFFFFF
|
||||
VVVVVVVIIIIPPPPAMAAEEEMEVVVVVVVVVVAAOOOOCCCCODDDDDDDDREEEEPPPPPPPPPKKZZOOOOOOOOOZZQQQQQQQQNQQZZZZZZMMMMMMVVVVVCCCCCRRRVVVVVVVVVVVVVFFFFFFFFF
|
||||
VVVVVVVIPPIPPPAAAAAEEEEEOEVVVVVVVVVAAOOLCOCCOODDDDDDDRRREEPPPPPPPPPZZZOOOOOOOOOOZZZQQQQQQQQQQQGGZGMMMMMMVVVLVCCCRRRRRRVVVVVVVVVVVVVFFFFFFFFF
|
||||
VVVVVVVPPPPPPPAAAAEEEEEEEEEVVVVVVVAAAOOOOOOOOOODDDDRRRRRPPPPPPPPPPPZZZZOOOOOOOOOZZZZQQQQQQQQIIGGGGGGMMMVVVVVULPCRRRRCCVVVVVCVVVVVVVFFFFFFFFH
|
||||
VVVVVVKPPPPPPAAAAAEAEEEEEEEVVVVVVVAAAAOOOOOOOOODDDRRRRRPPPPPPPPPPPPPPOOOOOOOOOOOOZZZQQQQQQQGGGGGGGGGGMMMMCZCCLLRRRLLXCVVVVVCVVVVVVVFFFFFFFHH
|
||||
VVVVYYPPPPPPPPPAAAAAEEEEEEEEVVVVVVAAAAOOOOOOOODDDRRRRRRRRPPPPPPPPPPZZZZOOOOOOOOAOZZQQQQQQQGGGGGGGGGGGMMMMCCCHLLLLLLLCCTCCCCFVVVVVVVFFFFFFFKK
|
||||
UUUVYYPYYPPPPPAAAAAAAEEEEEEEVVVVVVVAAOOOOOOOOOODDORRRRRRRPPPPPPPPPZZZZZOOOOOOOOOOQQQQQQQQQQGGGGGGGGGGGMCCCLHHLLLLLLLVCCCCXXFFFFFFFFFFFFFFKKK
|
||||
UUUYYYYYYPPPPPPAAAAEEEEEEEAAVVVVVVVAAOAOOOOOOOOOOORRRRRRRRPPPFFPPZZZZZZZZOOOOOOOOQQQQQQQQQQQGGGGGGGGGGHAACLLLLLLLLLLLLCICXXFFFSFFFFFKKKKKKKK
|
||||
UUUUYYYYPPPPPPAAAAAAEEECEAAAAAAVVVVVAAAOOOOOOOOOORRRRRRRURVPPFFFPFFZZZZZZZOOOOOCCQQQQQQQQQQGGGGGGGGGGGHALLLLLLLLLLLLIIIICXXXXFSSFKKKKKKKKKKK
|
||||
UUUUUYYYDPAPPAAAAAAAAEEEAAAAAAAVVVVVAAAOOOOOOORROORRRRRAOPVVVFFFFFFZZZZZZOOOOOQQQQQQQQQQQQQQQGGGGGGGAAHALLLLLLLLLLLLIXXXXXXXFFSSFKKKKKKKKKKK
|
||||
UUUUUUUUDDDAAAAAUAAAAEEAAAAAAAAVVVVAAAAPOOOORORROOOORRROOOVVFFFFNNFZZZZZZZOOOOOQQQQQQQQQQQQQQQAGGYAAAHHAALLLLLLLLLLLILIXXXXXFFFSFFKKKKKKKKKK
|
||||
UUDUUDUDDEAAAAAAUUAAAAAAAAAAAAAVVVAAAAPPPPORRRRRROOORRROJOVOFFFFFFFFZZZZZZOOOZQQQQQQQQQQQQQQQQQGGYAAAAHAALLLLLLLLLLLLLXXXXXXXXFFFFFKKKKKKKKK
|
||||
DDDDDDDDDEEAAAAUUUUUUUAAAAAAAAAAAVAAAAPWWPRRRRRRROOOOOOOOMMFFFFFFFFFFFFZZZZZZZZQQQQQQQQQQQQQQQUUUYAAAAAAAGGLLLLLLLLLLAAXXXXXXXXXLFFFKKMKKKKK
|
||||
DDDDDDDDDEEAEAAAUUUUUUUUUAAAAUAAAAAAAAARRRRRRRRRZOOOOOOOOMMMFFFFFFFFFFFZZZZZZZZQQQQQQQQQQQQQUUUYYYAYYAAAGGWGLLLLLLLLAAXXXXXXXXXXLLLFKKKKKKKK
|
||||
DDDDDDKKKKEEEAAAUUUUUYUUUUUAUUUUAAAAAAAARRRRRRZZZOOOOOOOOFFMFFFFFFFFFFFZZZZZZZQQQQQQQQQQQQQQQYYYYYYYYYAGGGGGGLLLLLLLAAXLXXXXXLLLLLEEEVVVVKKK
|
||||
DDDDDDDKKEEEEAAAUBUUUUUUUUUUUUUUUAAAOOORRRRRRRRZZKOOOOZZZFFFFFFFFFFFFFFZZZZZZZZZQQQQQHQFQQFQQYYYYYYYYYYGGGGGGGLLLLLLLAXLLXLXLLLLLLEEEEVVVKVK
|
||||
DDDDDDDDDEEEEEAAAUUUUUUUUUUUUUUUFAAAOORKRRRRRRRZKKKOOOZWWFFFFSFFFFFFFFFZZZZZZZVVVVZQFFQFFFFQFYYYYYYYYYYYYGGGGGGLGLAGMLLLLLLXLLLLLLEEEVVVKKKV
|
||||
DDDDDDDDDEEEEWAAAUUUUUUUUUUUUKUUOOOOOORRRRRRRRRZZKKOOOZWWWWWFSFFFFXFFFFZZZZZZZZVVVFFFFFFFXFFFFYYYYYYYYYGGGGGGGGLGIGGLLLLLLLLLLLLEEEEEEVVVVVV
|
||||
DDDDDDEEEEEEUWWUUUUUUUUUUUUUUKKKKOOOOORRRRRRRRRRKKKKKWWWWWWWWWEFFFBFBBFZZZZZZZZVVVSFFFFFFXFFFFYYYYYYYYYYYGGGGGGGGGGGGLLLLLLLLLLEEEEEEEEVVVVV
|
||||
DDEEEDDDEKEEWWWWFUUUUUUUUUUUUUKKOOOOOOPRRZZZZZZZKKKKKZZZZWWWWWEEFFBBBBZZZZZZZZCSSSSFFFFFFXXXFFFFYYYYYYYYYYGGGGGGGGGPPLLLLLLLLLLEEEEEEEEVVVVV
|
||||
DEEEEEEDDDDDIWWFFFWWWWUUUUUUUUKKOOOOOPPRRZZZZZZZZZZZZZZZZWWWWWBBFBBBBBBBZZZZZZCCCSSFSSSFFOXXXXXXXXXYYYYYYYGGGGGGGGGGPLLLLLHLLLLEEEEEEEEVVVVV
|
||||
DEEEEEEEDDDDWEWWWWWWWWKUUUUUWWWKOOOOOOPPRZZZZZZZZZZZZZZZZWWWTWBBBBBBBBBBZZSSZZZCSSSSSSSFFOXXXXXXXXXXYYYYYYYYYGGGGGTTTTLLLLLLLLLLEOEEEEVVVVVV
|
||||
DEEEEEEEDDDWWWWWWWWWWWKKUIWWWWKKOOPOPPPPXZZZZZZZZZZZZZZZZKWWWWBBBBBBBBBBZZZSSSSSSSSSSSSSXOXXXXXXXXXXYYYYYYYYYGGYTTTTTTTTLLLLLLLLLLEEEEVVVVVV
|
||||
EEEEEEEEEDTWWWWWWWWWWIIIIIIWWWWWPPPPPPXXXZZZZZZZZZZZZZZZZKKWBBBBBBBBBBBBZZZSWSWSSSSWWSSSXXXXXXXXXXXXXYYYYYYYYYYYTTTTTTTTTTOLLLLLLLEVVVVVVVVV
|
||||
IEEEEEEEVWWWWWWWWWWPWIIIIIIWIIPPPPPPPPPXXZZZZZZZZZZZZZZZZZKKBBBBBBBBBBBBBBBBWSWSSWWWWWWXXXXXXXXXXXXXXYYYYYYYYYYTTTTTTTTTTTTLLLLLLVVVVVVVVVVV
|
||||
IEEEEEEEEEELWWWPWWPPWIIIIIIIIIPPPPPPPXXXXZZZZZZZZZZZZZZZZZPPBTBBBBBBBBBBBBMMWWWWWWWWWWWWXXXXXXXXXZYYYYYYYWYYYYYTTXTTTTTKKTTLLLLLLVVVVVVVVVVV
|
||||
IIIIIEEEEEEEPWWPPPPPPAIIIIIIIIPPPPPPPXXXXZZZZZZZZZZZZZZZZZPPPBBXNBBBBBBBBBMMWMWWWWWWWQQQXXXXXXXXXZZYYYYYYWWYYYYTTTTTTTTTTTTTLLLLVVVVVZZZZZZV
|
||||
IIIIEEEEEECCCNWPPAPPAAIIIIIIIPPPGPGPGGXXXXXZZZZZZZZZZZZZZZPPPPBXXVBBBBBBBMMMMMMWWWWWWWWXXXXXXXXXXZYYYYYYWWWYWWYTTWTWWWWWWTTTLPPLLVVVZZZZZZZV
|
||||
IIIIEEEEECCCCNNAAAPAAAIIIIIIIPPPGGGGGGXXXXXHHHWWZZZZZZZZZZPPPXXXXXXZXBBMMMMQQMMWWWWWWWWHXXXXXHXHHYYYEYYYWWWYWWWWWWWWWWWKKKKLLPVVVVVVVZZZZZZZ
|
||||
IVVVVGGEECCCNNNAAAPAAAAAIIIIIPPGGGGGGGGGXXXHWWWWZZZZZZZZZZPPPXXXXXXXXAAAMMMQQQMWWWWWWWWHHHXXHHXHEEEEEYEYWWWWWWWWWWCWWWWKKKKWHVVVOOVVVZQZZZZZ
|
||||
IVVVVGGEJJJJANAAAAAAAAAAYIPPPPPPGGGGGGGKXXXHWWWWWWWKPKPPPPPPXXXXXXXXXAAAMMMQQQQWWWWWWWWHHHHHHHHHHEEEEEEWWWWWFWWWWCCCCCCKKKKWHVVOOOOOVOQQZZZZ
|
||||
VVVVVVVJJJJAAAAAAAAAAAAAAPPPRPPPGPGGGGGKKHHHHWWWWWWWPPPPPPXXXXXXXXXXAAAAAMQQXQQVVVWWWWHHHHHHHHHHHEEEEEEWEWWFFWWWWICCCCCKKKKHHNNOOOOOOOQZZZZZ
|
||||
VVVVVVJJJJJJAAAAAAAAAAAAAAPPRRRPPPGGGGGKKKKHWWWWWWWWPPPPPPPPPXXXXXXXAAARAARQQRVVVVWWHHHHHHHHHHHEEEEEEEEEEFFFFFWWCCCCCCCKKKKHHHOOOOOOOOZZZZZZ
|
||||
VVVVVVJJJLJJAAAAAAAAAAAAAAAPPRRGGGGGGGGKKKKKFWWWWWWPPPPPPOOPXXXXXXXAAARRRRRQRRVVVVWWHHHOOOOOOOEEEEEEEEEEEFFFFFWWCCCCCCHKKKKHHHHHOJOOOOOOZZZZ
|
||||
VVVVVVJJJLLJJAAAAAAAAAAAWTPPRRRRRRGTGKKKKKKKFWWWWWWPPPPPPOOOOOXPPPCCAAARRRRRRRVVVVLSHHSCCOOOOOEEEEEEEEEEFFFFFFFCCCCCCCHKKKKKKKHOOOOOOOOOZZZO
|
||||
VVVVVVJJJLMJJUAAAAAAAAAAWTPRRRRRRRRRKKKKKKKKKWWWWWPPPPPPPOOOOOPPPCCCAAARRRRRRVVVVVVSSSSOOOOOOOOOEEEEEEEEAAAFFFFCCCCCCCHKKKKKKKHVVOOOOOOOOZOO
|
||||
VVVVVVJJJLMMUUUUAAAAAAAAATTRRRRRRRRKKKKKHKKOKWWWWWPPPPPPPPOOOOWWJOOOORRRRRRRRGVRVSSSSSSOOOOOOOJEEEEEEEEJJAAAFFFCCCCHHHHKKKKKKKGGVOOOOOOOOZOO
|
||||
VVAVVMMMMMMMHUUUUUAAAAATATTTRRRRRRRRKKKKKKKRRRWWWIIPPPPPPOOAOOWWWOOOORRRRRRRRRRRSSVSSSSOEOOOOOOEEEEEEEJJJAAFFFFCFCCHHHHHGKKKKKGGOOOOOOOOOOOO
|
||||
VVAVVMMMMMMMMUUUUUUAAAATTTTTTRRRRRTTKKKKKRRRRTTTTUIPPPPPPPMOOWWWWAOOOOXXRXRRRRRSSSSSSSSOOOOOOOUUUEEEEEJJJAAAFFFFFIIHHHHHHKKKKKGOOOOOOOOOOOOO
|
||||
VVXXXMMMMMMMMUUUUUUUUTTTTTTTRRRRRRRRRRNKGRRRRXTUUUPPPPPPPUWWWWWWWWOOOXXXXXXXERRRSSSSSSSSSSOOOOOOEEHEEEJKKKKKKKKKKIHHHHHHHKKKKKGGGOOOOOOOOOOO
|
||||
XXXXXMMMMMMMMUUUUUUUTTTTTTTTTBBRRRQRRQKKGXRRRXTUUUUUPPPUUUWWWWWWWWOWOXXXXXXOERERSSSSSSSSSHOHHHHHHHHEEJJKKKKKKKKKKKKKKKKKKKKKKKLGGGGOOOOOOOOO
|
||||
XXXXXMMMMMMMMMOUUUTTTTTTTTBBBBBQQQQQRRGXGXXXXXXXXXUUPPPPUUTWWWWWWWWWXXXXXXXXEEEESSSSSSSHSHHHHHHHHHHHJJJKKKKKKKKKKKKKKKKKKKLSSLGGGGGGOOOOOOOO
|
||||
XEEXEEEEEMMMMMOUWUTTTTTTTTTZBBZQZZZQQQXXXXXXXXXXXXUUUUUUUUUWWWWWWWWWXXXXXXXEEEEESSSSSSSHHHHHHHHHHHHHJJIKKKKKKKKKKKKKKKKKKKLLLLGGGGGWOOOOOOOO
|
||||
EEEEEEEEEEKKMMOKKKJJTTTTTTTZZZZZZZZXXXXXXXXXXXXXXXUUUUUUUUUWWWWWWWWWXXXXXXXXEEEEEESSSSSHHHHHHHHHHHHHHJIKKKKKKKKKKIIIQQLLLLLLLLGGVVVOOVVVGGOO
|
||||
EEEEEEEEEEKKKKKKKKRJJTTTTTTZZZZQQZZZXKXXXDXXXXXXUUUUUEUUUNNNNWWWWWWWXXXWXXEEEEEEEESSSSSKQQQKKHHHHHHHHIIJIIIIIIIIIIIQQQLLLLLLLLLLVVVVOVVVVGGG
|
||||
EEEEEEEEEEEKKKKKKJJJJJTTTTTZZZZZZZZZZZXXXDDDXXDXUUUUUENEENNNNNWWWWWWXXXWEEEEEEEEESSSSSSKKKKKKHHHHFKNNIIIIIIIIIIIIQQQQQLLLLLLLLLVVVVVVVVGGGGG
|
||||
EEEEEEEEEEEEKKKJJJJJJJTTTTTTZZZZZZZZZXXDDDDDXDDXUUBUUEEEEENNNWWWWGWWWWWWOEEEEEEEEESSSSKKKKKKKKKKKKKNKKKIIIIIIIIIIIQQQQLLLLLLLLLVVVVVVVGGGGGG
|
||||
EEEMMEEEEEEEKKKJJJJJJJJTTTTBZZZZZZWZZZDDDDDDDDDDUUBBEEEEEENNNWWWIWWWWWWWWETTEEEEEESSSSSKKKKKKKKKKKKKKKKKIIIIIIIIIIQQQLLLLLLLVAAVVVVVVJJJJJJG
|
||||
EEMMMMMEEKKKKKKKJJJJJJJJTTTTZZZZZZWZGZDDDDDDDDDDDDBBEEEEEENNWWWWWWWWWWWWWETTEEEEEHSSSKKKKKKKKKKKKKKKKKKKIIIIIIIIIQQQQQQLLLVVVVVVVVVVVVAJJJJJ
|
||||
EEMMMMMEEKKKKKKKJJJJJJJZZZZZZZZZZWWGGZDDDDDDDDDDDDBBBEEBBBNNBIIWWWWWWWWWWTTTEXEEEETSSSBBBBKKKKKKKKKKKKKIIIILLLIIQQQQQQQQLVVVVVVVVVVVVVAAJJJP
|
||||
AAMMMMMKEKKKKKKJJJJJJJJZZZZZZZZZZWWWGDDDDDDDDDDDDDBBBBBBBBBBBIWWWWWWWWWJWTTTTEEETTTBBBBBBBKKKKKKKKKKKKKIBBLLLIIIIQQQQQQQQQVVVVVVVVVVVVAAJJJP
|
||||
AAAMMMMKKKKKKJKJJJJJJJJZZZZZZZZZZWWWWDDDDDDDDDDDDDDBBBBBBBBBBIWWWWWWWWWWWTTTTEETTTTTBBBBBBBBKKKKKKKKKKKBBBBLLLLLQQQQQQQQQVVVVVVVVVVVVVVAJJJJ
|
||||
AAAAAAMKKKKKJJKJJJJJJJJJZZZZZZZZZWWDDDDDDDDDDDDDDDBBBBBBBBBBBBJNWWWWWWWWWPTTTTTTTUTBBBBBBBBBBKKKKKKKKKKKBBBLLLLLQQQQQQTQQQQVVVVVVVVVVVAAAAJI
|
||||
AATTTATKKKKKKJJJJJJJJJJJJJFZZZZZZWWWDDDDDDDDDDDDDBBBBBBBBBBBBNNNWWWWWWWWWPTTTTTTTUUBBBBBBBBBBKKKKKKKKKKKKBBLLLLLQQQQQQTQQQQVVVVVVVVVVRRAARRR
|
||||
AATTTTTKTKKKJLJJJJJJJJJZZZZZZZZZZZZZDDDDDDDDDDDDBBBBBBBBBBBBBNNNWWNWWWWWPPPTTTTTTUUUABBBBBBBBBKBKKPPKKKKBBFLLLLLQQQQQQTTTTTYYVVVVVVVVRRRRRRR
|
||||
TTTTTTTTTTKKJLJJJJJJJJJJJZZZWWZZZZZZDGDDDDDDDDBBBBBBBBBBBBBBBNNNNNNWWNJWEPPTPUUUUUUUUBBBBBBBBBBBBBBPKKKFBFFLLLTQQQQQTQOTTTTTYVVVVVVVVRRRRRRR
|
||||
TTTTTTTTTTTJJJJJJJJJJJJJJWWZWWZZZZIIIIODDDDDDXSXBBBBBBBBBBBBBFNNNNNNNNNQPPPPPKURRRUUUBBBBBBBBBBBBBPPZKFFFFFLFTTQQQQQTTTTTTTTTTTTVVVVVVRRRRRR
|
||||
TTTTTTTTTTTJJJJJRJJJJJJWWWWWWZZZZIIIIIDDDDDMMXXXBBBBBBBBBBNNNFNNNNNNNNNQQPPPPCRRRUUUBBBBBBBBBBBBBBBZZKFFFFFFFTQQQQTTTTTTTTTTTTTVVVVVVVVRRRRV
|
||||
ETTTTTTTVTTJJWJJJJJJJWWWWWWWWZZZPIIIIIIDDDMMMMXXXXXBBBBBBBNNNNNNNNNNNNNNQPPPCCRRRRUUBBBBBBYBBBBBBZZZZZZFFFFFFFQQQEETTTTTTTTTTTTVVVVVVVVRRVVV
|
||||
ETTTTTTTVVVVWWWJWWWJWWWWWWWWZZZZZIIIPIMMMDMMMXXXXXXXXBTBTNNNNNNNNNNNNNNNNPPPCCRCRCFFBBBBBBBBBTTTBZZZZZFFFFFFFGGQQETTTTTTTTTVTTPVVVVVVVVVVVVV
|
||||
ETTTTTTTTVWWWWWWWWWWWWWWWWWWWWZZZWWWWWMMMMMMXXXXXXXXXTTTTTNNNNNNNNNNNNNNPPPPCCCCCCCBBBBBBTBBBTTTTTTZZZZFFFFFFGGGQQGTTTTTTBVVPPPPVVVVVVVVVVVV
|
||||
EEETTTTTVVWXWWWWWWWWWWWWWWWWWZZZZWWWWMMMMMMMXXXXXXXXXXTTTTTTNNNNNNNNNNNNPPPPCCCCCCCBBBBTTTTTTTTTTTTZZZTTMTTFFGGGGGGTTBTTBBVVPVPPVVVVVVVVVVVV
|
||||
EEETTTTMWWWWWWWWWWWWWWWWWWWWWWZZWWWWMMMMMMMMMMXXXXXXTTTTTTTTNNNNNNNNNNNNNAPPCCCCCCCCCXXTTTTTTTTTTTTZTTTTTTTGGGGGGGGGGTTTBVVVVVVVVVVVVVVVVVVV
|
||||
EEETTTMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMXXXXXXXXXXXTTTTTTNNNNNNNNNNNNAPPCACXXXXXXXXTTTTTTTTTTTTTTTTTTTTGGGGGGGGGGGGTBVVVVVVVVVVVVVVVVVVV
|
||||
2
data/13.ans
Normal file
2
data/13.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
35574
|
||||
80882098756071
|
||||
1279
data/13.in
Normal file
1279
data/13.in
Normal file
File diff suppressed because it is too large
Load Diff
2
data/14.ans
Normal file
2
data/14.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
228690000
|
||||
7093
|
||||
500
data/14.in
Normal file
500
data/14.in
Normal file
@@ -0,0 +1,500 @@
|
||||
p=26,88 v=80,92
|
||||
p=2,90 v=77,99
|
||||
p=43,54 v=-92,-36
|
||||
p=96,14 v=-15,13
|
||||
p=33,54 v=97,-64
|
||||
p=94,53 v=55,67
|
||||
p=45,28 v=79,6
|
||||
p=64,90 v=-49,54
|
||||
p=71,41 v=-9,67
|
||||
p=15,37 v=58,-14
|
||||
p=43,53 v=9,8
|
||||
p=57,88 v=43,-55
|
||||
p=37,96 v=-30,-69
|
||||
p=35,54 v=-57,22
|
||||
p=56,35 v=23,53
|
||||
p=84,66 v=-94,75
|
||||
p=15,30 v=-43,21
|
||||
p=10,97 v=24,-99
|
||||
p=88,63 v=21,-54
|
||||
p=77,56 v=47,75
|
||||
p=83,30 v=38,-38
|
||||
p=95,97 v=-2,-91
|
||||
p=7,32 v=-1,-42
|
||||
p=62,84 v=-66,69
|
||||
p=79,66 v=-48,-34
|
||||
p=54,39 v=-12,21
|
||||
p=87,9 v=-6,-39
|
||||
p=66,101 v=-57,-87
|
||||
p=47,83 v=-48,69
|
||||
p=48,24 v=2,28
|
||||
p=71,48 v=-14,-73
|
||||
p=25,36 v=40,-66
|
||||
p=10,12 v=-29,5
|
||||
p=44,10 v=-79,-17
|
||||
p=9,65 v=-7,-65
|
||||
p=12,83 v=77,-85
|
||||
p=70,38 v=-69,-19
|
||||
p=60,38 v=-31,-15
|
||||
p=98,20 v=7,-38
|
||||
p=38,73 v=-61,33
|
||||
p=34,32 v=-21,-96
|
||||
p=48,44 v=-19,-34
|
||||
p=26,49 v=-50,29
|
||||
p=79,84 v=82,-93
|
||||
p=50,43 v=41,57
|
||||
p=9,76 v=-19,-80
|
||||
p=81,20 v=25,36
|
||||
p=18,19 v=45,-2
|
||||
p=36,85 v=-34,89
|
||||
p=38,16 v=63,75
|
||||
p=45,31 v=-18,-78
|
||||
p=7,42 v=-16,66
|
||||
p=55,57 v=-77,-11
|
||||
p=30,28 v=-43,-23
|
||||
p=57,58 v=43,-49
|
||||
p=36,57 v=97,-58
|
||||
p=7,47 v=-64,-14
|
||||
p=73,33 v=26,-48
|
||||
p=52,48 v=7,-48
|
||||
p=42,66 v=23,75
|
||||
p=77,8 v=-28,-82
|
||||
p=52,99 v=44,4
|
||||
p=27,15 v=37,-3
|
||||
p=72,57 v=65,53
|
||||
p=59,85 v=69,-54
|
||||
p=58,50 v=57,-95
|
||||
p=54,73 v=-66,-19
|
||||
p=54,64 v=31,-95
|
||||
p=91,33 v=53,-43
|
||||
p=67,2 v=-5,34
|
||||
p=58,65 v=-31,38
|
||||
p=65,93 v=62,17
|
||||
p=68,59 v=-44,-42
|
||||
p=9,27 v=-60,-99
|
||||
p=4,73 v=77,-87
|
||||
p=88,60 v=18,-20
|
||||
p=82,9 v=-96,-9
|
||||
p=99,39 v=-11,-24
|
||||
p=23,18 v=-56,28
|
||||
p=63,101 v=66,-48
|
||||
p=4,63 v=-46,97
|
||||
p=41,80 v=31,-49
|
||||
p=21,25 v=45,36
|
||||
p=89,43 v=-2,63
|
||||
p=37,78 v=11,86
|
||||
p=37,100 v=32,93
|
||||
p=77,33 v=-94,29
|
||||
p=25,34 v=-12,-81
|
||||
p=31,87 v=-30,70
|
||||
p=40,37 v=62,7
|
||||
p=16,102 v=-82,4
|
||||
p=98,45 v=-8,95
|
||||
p=60,23 v=-53,-60
|
||||
p=12,83 v=-8,19
|
||||
p=49,8 v=-70,-39
|
||||
p=38,27 v=25,-49
|
||||
p=95,25 v=-59,28
|
||||
p=42,56 v=18,-51
|
||||
p=5,28 v=24,-73
|
||||
p=92,73 v=7,33
|
||||
p=41,27 v=88,80
|
||||
p=78,16 v=18,3
|
||||
p=11,80 v=99,62
|
||||
p=100,56 v=46,98
|
||||
p=97,47 v=20,8
|
||||
p=27,6 v=-78,78
|
||||
p=45,12 v=-48,-98
|
||||
p=41,29 v=-44,-46
|
||||
p=84,69 v=-76,-94
|
||||
p=89,4 v=-70,-52
|
||||
p=40,62 v=-60,72
|
||||
p=62,26 v=40,-48
|
||||
p=21,55 v=23,-87
|
||||
p=80,45 v=-49,-82
|
||||
p=28,100 v=23,49
|
||||
p=67,38 v=6,-2
|
||||
p=66,40 v=17,-44
|
||||
p=72,32 v=-85,-28
|
||||
p=53,60 v=35,-14
|
||||
p=11,14 v=45,72
|
||||
p=86,13 v=-36,49
|
||||
p=65,88 v=-58,3
|
||||
p=97,79 v=72,17
|
||||
p=51,55 v=27,24
|
||||
p=2,83 v=33,91
|
||||
p=78,76 v=-31,-89
|
||||
p=83,12 v=86,49
|
||||
p=56,93 v=13,19
|
||||
p=20,50 v=-38,45
|
||||
p=46,6 v=58,17
|
||||
p=48,40 v=66,-8
|
||||
p=40,26 v=40,14
|
||||
p=71,21 v=92,-59
|
||||
p=5,67 v=59,-27
|
||||
p=65,53 v=-62,44
|
||||
p=14,83 v=69,75
|
||||
p=95,35 v=-37,58
|
||||
p=36,71 v=-57,-43
|
||||
p=68,58 v=-97,37
|
||||
p=45,75 v=66,61
|
||||
p=25,22 v=-75,-66
|
||||
p=38,8 v=-17,-83
|
||||
p=32,8 v=-8,71
|
||||
p=85,78 v=-44,54
|
||||
p=48,64 v=53,-65
|
||||
p=97,82 v=77,-78
|
||||
p=10,32 v=99,-27
|
||||
p=84,39 v=8,-21
|
||||
p=83,58 v=74,75
|
||||
p=67,65 v=48,-6
|
||||
p=78,43 v=25,59
|
||||
p=22,83 v=23,19
|
||||
p=36,45 v=-65,-95
|
||||
p=95,51 v=-32,-59
|
||||
p=66,5 v=74,78
|
||||
p=76,27 v=-42,52
|
||||
p=99,64 v=75,-46
|
||||
p=51,102 v=44,-25
|
||||
p=97,14 v=-41,78
|
||||
p=78,56 v=-76,1
|
||||
p=77,12 v=-1,-97
|
||||
p=58,1 v=13,34
|
||||
p=5,28 v=68,-8
|
||||
p=30,6 v=31,-83
|
||||
p=11,91 v=78,-82
|
||||
p=15,39 v=78,-26
|
||||
p=32,58 v=84,-36
|
||||
p=16,55 v=-36,75
|
||||
p=100,96 v=16,42
|
||||
p=89,28 v=-6,87
|
||||
p=48,19 v=-57,21
|
||||
p=42,50 v=-31,15
|
||||
p=54,11 v=92,-24
|
||||
p=77,98 v=-9,-33
|
||||
p=71,36 v=2,60
|
||||
p=18,44 v=-55,-66
|
||||
p=26,16 v=-62,79
|
||||
p=35,80 v=93,-41
|
||||
p=90,30 v=29,-96
|
||||
p=44,59 v=-26,-4
|
||||
p=87,52 v=-43,89
|
||||
p=91,39 v=3,-52
|
||||
p=35,52 v=49,8
|
||||
p=27,60 v=-12,-35
|
||||
p=7,18 v=-53,-14
|
||||
p=65,67 v=-32,91
|
||||
p=13,6 v=19,93
|
||||
p=94,28 v=35,33
|
||||
p=22,29 v=-38,-78
|
||||
p=91,59 v=26,-39
|
||||
p=84,43 v=-76,67
|
||||
p=29,102 v=-8,-99
|
||||
p=84,92 v=-46,-36
|
||||
p=56,10 v=-88,20
|
||||
p=88,81 v=16,63
|
||||
p=19,20 v=-41,79
|
||||
p=43,54 v=48,59
|
||||
p=11,0 v=28,-61
|
||||
p=4,40 v=-94,-82
|
||||
p=38,101 v=-18,55
|
||||
p=88,18 v=-2,8
|
||||
p=13,19 v=28,21
|
||||
p=29,11 v=6,-69
|
||||
p=76,91 v=16,49
|
||||
p=74,29 v=78,74
|
||||
p=45,53 v=58,-80
|
||||
p=86,11 v=94,1
|
||||
p=65,59 v=-14,-6
|
||||
p=60,62 v=98,64
|
||||
p=57,3 v=48,-32
|
||||
p=46,48 v=83,15
|
||||
p=54,78 v=58,-63
|
||||
p=91,35 v=-19,-74
|
||||
p=36,83 v=55,-11
|
||||
p=67,53 v=63,-20
|
||||
p=20,86 v=-25,63
|
||||
p=37,7 v=-30,79
|
||||
p=42,7 v=75,-54
|
||||
p=76,73 v=14,1
|
||||
p=34,57 v=1,-21
|
||||
p=31,76 v=79,-44
|
||||
p=53,93 v=26,35
|
||||
p=60,65 v=-97,-42
|
||||
p=99,102 v=-46,-55
|
||||
p=65,1 v=-32,-25
|
||||
p=86,14 v=60,-61
|
||||
p=9,95 v=85,-39
|
||||
p=63,86 v=-95,95
|
||||
p=4,93 v=94,92
|
||||
p=7,81 v=99,-40
|
||||
p=28,0 v=28,5
|
||||
p=52,41 v=-2,7
|
||||
p=14,64 v=-16,-57
|
||||
p=22,78 v=-56,54
|
||||
p=44,98 v=-88,45
|
||||
p=52,72 v=22,-79
|
||||
p=63,35 v=13,-52
|
||||
p=62,64 v=-62,39
|
||||
p=10,53 v=67,31
|
||||
p=16,100 v=-69,-63
|
||||
p=17,47 v=92,-56
|
||||
p=86,22 v=69,94
|
||||
p=49,37 v=-79,95
|
||||
p=92,96 v=-50,48
|
||||
p=54,5 v=-48,70
|
||||
p=67,12 v=-76,34
|
||||
p=10,10 v=73,34
|
||||
p=100,4 v=6,72
|
||||
p=1,32 v=-90,37
|
||||
p=33,22 v=-8,14
|
||||
p=10,96 v=94,-9
|
||||
p=84,95 v=-19,-25
|
||||
p=42,27 v=66,-60
|
||||
p=67,91 v=-76,11
|
||||
p=21,23 v=-95,50
|
||||
p=53,24 v=-57,-97
|
||||
p=19,1 v=47,-62
|
||||
p=84,59 v=-5,-2
|
||||
p=10,35 v=37,-88
|
||||
p=56,76 v=-92,-33
|
||||
p=92,83 v=16,62
|
||||
p=6,97 v=72,11
|
||||
p=65,29 v=4,-82
|
||||
p=37,52 v=4,29
|
||||
p=78,53 v=39,74
|
||||
p=100,50 v=83,-3
|
||||
p=43,48 v=-61,8
|
||||
p=78,102 v=-22,-99
|
||||
p=89,73 v=25,2
|
||||
p=91,86 v=7,48
|
||||
p=88,37 v=-45,20
|
||||
p=80,91 v=81,32
|
||||
p=6,6 v=24,-83
|
||||
p=86,57 v=3,-14
|
||||
p=16,12 v=32,-76
|
||||
p=46,53 v=-67,47
|
||||
p=79,11 v=-54,64
|
||||
p=87,99 v=-35,-7
|
||||
p=8,34 v=-37,-75
|
||||
p=73,61 v=-70,13
|
||||
p=38,2 v=-84,40
|
||||
p=92,23 v=9,25
|
||||
p=35,60 v=-25,31
|
||||
p=72,9 v=16,27
|
||||
p=9,33 v=-7,-31
|
||||
p=98,17 v=50,28
|
||||
p=62,15 v=34,-54
|
||||
p=72,4 v=21,86
|
||||
p=46,53 v=-39,61
|
||||
p=80,58 v=84,-86
|
||||
p=83,88 v=-86,29
|
||||
p=2,38 v=62,-38
|
||||
p=70,61 v=23,-97
|
||||
p=100,77 v=-64,-72
|
||||
p=27,45 v=58,-14
|
||||
p=25,3 v=40,72
|
||||
p=73,102 v=-74,34
|
||||
p=80,63 v=-58,-56
|
||||
p=50,52 v=53,-7
|
||||
p=33,82 v=19,99
|
||||
p=28,15 v=-52,57
|
||||
p=66,43 v=-54,-6
|
||||
p=44,40 v=-56,63
|
||||
p=31,12 v=36,65
|
||||
p=3,41 v=-99,52
|
||||
p=35,87 v=-4,-86
|
||||
p=79,84 v=-67,99
|
||||
p=88,22 v=16,-2
|
||||
p=71,85 v=92,70
|
||||
p=96,60 v=76,98
|
||||
p=38,48 v=14,-7
|
||||
p=86,15 v=-33,-75
|
||||
p=75,57 v=66,-85
|
||||
p=85,68 v=-19,-27
|
||||
p=46,95 v=75,48
|
||||
p=14,71 v=32,1
|
||||
p=74,71 v=-54,-95
|
||||
p=11,12 v=-64,13
|
||||
p=17,37 v=81,53
|
||||
p=2,15 v=23,-3
|
||||
p=9,75 v=-39,47
|
||||
p=46,70 v=44,-34
|
||||
p=86,48 v=-15,-98
|
||||
p=32,45 v=62,81
|
||||
p=22,3 v=59,94
|
||||
p=24,81 v=-82,25
|
||||
p=85,11 v=-3,-32
|
||||
p=96,86 v=20,39
|
||||
p=43,2 v=62,42
|
||||
p=45,98 v=-26,-54
|
||||
p=51,16 v=92,-53
|
||||
p=77,13 v=-45,-61
|
||||
p=58,54 v=-44,30
|
||||
p=52,3 v=-49,-33
|
||||
p=28,76 v=-12,-64
|
||||
p=45,38 v=-53,34
|
||||
p=11,28 v=85,-67
|
||||
p=29,88 v=90,4
|
||||
p=44,102 v=-21,17
|
||||
p=15,37 v=94,66
|
||||
p=73,32 v=30,80
|
||||
p=65,86 v=-19,-21
|
||||
p=34,64 v=-26,16
|
||||
p=60,2 v=-18,78
|
||||
p=39,0 v=-34,94
|
||||
p=28,15 v=32,-93
|
||||
p=8,100 v=98,40
|
||||
p=62,62 v=48,60
|
||||
p=37,44 v=25,10
|
||||
p=39,72 v=-96,91
|
||||
p=84,33 v=93,18
|
||||
p=81,44 v=69,52
|
||||
p=37,22 v=89,-48
|
||||
p=0,42 v=-63,-36
|
||||
p=35,42 v=-17,-22
|
||||
p=90,39 v=-76,-30
|
||||
p=55,74 v=-22,-92
|
||||
p=1,55 v=-64,-86
|
||||
p=60,23 v=-9,-97
|
||||
p=21,4 v=-91,64
|
||||
p=90,72 v=56,95
|
||||
p=35,41 v=58,22
|
||||
p=57,81 v=-9,-96
|
||||
p=11,102 v=-73,-17
|
||||
p=45,58 v=-43,52
|
||||
p=43,25 v=48,-37
|
||||
p=78,12 v=12,42
|
||||
p=48,43 v=79,-29
|
||||
p=31,100 v=-30,-54
|
||||
p=24,63 v=-61,28
|
||||
p=44,67 v=-35,-94
|
||||
p=100,49 v=-98,-52
|
||||
p=29,54 v=41,-64
|
||||
p=29,33 v=50,44
|
||||
p=22,40 v=-47,8
|
||||
p=56,67 v=-5,75
|
||||
p=78,95 v=78,-48
|
||||
p=58,72 v=-48,-65
|
||||
p=6,94 v=90,9
|
||||
p=76,58 v=12,-80
|
||||
p=68,62 v=-58,61
|
||||
p=62,85 v=57,91
|
||||
p=16,88 v=94,-5
|
||||
p=72,0 v=-74,-91
|
||||
p=0,75 v=11,-93
|
||||
p=48,42 v=92,-6
|
||||
p=24,102 v=68,-78
|
||||
p=21,86 v=-56,25
|
||||
p=3,63 v=-11,-43
|
||||
p=36,102 v=14,-4
|
||||
p=56,52 v=4,-58
|
||||
p=5,55 v=-1,84
|
||||
p=92,1 v=-94,-84
|
||||
p=27,50 v=54,-88
|
||||
p=80,91 v=-76,33
|
||||
p=50,19 v=9,87
|
||||
p=69,37 v=-58,-8
|
||||
p=34,63 v=14,61
|
||||
p=17,52 v=19,37
|
||||
p=93,65 v=-15,46
|
||||
p=37,15 v=-13,56
|
||||
p=100,63 v=-68,17
|
||||
p=41,81 v=97,-92
|
||||
p=62,17 v=-72,13
|
||||
p=0,16 v=-77,-31
|
||||
p=14,17 v=41,28
|
||||
p=27,34 v=58,-74
|
||||
p=35,40 v=14,21
|
||||
p=8,88 v=-24,98
|
||||
p=35,28 v=-94,46
|
||||
p=93,42 v=-59,22
|
||||
p=83,26 v=-11,1
|
||||
p=2,22 v=-42,65
|
||||
p=35,102 v=-25,-4
|
||||
p=21,22 v=41,-81
|
||||
p=35,0 v=5,41
|
||||
p=70,99 v=74,34
|
||||
p=75,28 v=4,81
|
||||
p=11,91 v=-56,33
|
||||
p=16,52 v=65,-38
|
||||
p=55,14 v=-66,78
|
||||
p=39,68 v=-71,7
|
||||
p=25,53 v=-56,-29
|
||||
p=70,42 v=-33,-35
|
||||
p=40,81 v=-70,47
|
||||
p=15,78 v=-82,26
|
||||
p=85,97 v=51,-33
|
||||
p=78,72 v=43,-48
|
||||
p=92,60 v=-77,10
|
||||
p=55,65 v=-14,-79
|
||||
p=46,45 v=92,-72
|
||||
p=15,54 v=-3,-51
|
||||
p=65,2 v=-80,-70
|
||||
p=73,30 v=78,-74
|
||||
p=23,12 v=-64,-98
|
||||
p=85,3 v=-68,-11
|
||||
p=30,69 v=-21,69
|
||||
p=57,38 v=-18,37
|
||||
p=11,88 v=-82,-19
|
||||
p=55,101 v=-54,44
|
||||
p=68,56 v=57,-65
|
||||
p=4,81 v=-12,92
|
||||
p=43,70 v=62,-27
|
||||
p=42,25 v=-31,13
|
||||
p=0,61 v=-16,-64
|
||||
p=45,25 v=31,-82
|
||||
p=23,75 v=-47,92
|
||||
p=57,33 v=-30,25
|
||||
p=0,34 v=-94,-36
|
||||
p=78,57 v=34,-43
|
||||
p=67,99 v=-22,4
|
||||
p=3,46 v=-99,8
|
||||
p=44,28 v=80,-66
|
||||
p=84,60 v=72,18
|
||||
p=51,66 v=-88,67
|
||||
p=38,7 v=-61,-47
|
||||
p=34,23 v=40,-88
|
||||
p=66,46 v=83,-81
|
||||
p=73,98 v=51,33
|
||||
p=37,56 v=62,81
|
||||
p=30,98 v=28,58
|
||||
p=71,99 v=38,62
|
||||
p=64,7 v=52,86
|
||||
p=26,53 v=-12,89
|
||||
p=87,50 v=43,-29
|
||||
p=65,101 v=87,-96
|
||||
p=34,52 v=-21,66
|
||||
p=14,84 v=-60,3
|
||||
p=4,7 v=-50,49
|
||||
p=45,73 v=-17,-64
|
||||
p=18,92 v=-29,40
|
||||
p=83,54 v=2,-64
|
||||
p=95,26 v=60,50
|
||||
p=86,80 v=95,25
|
||||
p=5,52 v=-25,15
|
||||
p=99,98 v=-46,77
|
||||
p=81,52 v=25,9
|
||||
p=53,89 v=-54,-83
|
||||
p=60,36 v=92,73
|
||||
p=78,27 v=7,15
|
||||
p=55,51 v=-63,-74
|
||||
p=5,85 v=-56,-97
|
||||
p=26,17 v=6,46
|
||||
p=37,36 v=-67,51
|
||||
p=69,52 v=96,67
|
||||
p=24,86 v=-11,35
|
||||
p=44,1 v=-21,26
|
||||
p=55,95 v=61,-33
|
||||
p=75,101 v=65,-3
|
||||
p=16,17 v=-29,29
|
||||
p=80,69 v=12,68
|
||||
p=78,61 v=-11,-7
|
||||
p=99,99 v=11,-62
|
||||
p=41,47 v=47,-86
|
||||
p=52,81 v=31,54
|
||||
p=86,60 v=-37,16
|
||||
p=15,89 v=-43,-18
|
||||
p=72,99 v=12,26
|
||||
p=42,15 v=-13,-47
|
||||
p=37,79 v=-41,70
|
||||
2
data/15.ans
Normal file
2
data/15.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
1294459
|
||||
1319212
|
||||
71
data/15.in
Normal file
71
data/15.in
Normal file
@@ -0,0 +1,71 @@
|
||||
##################################################
|
||||
#O..OOO.O.....#O...OO.O...#O...##....O.O..OOO#.O.#
|
||||
#....O.O..O.........O...O.......O....#.O.O.#...O##
|
||||
#O..O..OO.O.O.........#O..O...O.....#...OO...O...#
|
||||
#...O.#.O..#.O..OO...OO..O....O#......O...O......#
|
||||
#...........OO....OOOOO.OO.OOOO...O...OO....#.O.O#
|
||||
#..O.#..OO...O.O#OOOO.O.O....OO.....O.O......#.OO#
|
||||
#O........O...O.....O.....#.O..O.......#..O.#...O#
|
||||
#...........O..#.#.....#......O.....O..O....OOO..#
|
||||
#O...O...OO...O.OO....O#O...OO.O......OO..OO...O.#
|
||||
#...O#...OO....OO..........OOOO.O.OO.O#.O....OO..#
|
||||
#..O..O.OO.OO.OOOOO....O..O..OO....O..OO....#..#.#
|
||||
#..O.O.O#..OOO....#..O.O.#O#..O.O.....OO#O.O.OO###
|
||||
#....O..#.....OO.O.O......O.....O..OO.O...O.....O#
|
||||
#O.#O..........O..O.....O....O.OO...O....O..#..#.#
|
||||
#........OO...........O#O...O...O.O.......O.....O#
|
||||
#.........#....OOO...O.......OOO#.......OO....O.O#
|
||||
#OO..........O.O....O..O....O...#O.O....O.....O#.#
|
||||
#.....O.O.#O#..#.OOO.O..#OO..OO.....#.O......O...#
|
||||
##.O.O.OO.OOO....#OOO.#...O...O.O...OO.......O.O##
|
||||
#O..OO..#..O...OO.OO..O..#.#.O..O.#O..O.O....OO..#
|
||||
#.O.O...O.....O.....OOO.......OO.O...O.#.#O..O.OO#
|
||||
#OO.O.OOO..O.O..O.O..O..O....O...O...#OO.O.......#
|
||||
#.O.....O.....O#O.#..O.......OOO.....#...O.O.....#
|
||||
#O..O.......#.#..#...O..@.O..OOOO..O.....O.OOO...#
|
||||
#OO........#OO.....O.O.#...O..O..#.O...O#.O#.....#
|
||||
#.OO..#...OO..O........#.#.O#..O........OO.O..O.O#
|
||||
#.O....#.O.O.#....OO.....#.O.O.O#.O.O..##.....O.##
|
||||
#......O..O....O.....O.O.#O.O......#O...O#OO.#..##
|
||||
#....OOO.O.OO..............O##...O#O......O....O.#
|
||||
#O.....#.O......#..#....O#O.....O..O.#.O..#O.....#
|
||||
#...........OO....O.....O#......OO.#OO..O........#
|
||||
#O..#OO.....OO.....OO.....O........O.............#
|
||||
#...O.O.O.....O...O.O.O.........O.#...O....O.O.#.#
|
||||
#OOO.O#..#......O...O.O##O..O......#.#O..O.......#
|
||||
#................O.#.......O.O.#....#.OO...#.....#
|
||||
#....O....O#OO...O..O...#O...O....O.O###O#O.OO...#
|
||||
#OO..O.O...O.......O#.O....OO.......#O#.O..OO..#O#
|
||||
#...O.O...OOO..O......O....O......##.#.O.......O.#
|
||||
#....O..O..O.........O#...........O.O.O...O.#....#
|
||||
#..#..O.#.....#..O...#.#...O..OO...............OO#
|
||||
#......OO#O.OO.......#......OO........O#.....OOOO#
|
||||
#..OO.#.....#.O.O.O..OO.O#O.O..OOO#O....O....#...#
|
||||
#...O......O.......O..O.OO...#........O..........#
|
||||
#...O....O....O...........OO#.O......#..#O..O...O#
|
||||
#....O#..O#.#....O....#.O...OO.O..#...O#........O#
|
||||
#...O.##....O.O..O..........O.O..OO.#O#...#O..O..#
|
||||
#.O.O#O##.O.O.....OOOO..##.O..#...O.O..O........O#
|
||||
#.....O..#....#.........OO...........#.#.O....O.##
|
||||
##################################################
|
||||
|
||||
v><<vv^^v<vv>^<<>v>^<<>v>^<^<><<>><<>v^>><<<v>^<^v<>^v^>>v^v><>>^v<^>^^^^<vv^<>^^>v<^<>^<^>^v<<v>v^>vv<v^^<^>^^^<^>>>^>v^^^v<>>><>vv^<><vv<v><>v>^^>>>>^>><<v<><<<<^^>><^v<^^>v<>^>^v<>>>v>^<<^>^vv^<<vv<^^^v^>^>v>^<>vv<<^>v^v<>v^v>>^^v>^^v^v<<<v^>>><>>>v^v>vv>>^^<^^vv<^<>>>vv<<^<>v><^<vvv>^^^><vv<<vvv<<^>v<<<v>v^>>>^<>v><v<v^^>>^^<^v<>>><<<^><v<^v>><<>^^<v>><<^<>v<>^^^<>^<v<<<^<v>v>v<vvv>>v<v^>>^>v><<>>vv^>^v>><v^>><<<^>>>>><>^<v<<><<<<<<v>^><>>>^^>v<^<v<<vvv^>^<>^>>>v><><v<<<v<<><v<v<<>^^<v^v^>^vv^v>v<v^^^^v^<<>>^^^v>>>^v<^v<<<<v<>^<>^>>^v<^>><>^>^>>v^>vvvvv><<vv^>^v><<><v<^v^<^<v><v<<^<>^<<v<>v^^<<>>><<<v^^^^<^>^^vv>^><^<^>v^^v^^<v^>vv^vv>v>^v^^<v><^<<<v<v^v><>v<>^<<v<<<^>vv<v^^>>vv<<^<>>>^^>>>^vv<v><>v<<>^>v<v<>^v^^^v>^v^v<^<><^v^><>v^>^<v>>>><<<^<vv><<><v<v<^<v<>v>^v<^v<<v>>v^^^^>^v<v<^>><>><v>>>^<^<<><<v^<^v<>^vv>>><^<>v^<v^vv^>v<><^^^^<<^<><v>v^>>>^^v^v^<<<^><^^vv^<^>^vvv>>^<<^^<^v>><><^>vvv>>><^>>^<v<<<v^<^v<^><>vvvv<>vv<^<v^<>^v>^^v<>v><>>^<<v><v<vv^^<<<>>v^<v<<>><^>vv^>^^>v^v^v<
|
||||
>v^^<<>^^><<v<<vvv^>^^^v^v<>v<v>^v^^vv^v>>v<>>^><<^<v>>>^^^^vv<v<<<<>^<<<^vv>vv^><><vv>v>v>>v>^v>>v^v>v><^>>v><><v<>^v<^>^>><>^>vv>^<<v<>^<^^<<>^><<<<^>>v<^>^v<<<^^v^><v<^>><v><>^^>v<^v<v>^>><<<<^<<^^vv<^<v<<>>v>v<^^<<v^vv<<>v^>^<^>vvv<^^^v<<^<v><>>>vv^>>vv<v^>^^>>>v>^vvv^><v<>>>^><^>^>v>^v<v<<<v><^vv>^v<v^>v<v^^v<v<>^vv^<<^^v<<v>vvvvv<>^^<v>v<^vv^v^>^vv^>>><vv^<<^>v^vvvv<<><<<vv<><<v<vv<v^v<^>>^><><^>^v<<^v>^<<>^^vv><<v>>v>v<v>^<v^>^<^v>v^>v>v^^><v<^<^v<<v>vv>v<><>^<<^>v<^>><<><vvvvv^v^<>><<^v<>v<v^^v><<>^^v<<>v^>^<v>>^v^^><<^>>><<^<><v^^<^><<<><vv>^v>v<vv<>^v<^<vv^>^v<<v>v<v<v>^><^<<<<<<v><v^<v^>v<<vvv>>><<^v^^><>><<<<<^<>^^vv^>>>vv^vv^^<^^<vv^<^>>^>>vv<v^^<<><^v^<<>vvv^^v<vv<^^><^><>>v>v><>>><>^v<<vv^><^>>^v<^v<<^^vv<>><v>v<<>vv>>>><>><^^^v<^v^^vv<v>>^>^<v>><>vvvv<v>^^<^^v<<<>^>^vv>v<<<v^><<v^v^>v>><v^>^v^>v<>^^<<>><<>v>>^>>^v>^>^vv>>^<><v<<v^<v^<^<>^v<^^<v>>^>v^v<vvvvv^v>>>^^<v^>^<<v^^v>^v^<><>vv<^>vvv<^><^>v^v<^><^^<^v>^<v^v<><>v^>v<v<>^>v<v^^<v^^>^><>^>>>><^<>vv<>vvvv><^v^^<^<<vv
|
||||
^^^>vv><>>v<><v^>v>v^v<<<^v<^^><><>v><^>v>v^<<<^>^^^^<^^>^^v>v<>^>^>><^>>>v>v<<<<>v><^^^vv><><<^vvv<<<^<v^^<>^v><><^>v^v^vv<<v^v^^^^^^^>>><v><v<v<v^<<v^v<><vvvv^><>>^><^<v>vv^v<>^vv^^v^^^vv>>v<v<^v<^^v>^^<>^<^<^<>^<v><><<>vv<<v^><^^vv<v<<<^<^>^><vv<>^<>vvv<><vv>^^^v^<><^^^vv^v^<<<v><^^v^<>^^<<<^<><>^^^^>^^<^>^vvv^^<<^>v^^^>>>^>>v<v^^^>>v>>v>^><vv^<v>vv<^><<<>vv^^^<^^^^^><<>>^>^v<>>^>vv>>v><v^^vv>^^<>^<<<v>^^<<<<>>^>vv<v>><><^v<^>^>^v>^v^>>>v<v<<^>v<><v^v>>vvv<>>v<v^^^>^<><vvv<<<vv<^v^<^vvv<^^<^^>v^>^<v<>>^v^>v>>><v^^><<v>v<>^v><<^><>v<>>^^^>v<<<^>>><>v>v<>>>v>^>v<^>^>^^^<^>v>^^>^v>vv<<<v><^v^^>^><>^><^><>><<>>>^<<>v<v><>^v^^v^><v>><v<^<<v>><<<^^<<v<v<>^v^<<<v^^^<<>^<<><vv<v>>^vv>^vv^><<^><v>^vvv^<^v>^>^<v<<<^vv<<v<v^^v^^^v^vv><<^^vvv<><>vvv>v<^v^<vvv<<<^^v><v^^<>vvv<>>v^<v^<^^^v>^^v<<vv^>^<v>^<^^>^>^v>>><v<^>><^<^v>v^>v^>>>v><vv<<<v<^>v>>^<<><>^<vvv>^^<^^>v>^><>>>>><<v>>v<vv<<><^<><^<>^v>^>^>v^v>v>^<^v><<v>>v^>v<><^<^^^><>v^><<<v^^><^>v<^>>>^><<>v<^>^vv<<>>v^v><>v<>^<<>^vv>^>v^<^vv<<<>
|
||||
<<v^v>>>^<v^^>>>^><^^>v>>>^v><v<<v>><^<<v><<^<><v^><<^vv<<>>>^v<v<^v^^>v>v^v^<^>><<<><><^>>><v<<<<>^>>^<<<<<>^v<>v<^v^>>>><>v<^^v^^v<<>>^^>^^^<^<<^<v><<v<v><v<>><v>^^^^vv^v>v<vv>v<v^>v^<<><>vv^^^^>v^><<^^^^v<>>^<vvvv^vv^>v^^^<^>v<v^<<<^>^<^^><>v>><v>^<v<>v<^^v^v^^<>>><<<<v<v<^^vv^v^<>v>^<v>vv>vvv^^<<^>v<<v><^<v^^<<v><^^<<>^^^v^v>^^^v^v>v^<>^<^^vv>^^^>^^^<^>^v^vv><^v^<^v><<>>>vvv>^vv<>^>>v^^^vv<^<>v^^^v>><>>vvv^v<vv^^><^^vv<v<v>v><^^><<v^><^>><vv>v>^v^v<>^vv>^><<v^>^>^>^>^>^<<>><^>v<^>^v>v^>v^v<<<<^>^>^v<<<<><v><>^>v>v>vvv>>><>vv<<<<<vv<v>v>vv^<<^v><><^>>><<>v>v<^<<>>^><<><>^><^v^^<vvvv^^^>v><<vvv<<>v^^^^vv><<<<><>^>^<>^><^<<^>>>^^^>^^^v^^>v^^vv><^<>>v^>v^^v^^^^<>^v><>>^v^>>^^>^>><v^>^v^v^>>>^^^<>><v<<^<^v<v<vvvv<v>^<v<^vv^<^>^^>v<><^>><>^v>>v>>^>^v^v><>>>v>^>^^vv^<v^>v^v>^>^<><v<v^<v>vv<^<^><^v>^^^<>v<>><<>><><>^^<><<<<<vvvvv^v<^v^>v<><<vvv>>^<<<vv^<<v<<v>>^^^<<vv<>>^<><>vv>v^^^^^><^<<v<^>>^^v<>^v^v^<>v^><v^<^<vv<vv<<v><<^vv^v<<^^>>^^><vvv<><><^v>>v^^<<v<><<>^^<^^<>^v<v^<^^^>vvvv><v<^>
|
||||
vv>^<>>^<^v^^^v>vvvv<<^^<v>v>^v^v<<>>^>>vvv^^<v^vv^v^v^v><vv^^^<>v>^^>><^><v><^^<^v^v^^<>>v^>v>>^^^^<<<^vv>>v>>v<v^^<>^vv>>v^^v><<^^^>vvv<>v<^^>^>^^><<>><<<<>v<><v^v>><^<^><^v^<v^>>v><^><>v^^<><^^<v<vv<>^<<<<>^<^<vv>><^><<<v>>>^<<>>v<<<<><>^<^^v><<v<vv^>^>vv^v<>>v>v^>>^v<^v>><v<>v<^^^^^<^^^^<v^vv<^<><>v<v^v>v>v^>^^>^^<>>v^v^><>vv<^^^^v^^^><^vv>v^<^><>^^v^>>^^>>v<<v^v><vv^>^vvv<><v>><vvv^>><<>><<v<v^^>v>><^>vvv^^^^<>vvvv^v<^>^<>^><<<<<>^<^v>vv^^>>v>>>>>>v^>v<>>v>v>^v>v<v>^^>>v>>>>v<^<^v<v><vv<<^^<><vv^v<v>^^^>>>>vv<>^v<<><>>^v^>vvv<<>>v<v>>v<>^<>^<vvv>><<<v>^>><<^<vv^>>>>^^v^>>><^<vv<<<v^><<v<>v^^vvvvv^>v^v<^^^v^^<<v<v^v^>^<<>v^^^v^>vv>^>^<><<^><^<>v>v^^<<<^v>v<^<>^<<v>>^<>v<^>>><vvvv^>vv><>>v><>^<<>>v<v<<v^>><^<^^vv><<>v><^<><^v<>^>^^^<vv>^v<^v^^vv<v>^^>^><v^^>^<^<^v<<^<vvv^<v>>^<<v<<<><<<v><>^<>^<^v<^^<>vv>vv^<>vv<^v<^<^^><vv>v>^><^>>^v><^v^><>v>^>^^vv>vv<<<<<v^v^v^>>^>^<<v<^v^<v>v>>>v>>vv>>^<<>^v><<><vv><>v>>><<v^><<>>^>v<<<^<><<v<v>^>v^v^>><<<v>^^>^>v^^>>^v>><^^v>vv^>v>v>v>^^<^>v>><
|
||||
>v^>vv<^vv<v>vv><>^<>>>>v<v<><v>>v>>^<v^><>^^^v^>vv^^>^v<<^vvv^<>>^vv<>^v<v^>^vv>>^>>^>><^vv>vv<<<v><>v<^^<v>^<^v<<^v<^>><^^vv<vv><><^^<>^^v<><^>>><><<^<^<^<>>vvvv<>^>v<^<>^>>v^><v^><<>><>v<v^<vv>><^<v><^<<>>><>vv>^v<<><v<>^>>>v<^^><^v<v<^>^v><<^^<v>>^v>v<v>^>^>^vv<^^v^^<^^>><^>>^<<vv<>^><v^>^^>>>^<>><^^<^<<v>v<^^^v<>>vv>vv<v^v>^<^>>v>>^<<^<<<<v<<>^v<>>v<<^^v>><^<<^>>v^<^v><<>^v<>v>^>>^v<>>^>^<<^><>>>^<>^v>^v^<v>>^<^^^v>><><v^v>>^^>>vv>v><^>^^^v><vv<^>>^v^<^>v><^>v<<^^<<v>>v>v^^v^<v<v><^>>><v^>>^v>>v>v<^<>^<<>v<vv<^^v<>v<vv><<<><^^<v><>vv<>>vv^<^<>>v^>v<>^>><<^v<><^>>><><^>^><>>>v<^<^v>>><^>v<v<v^>^^v>v^<v>^><^^>^>v<v^>>v><>><^v^>v>>>><>^^v>><^<>v>^<>>vv^v>^v^><v^v^>^v><>v>>><^^>v^<^v<^>>^>^><><^<^>^><<>><^v><v>^>>>v><<><^v>^<vv><v<v>^>v<v<v^^^>v^><>v>v>v><^v>>^v>>><^^^<^<<>v^^>vv^<<><vv^<><>>^vv>v<><v>vv<><^>^>><><v>v<>v>^v^<vv>^>>><>v<<^<vv>v^<<^><>^v<v>v^>>^>^>^<<<v^v^v<vv<^^>^<>v<v^>>>><<^<v>^v<^>^>v^v<<<<<>>>^>v^>>><<>>^^^>v><><vvv><^>>^vv<<>^<^^v^^vv>v><v><v>^<>^>>>v<^^<vvvv>>>^<
|
||||
v<<^<v><^v<v>vvvv>v<<v<^v><vvvv>^<^<^>vvv<>^^<><^<^^>vv^<v^<<^<^^v<v>>v>^>>^v<^vv^v^>^v^v>vv><><vvv<><^v>>v<<^v<v>v<<v^<^<<^>v^v>>^>>^v^<^><^<v<<v<>vvvvv<>^<^<>>>^^>vv^<<<^>><^<^>^^<<<<v^><<<<^>^^<<<>>>^>><>v>^v^^<^^>vv><vvv>^v<<<>>v<>v^v>><^^<vv<>^^<>>>>^v<<v^^^^vv^><<^^^>^v^<<v>^^v>vv><<v>>>v^v>>v<^v<v><vv<^vv><<>>^>^^><>^>><>>v^vv<vv^<<<vv<v>><v^^>vv<^>^<^<<<>^<^>^^>vv<v<v<<^<>v^v<><vv<<^vv<<v>^v>v^v><v^vv^<>v<^<<v<<><>^^<<<>v^<<>v<^vv^>^^<v^><>v>v<<v>v<<v>^<vv<^v^>>>>v^v<v^^<v>>>>v><^>v^vv><v^^>v<^>>^^vv<v^><v<>>^v^<<<vvvv^>v<<^<<^^v^v>vv>v>^>v<v^>vvv<<<>^vvvv<^vvv>^<v^><<>vvv<>v^>v^<>^>><^v<v^^vvvv>>^v><^^v>v<><vvv><<>^v^<>><^><^>^<<vv^<<<vv<v<>v^^^v><^><^v<<v><>v<^><<v^><><>^v>vvv<<v>><<v>>v<<v<<>v^<v^<>v>vv><>v<v<>^^^<<<>^><<v>v>><^v>>>^>v<v^<<^>^<<>^v^^vv<<<>vv>>^><v<<>><vv^>>^<^<>v^^<v<<^>^<><>v>>^v>^vv^>><>>>^^v^>>>^>^><<v>>^>v^>>><v^>>vv^v^>>vv<><>^>vv^^>vv>>v^><>>v^><>^^<vv^^^>vvv^>v<>><<>^v<<>^v^>><<<^v>^v>^vv<>><^v<><v^vv<>^v<<<v>>v>^<v^v>v<<^v<><^^<^vv^<>^<^^<^<<>><vv<^<
|
||||
^>>^>>^<<<^>^><<v^>>^>v>><v>v<v>v<^<^v<<^<>v<>>>><<<vv^v^^^^>^v>>^<<<^^><>v<><>v>v<>^<v<<^v>>>><vvvvvv<><<><vv>>><^vv>^^vv>v><^^^v^>><>^<v^v>v>>v>><>>v<^^vvvvv^^v^<>^v><v^>><<^>^v^<<>>>>>v>>>>^^^^^^v<^<v^<vv^><vv^^^>v><v^<><<^^>^^v^<<v>v^vv<^<<<>^^>v>><^>><<^>^v<<><^<<>v^v<^^^<^<>^<v<^^>^v><>vv>>v^^>>>^<v>>v<>><^v^><<>>><<>^^^<v<<<><<<v<^v^<<v<^>^v^^<^v>^vv<>>v><^v^>^>><>>^v>^>v^<<>>^<<<<><>^>^vvv<<^^^^v<<v^v<^<<><v<v^>><>^<^^<<<><>^^^^^v>>vv^v<^^<^<v<<v^<>vv^<<<^>v<>v>v>>>^<>^vv>^v<<<^^>^<^^vv<>>>v<vv<vv<>^>^>>>v>>^^<<vv^<<^vv<^><>^><^<<v<><^<<<>^v^<>v^<vvv>^<^^<<v<v^<>^<>v^^>^>vvv<>><<^>^>>vvv<v><^<^<>><>^^<v>^v^vv>vv^>vvvv>>vvv^><>v^v<<>>>^^>^vv<^^<<>v><v><<^>>v>><vv>^>vv>v^^>^><<<<><v>^^<v<>^<^>>>>>^<>^<<<v>^<<<v<^<<<>>v>^v>>v><<^^<v>v>v^><v>^>v<^<<v<^<^<vvvv>>vv<v<v>v<^>v<^v<>v^>v^v^^<>^>^^<>>>^<>^>vv><>>^<^<v^v^>^<^v><<<>>v>v^^^><>>v>^v>><v><^v^v>v<vv><v<<>v^>>v^><^<<^v<^>^<v>>vv<><<^<<vv^>^<<>><>v^<v<<<>vvv^^vv><>><<>^>v^><<>^^><^v<>><<<>><>^vv<^><vvv>v>v<v<^^v>^vv^<<^>^>v>v>vv>
|
||||
>^<v>^^^^>>>>^<<>v^^^v<><>>v^^<<<<^>v^>>v^<>^<>><<v^<v^>^^vv<>^<^>>v><>^v^^><^>>^<<<^^>^v<^^><v<>v>^>vv<^vv>>vv<^v>^<><v^v<<>>>^^<>><^<<v^v^v>^><^<>><v^v>^vvvv><<v<^<><^^^v^>>v<><<<><vv>vvvvvv^><<><^<vv<^>>>v<<v<^^>>vv<<<^>^>v<^v<^><^vvv<^v^v^^v^<<><<><<v^<^>vvv^v<>^^v^v^^v>>>^v<vv>^^>^>^^^>v^<^v^^<>vv^v^^v>^><v^^v<vv>vv><v^v>v<>vv^<^<^^v^<v>v>>v<^><<<v<><<^>^><v^<^vvv>^v>v>v<v<vv^<v>><v^vv>><<^^<<<v<v>^v^><^>>>><^>vv^>><>vv><<^>vvv>^>vv>>^^>vvvv><><<><^vv<>v^><v^v<vv>>vv<<<<<^^^<^>^<><v>^<^^v><>^v><>><>v<>>>v<v^<><>^<><<^v^^>^>><><<^<>>>vv<>^^vv^<v><v<<^^<^>^^<>^>>>v>v^^^>^v<><<>v^>v>^>vv^v>v>v>^^v<<<<^<^><^<<><^^^^^^>v^<^>v><>v><^^>><^><>v<<vv>^>^vv>><<<>v>><^^v<<><>^v<>vv^^<><<v<>>^v<^><<^v^vv^v>^^>>>^<^v><^^><^^v>v>><<><^v^^>><^v>v>v^<<<v<v<<vv^v<^><v>>vv><<>^^>^<^<^<>v<>v<vvvvvv<<^<>>v^^>^>>^><><><v>^>v^<^v<>>v<>v^<>v>>^>^v^<^^<v^^v^^v>^<^v>>>>vv^<v<^>^^vvv>>^<<v>^<><>>v>^>>^v^^>^v><>^<<^^<v^<<^>^<^v^>><><^>^>v^v^>^>^<<<^<^v>v<>v<v<^<>>^<><<^<v<v<v^<>^^>v<^^v^>^vvvv>vv<^>^v^<v^<><
|
||||
>^^v>v<>>v^v><^<vv<>>v>><><>v<^^><>v^^<>v^<><v>>^<v^<>v^<>>^<><^<><v^^^^^<<^v>^><^>^v>v<<>>>><v>^><vv^<^v^^<<<<v><<><v>>>><>^<v<<<v<>^<^v><^^^^v^vv<^<>^<<><v^>^<<^v^v<^<<<vv^<>v<^><>v^>>v^v^>>^^^>^>^>^<<><>^v^v>^^v<v<<v<>^v>v<vv^vv^<^<v<<>>vv^<vv<^<^v<v<>>^>^^^v>^>><^<^^<^<<^<vv<^vv><<<^v<^><>^>^vv<<>vv<<v<<><<vv<^><^v^^<v<>^v>>v<v^<v<v>^^v<^^^^^>v>^v>^<v>vv^><><^>>v^v><<v<^v<><^v<^<^>vvv^><^^v>vvv>v<v<^vvvv>>>^><>>^^^>^v^^^vvvv<vv>v<v>^^^^v<v^vv>v<v^<^<<^<^^vv^<^v<>^v<<>^>^v<v<><vv<v^v<v<v<<^<<>^^<v<^><>v>^^^^v>^<v^v^v<^><>^><<^>><^><v^>v<^>v>^v<^^>^<^><^>>v<v>^^<^^vv<>vv<<>v<<^<><>^v>^>^^>v<v>v^^v>><>v<<vv<v^^^>^v>v<>^<v><<^<<vv>vv>v<v^^>^>>vv<v^v^><^>^^>v>>v^>^<v>^^<v<><^v<>>^<<>><^<^^vvvv^><<^^^^<v^v>v>>vv>v<>^vvvvvv<^>^>>>vv>vv<<<<<>>>^<^>v<^^^v<v>v^v^v>v^<^<v>vvv^><>vv>>vv>^^>^>^>v^^^^v^v>><v^v<<v<v<<^vv^<>^^<><<^vv^>>v^^^>>v><><>^<^^^v<v<^v<>^<<^>vv^>^^>v^<<v^v^v<vv>v>vv^^v^^>>>><<<<v<v^<>vvv><><<<>v<<^>v<^vv<<vv<><^v<>v^><>>>^^^v>^<<<>>>^<<^v><<<>>>><^^<<<<<v><<v><vvv^^>^>vv^vv
|
||||
v><><vv><><^v<^<>v>^v>><<^^^<<>^<^^<v<>>v<<<>><<><v><>vv<<^<^^v^^^^<<^^^v^v^^v>^v<^^<<^^>vvv>>^<>>>^^^><v>^v>v><>^^>vv^<v^<<><>v>v<<^^>^^><vv<v^<>>><>>^^vv<><<<^<v^<vv^<<<>vvvvvvv>^<<v<^><^<>vv>>vvv^v^vv<><>v^<^<v^>>vvv>^<v<^v<<^v^<v<^<v<vv<v><v^<^>vv><<<<><>^^><<><<><<v<>vv>^^><<<<<^^^<>v<^>^v^v>vv^v<v^>>v<<^v<>>^>^<><<<^><>><v><>v^>v>^v^v^v><^<v<v^<><>v^vv^><vv^>vv>^^>^^<<<v<^^<>^<v^>>^><v>v>^v^>v><^>v><>^>v^vv><<^v<>>vvv>vv<>^v<<^vv<v^^<v<v^vvvv>vv^^<v>v^v<><<vv^vvv><<>^^>vv<<vv<^<<><<^<<<^^<v^>v^>^^><>^^v><><>v^v<v>>><v>>^vv<<^^>v<^^<<v>^><>>>>v<<<v>^>^^v><<^v>>v^>>^>>><<v<^v<<^^v<<^<^>><v>>><^>^<<^<<>^^>^^<^<<v^<^^<v>^v>v>v^>^vv^<>v>^^v^<^vv<^>v^><<>^<v<vv>v^<<<^<v<<>>>^v>>vv>>^>v^^>v>><>^<<<^^v<^><><>^>^>v>>v<<>v><vv>v^^v>>v<^^^vv^vv<<^<v^^<v^>^v>^vvv^>>v<<><<v^>^v^>>^<v<>>v<<>>^<>>v>v^v<^>>><v>^<<^<<<<v>vvv>^><<>>>v^^^>>><<vv<^>v><<<^^v^v>>>>^<<v<>^>>v^><<>v<<^^^vv<^<<^v<><v><<<^v>v<>^^<v><>v<<<^vv^>v>v^^^v^vvv>^^<v><v^>>>v^v><^>^<<^><v<^^<^v>^>>>><v^>><>v^>>^^^^v^<>><><<<><<v>>
|
||||
<<vv^v><<v<^v<v^<<><^v<^<<<v<>^<vvv<<>v<>v^><vv>v^^<v^>>^^^^^>^<><<^^v^<>v><>^v<^<v<v<<<v<><<^>^^><vv>^v^^>v^^<<v>>v^vv<v^<v><^v>^^^v^^>^<><>^^<v<^v<>>vv>v<vv<<>^>>>v>v>v<v^^v<^<<^v>vv^>v^^^>>>^v^v><^^<><<><<^v<v><^v<>v^v>^^>^^>^^v^>^^v>^^<vv<<<^^v>^v<><v<v<v>^v^^^vv>><^^^^v>v<>vvvv<<><^v<<>^v^<^v<<><v^v><><v^<<^>>><>^v^<>^<^v^vvv<><<>^^^v<^v<>>^v^><<>v>v>^v>><^>><^<^vv>>vvv^><^v<<>^vvv^><vvvv^<<<v>><<<<><^v<>^v^<>^<<<<>v><>^v>^><^^^v^^>^^<v<<>^<^^>vv>^v>v>>>v^<>>>v>>>>^v>>^<v<<<<v^><><>^<^v>^<<>^<^^>^<^><>vvvv>^<^><<<^^^><v^<^>v><^>v<v^<vvv^^>^><vv>^>>v^<<><vvvv>>v<<v<v^v<>v^v<<vv^v^v><>v^^<^v<<^<v^>>v^v^<>v><vv<><v>^v<<<>><<v<<^^v<v^<v<v>><v<^>^<>v>v<<v^<v<v<<v><^<><>v<^v^<^^v>v><v<v<vv^<<><<>^>>>>>^v><^v<<^<v^^v^<<^<v><v<<^>>v^^>v<>v^^><v><v><<^>>v<<^v>^v^>^>vv<<<>>^<^>v>>^><<^^<<vv^^>>vv^<>^^<<<^<^^v^v>^<vv>>^>^><<^>^><>^v^>>>^<>^v^<vv>^^^<vv^^<<>^^>v^><<>vv^vv^<^v>^^<>^^>>^<^v><<^^>v^<^^<vv^v>>v<vv<v^>^v>>>v^<><<>>v>>>v^>>v^>^^v><<^<v><^v^<><>v><<><<^<><<><<^^v^<v<>^>>v<><^>v><><>
|
||||
^>^>vv^^v^>>v<^<v>vv>v<v^v<v^^^^v^^<<v<>>^<^><<^v>^v>v^><><^^v<^^^>vv>v<<^<>>v^<>^v<^^^><v^<^vvv^v^v<v<v>^^vv>^v^^>v<><>>v<<^v<<<vvv>><>><<v>v^^vv^^><<<^>^v<vvv<v<vv<^v<v>vvvv^<^><vv><^>^^v>>vvv<>v>>^>^<<^<^^<^^>>^>v^<>>v><^>v>^<v<<^>v^<>^v><v>v<^<^v<vv>v>v^<v<vv<^v^^vv<v<<^><v>v<v>><^>^<vv^<^>>><^<^vv^^>v^^<><<v<<<<v^^<v>^vvvvv>>^^>v<v<^><^^^<^<>^><^<vvvv<<v^><v>^>vv<>v<><>>>><^^^>v^><<vvvv^^v<>^>v<>>^vv>>v<<^v^<><<^^><v^^vv<<>><<<>v<>vv>>>v<><>>v>vvv<>>^^<^^>><^^^^><<<>^^<^<^><^^<v>^^^>^<v<^^>>v<<<>vv^<v<^^>>>^vv^vv^v^^^vv<>^>^<<<><><<<<^^^^>^v>>v<<^^<^>^^>^v>v<>^^v^>v>^>v<<<v<<>^><vv^v<^^v>><vvv>v>^>>>>^>^>>>v^<^v^vv<v^v<^v>^v^v<vv<>vv>>><<^^>>v<<v>v^>>^>v^>^><^^>vv<^>v><vv<^><v><^^^<v^>vv><v>>v<>v<^vv<v<<>^<>v<<^<v^<<v><^v^<<<>><<>v^v^v^><<>^^vv>v>vv^<v>^>><>^>^vv^^^>>>^^><>v^^v><<>>^v<^>><<<><^<v^v^^^^^<<^^><>^>v<<^><v<^v<>^><^>>>><<vvvv<><^><v<^>vv^^<v><<>>v^v^>>v><^><>^>^vvv><^><><>vvv<v<^^^^vv^^v^<<^vv^<^<^v<^v<<>v<v><v<<^><vvv^<^v<>v>v^<<<<^>^><<v<vv><^<<v<<<>>v<>^vv<>>>^vv^^^
|
||||
vv<<>v>v>^^>v>^<^<v>v><>v^<^<>^<^<^<>>^^v<><><<^<v^v^<^^<^vvv^v>vv^><^>>>^^>>>^^>v<><<v^v^>><v>^vv>v^^><>v<^<vv<<^^>><<v>>^^><<><v<v><v<<v>^^^v^>^vvv<v>^<^vv<^<v^vv><>vv><<>>v^>>>^^>^<<>v>^^>^v<^>><<>>>^^v^<v^>>>^<>^><^v>vv>^vvvvv>><v^^<v^vv<v^v^^>v>>><<^^<><^vv^v>^^><<<<v>>v^<<<^v>>v>^^v<<vv^v><>^<^<v>>><<<<v>v<>>v<>^><>><><^^>^<v>v^v>><><>>^^^>^^vv^v>vv>^<vv^^v<<^>^<v<^v>>vv^><>>v>^^vv>^^><<<^v<^v^<>>>^^>vv<^>>>^v^^>>><v<vv<<<<<<<v<vv><^<v^><<vvv<^><^^vv><<>^><<<<<^v<<>^^^<>>v^<^v><^^v><v^><^<><vvv>^<^>>^<<v><<v<<^>v>>>v<v<<<>vv<^v>v>>>^<<>>>^v<<v^><vv><v>><v>><v<<>v<v<<<v<vv>>^>^^<v>^v<<v<>>>v<<^^^>^<^<^^^>>^^<<<^^^<><<>v^>v>^^<v<v>^<>^><vv^><^v>^<>^^<<>>^v><<<><^^v<^vv^^^v><<<^vv^>v^>^^^vvv^v>v><>><v<>^^v<<v^v>>v<<v><>v^v^v<^<<^v>vv<vv>><vv<<vv^vvvv<>^>vv^v<<v<>v>><<<<v^><v>^^v>>>v><vv>v>>>>>>><><vv<v<<<^<><<<^<>vv^><<<>^^>v<^<<>>>>^v^>>^^>^><vvv>^><^^<v^<^^^vv>>>^^vv<^>v>^^v<<<>v>>v^^<<v><^^v<>>>^><v><^<vvv<^v<^v^^<>>^v><^v>^v>^<^vvvv<<v>^>>^>^<<^^v<v^v<>^^>>>^^>^vvv<<v<^^v>v^<^>>
|
||||
^v^<>v>v^^v^^<<<<v<^v>^<^^^^v<<v>v^>v>v<<v<<^>vvv<>v<<v>^<^>vv^vv><<v>v>^>^^vv<<vv<>v^^<>v^^v><v>v>v><vv<><>^v^>v><v^<<vv<^>v^>>><^>>v<v<>^^v^^v^vv<^<vv>><^<>v^^>^v>vv^<vv^v><>><vv<<><vv>v<v<>v^<v^v<vv>>^><v^<^>>^>^<<><vv<v<vv<v<v<vvv>><><>v^><>>v>^^<^<<>v>><v>>^^^^>>><<>^v<<^<>>>^^^^vv<v<^<<<>v<v^^>^^>^^<<>^^v^<v^v><v>vv>><>>>>^v><v^><<^>^^<>vv^vvv^^^>^v^^<vv^><<v^><>>>^^>v<<>v^^^vvv^<<^vv^^><^>^v<<v^^v^>^vv<v^^v>^v<^<vvv^^>>><<<>>>><vv>^vv<><<v>v<>>>v>^^>^vvv><^<><^<<<<><v<>v>v>v<><<v<^v>v>v>^><v>>>>>>^^<<v<<^>^>^^^v<v<<v>^<^^<>^<v>^v>>^>>^><^^vv<<vv<<<vv>^^>>>^v<^v>vv<vv^>vvvv<<><<^^v>>>>^^^^vvvv^>v^><^><<>v>^v^>^>vv^>vvvvv^^^><<>><v><>^^<><^^v<>^^<><^^^^<<<v^^<^<><<<v^<>vv>v^^<<v^^^^<<v^<vv^v><<>><^^^v><<v<^^<vv>vv>v<>^<v^<<v^>^^vvv>v><>>v^v^>^^^^v>v>>^^v>^>v>^<v<v<^>vvvvv>^<^vv>^v>vv><<<>><>^>v<<>><^><vv>^v<<vv<><<>v<^v>>^>^v^vv><<<vv><^><>>><v^^>vv>v>^^>^^v>><^>^vvv>>>^><v^<<vvv><<<vv>^>>><v<v<>^>^<^<>>^v<^vv>v^^^v^<v><>>^><>v^^<<v^<><>>^><<vv<vvvv>>><^<<^<<vv>v^v^v^<vvvvv^vv<vvv
|
||||
^vvv<<>>>^^vv^^><v^<><<^>><<^v^vv<v>>^v^>><vv^>^<<v^v^vvv^^<vv<v^v><v>>>>^v>^v><^^>v^^v^v<^>v^vv<^v<<^^^>^>><v><v^<>v<v<v>^>vv>>v>^v<^>v<^<>^>vv><^>v<<<<vvvv<>^<v^v<^<<>^>v>><v>>v^<^vvv^v<>^v<^<^vv<^<^vv>^><>v<<>v<><<>><>vvv^v<<^v^v<vv><<>v<vv^vvv<><<v>^>^>^<vvv><<>>vvv^^^<^>v^v>>^<^>v><v^vv<vv<<<<v^>>v>>>>^>>^>v>vv^<v>>^v><^>v^v>><v^v^<v>v^v<^<v<^^^^<v<v^^^<v>>^v><><<v<><><v<>^>>v><><>>><^>>>v^^v<<<>v^<vv>>><^<^v>v^v<>v>^^vvv<vvv^>^<>^<<>>vv^^<<vv<>>v>vvv>^>^vv^<<><<^v^v>v>>v^^^^^v<<<v>>>v>^>vv<^>^v<^><^<<^vv<>v><>>^><>^<^<>v>>v>>>v<^<v>^^<vv<v<^><^^^>v>vv^<<>>^^^<<^<vv^>>vv^^>v^>v<^<<>^<^<v><^^<<<^><<<<vv>>vv<<v^<^><<<<^<<v<>v^^^<>>>>><>v^^v<>^vv>^>vv<<<>><v^v>v>><v>v>vv^^v^v>>v<v<<<><^v<>>vvv^>vv^^vv>>vv<^^>><><<v><^<^v^<v^^<v^vvv^>>v^^<v^^>v^>>v>v^^<v<<>^v><v^^v>><<<^>v<vv>>vvv>^v<>^<^^<^v<>>^v^^>><><<<v^^<^^^<^vvvvv>vv>^>v^^v^vv^>>><vvvv<v><><vv^>^^vv<<>^<v^^>vv^>^^<>v^<<v><<v^>>^^v^><<<>>v>>v<<v^<>^v>vv<^^>><^<<>^vvv>^^<^<v^v<<<<^<vv>><<>vv>^>^^<<>>^^vv><^^>v^<>v><>^^<^^v><<^>>^>
|
||||
<><<^<<>^>^^^^>vv^v><^>^><<><^><^v<vv^<^v><>^^^><>^v^v<><<<>>v<>v>^^<^v^^^><>v^^^^<<^v>^<><<^vv<<<<^>>>^<v>>v^>^>^<><v>^><>v>^>^<^<^v^vv<vv^^>^<v^><<>>>>v>^>^v^vvvv>^v<<>v>><>><v>^>^^^>vv<^vvv<^<v^vv<v^vvv><v<>>v><<vv<>^vvvv^v>v>>>^v>><<v<>^>>>^v>vv^v<<>^^^<^v<<^^<<^^^<<^v^^v>>^^^><>^<^<v>v>><<^<<v^vv^^>v>vv<<v><<^^<<<<v^^<^v^<><v^^v><v<>><v<^v>vvv^><^^v>^^^>><v>>>^^v>>>><>>^<>>^^^v<><^^v<v<>v<^<vv>v^^vv^v^<>><v<<<<^vv<<<^v<^v>^^^^><vv<v><<<>^v^>v<v<v^>>v<>^^>v>^>>^>^>v>>>^^>^<><<>^^vv>^^v^^^vv<^>^^^v<<>v<>^<<v^v<<^<>>^>^>><><v<><^<v<^>^^>^<<>^v>^v<<^^>v><><<v^<v<^^<<<vv<>>v^vvvvv<^^^vv>^>vv>^^^>v><<<^<>v>>^^^<<<>^><v^^<><>^<v<<>><v<<v^^^><v^^>>v>><vv^>v^v<v<<^vv^v^><^>^>vv^>vv>>^<^<vv^<v<v<v>>^><^<vvvv<<<v<>>>><><vv<><<^vv<^^^v<><^vvv>>^^<^<^^^vvvv^^^v<v>>^v<<v^>^^>v>>^<^v^<<^v<vv^<v><vvv^v>v><^<^v<<v>^^>^v>vvv<^vv>^^>^<>^>v^><<<>v^v<v>^^v<><^vvv^^v<>v^^<^>^<><^^<<<^<>vv^<^<>^^^><>v<<<v^^^^v>>^>vv^^^v<>vv><vvv>^<<>^<><v>v<>>>>v^<<<>v<>v<v<>v^><v<v^><vvv^<^v>^><<>vvv><<>><<<^<v^v><^^<^
|
||||
v<<v^v^<^>>>vvv>^^>^>v<>><v^vv><<^v>^v^><v<v<<<<>><^v^<<>^>>>vv^<<^<<>v>vv<>>>>v<<>^vv><<v<vvvv^<^>^>>>><v>^<vv<^<^><^><>>vv><v>^>v^<<><<vv^^^<^^<^>^><<^^>v^v^^>^^><^<^>^vvv^<v<<><^^>^<<^>^^>>^<><<^vv>^>v>v>v<^^<>>^^><v><<<^v>^^vv^v^^^^>vv>>^>vvv^vv>^v^<<>><>><<<<>>>^^<<v<^>>v<>v<>v^<^vv^v^v>>v<v<>^^v><<>>>v>vv<^<v<^^<vvv^>^v^<^<<v^>>>v<^vvvv><vvv<^>>^v<v><vv^vv>^v<vvv>^<v>v>^>><>vv<^^v<<<^>>v<>v^><vv>^^vv^v><v>><v<>^v><>^^^>v<^^v>>v^v<<v^>^vvv<^<v^<<<^^^v^>v>>vv><^^v><<<<v^>^v^vv><^><><><vv^v^^>>>^<^^^<<>v^>v<<><v^>>vvv>>><<^^v>^^<^^v<v^>v<v>^v^^v^vv><^<^^<^vv>>v<v^<^<^v^>^>^^^<<v>>^vvv<^<>^^^^<^<<<>^>vv^v<><^<<v^><v><><^v<^>^<^>^v><>vv>>^v<^^>>^<<>>><>vv<vv^^>^v<>^^<<^v^^^v^v^vv>vv<^<>>v<>>vvv^v<^v>vv><<>^<<<v^<<>v^^><^<>>^>>v>v<^><^<^vv<<<^v^<>v^^^^v^v^vv<>>v<<<vv<v><<^>>v^^>vv>>>^<>>>><<>^^^<>v>^>vv^<vvv<vv>>^<v^<vv<^>>>v^^^>>v<>^<><v<v>^>^v^v<>^<^^>^^vv>><>^>vv><^v>^^v^^<^v><v^v>>^v<>><>v<<^v^v>^<^v><vv>^>><^>v<>^<v<^>^>^<>^>v>^v>^<v>>>><<>^<^v<^<<v^>>^^^><v>^^<<v^<^><><>^^>><<<<>
|
||||
^>v<^>>vvv>^v^v>^><^>><^>vv^<^^^<<>^<>>^<>v>><><<<^>^^>^^^<^><<v<>><><>>^^^^^<<^<v<^^>v>><>vvv^>><>><vvv<^>^>^>vv^<<v>vv^>^v>^<v<^<<>vv<<^v<<>>v<><v>><^>v<^^^>v^^v>v>v<><^><<vv>>vv^v<>^v<v<^<v<v>>><v>^>>v><>>vv>^^<v^^vv>><<<<v^><<^<>v<><<^>>^<^><^vv>^<v^>^^^vv^v<v>>>^^^^vv^><>v<<><><>^vvvv><>v>vv^^>>^^<^v<^>^><^^<<^>><^>>><>^v<^^<>><<><^v^v^v<^<^><>><>^><<^^>^^><v<^v>>^vv^>>>v><<<>vvv<>>v<^v^<<<v^v^^>vv>v^<<v^>vv<>><^>>vvv^^<^<v>v>>^^v<^v>vv^v>><>v^<^^<<>^<v><^v^v<<^<v^>v<<^^>>v<>^v<v^>>>><v><<v^<^^v><<v<<<<v<<><^<>>^>^vv^v^v>v>>^<>vv<^^v<^>>>>v<>v>>>>vvv>>>vvv^>^>>>vv^vv>^v^v>v>>^^<<vv>><<v<>><vv<^v><<>^v<v^^><^><<<v^^<<v^>^>^<><v>><v>v^<v<v>>v<>v^^<<vv>v<><v><>vv<><>>^v<<v>^><v^<v^vv<^<><^><>v<>^>><<<>>^^<<<><^v<v>v^v<<^v^^vv^v>v<>^>><^v><^v^vv>>>v<v<<<^^>^<<>v>vv>>^^<v>><<<>^^v>^<<v<^<^<>>v<<<v<<v<v<>>><>v<^<>v^>>>vv^^<v^>>>>><>v^vvv><^>v<v>v<>^>vvvv>>^<<>><>v<^>>v<<<<>^^v>^^<>^<v<<^v<><^vv^v>>>^>vv^v<vv^v>v>^<v^^^^v<v>^v^v>^v><>v^^><vvv>^v^v^v^^^vv><v<<><><<>>^<<><vvv^<vv^^>><v>^vv
|
||||
><>v>^v<v>><^<>v>^vvv<v^^v^v<<^^vvv<^>v><>v<^v<v^^^>>^<v>^v<<<^<<><><^vv>vv><>vvv<^<<<<vv<^<>><<^<v<^^v^<><^<v>>v<vv<^v^^><<<^>v<>v<v>v<>v^><>v^^<<^<><^<<^>^v>>><^<<^v<<^^><<vvv>><v>^>>>^vv><^v<^v^v^vv>>vvvv<>>>v<<^>^^^>vv^><><>^<v<^<><>><<<v<v^<v<^v^>^v^>v<>^^><vv<>vv>^<<^^^^<^>>^>vv>^v<^><vvv>>^<<v^^><^^^^>vv><>v>vv>><<^vv^><><^vv^<>v>v^v<vvv>>^v^v<vv^>^^^^vv><<vvv^v^v>vvv><^v^^<v^<>^v<vv><>><<<<><>v<<^v<><<<<v<<^^^>>v><>^vv><^>^>><>^^><v<^^v><^^v><^^^v><v^>><vv<>^vv<^^v^<^<v^>^^<<<vv<<>^^>><v<v>v<vv>><<v^^<v<><v>><>^><vvv^vv^^v^v><>v><^v>>>vv<^v^v>>vv^<^<vv>>v^<>v<^><>>^v^<vvv^<>^<>><^^>v<<<>^<><^<<^vvvv>v<^<^vv^><<vv<>v><^v<>^^<><<v>>><>^>>v^v><vvv>vv>><^^v<^v^<^>^<>vv>><<<<v>^><><v<>>^v><>v<v^^<^^<<^><vv^^<<><>>>^^<v><<>v^<v>v^v^v<<<>^v<<<<v^<vv^<>>>vv^^^^>^>v^<^^<v>><<<v<<<><<>vvv^><v>>^vv>v<>>^v<^vv>^v><^v>><vvvv^v<<^^^^><>v^><v<vv>>^<>>^v<^vv^^<<>vv<>v<>vv>>>v>v^v><vv^v^^v<>>>^v^<>v>^^>v^v<^v<vv<<>>^^v^^<<<>><<<<v>^>^<vv><^>><>v<^<>^<>v^>vvvv>v^><<>>><^^<<><^<^vv^<>><>^^^v>>^^>
|
||||
2
data/16.ans
Normal file
2
data/16.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
106512
|
||||
563
|
||||
141
data/16.in
Normal file
141
data/16.in
Normal file
@@ -0,0 +1,141 @@
|
||||
#############################################################################################################################################
|
||||
#.....#.....#.....#.........#.....#.......#...#.........#.....#.....#...........#...#.............#.....#.....#...........#.....#..........E#
|
||||
#.###.#.###.#.###.#####.#.#.#.###.#.#####.#.#.#.###.###.#.#.###.###.#.#######.###.#.#.###.#######.###.#.###.###.###.#####.#.###.#.#####.###.#
|
||||
#.#.....#.#.#.#.....................#.....#.....#...#...#.#.......#.#...#...#.....#.#.#.#.....#.#.....#...#...#.#.#...#.....#...#...#...#...#
|
||||
#.#######.#.#.#######.###.#.###.###.#.#.###.#####.#.#.###.#######.#.###.#.#.#######.#.#.#####.#.#########.###.#.#.###.#######.###.###.###.###
|
||||
#...........................#...#...#.#.#...........#.#...#.#...#.#.#...#.#.....#...........................#.......#...#...#...#.#...#.....#
|
||||
#.###.#.#.#.###.#.#.#######.#####.#.#.#.#.###.###.#.#.#.###.#.#.###.#.###.#####.#.#.#####.#.###.###.#######.###########.#.#.###.#.#.###.#####
|
||||
#.#...#.#.#.#...#.#...#...........#.........................#.#...#.#.#...#...#.#.#...#...#.#.......#.#...#.........#...#.#.#...#.#.#...#...#
|
||||
#.#.###.#.#.#.###.#####.#####.#####.#.###.###.#.#.#.#########.###.#.#.#####.#.#.#.###.#.###.#.#######.#.#.#########.#.#####.#.###.#.#####.#.#
|
||||
#.#...#.#...#.#.......#.#.....#...#.#...#.....#...#...........#.#.#.........#...#...............................#...#...#...#.#...#...#...#.#
|
||||
#.###.#.#####.#######.#.#.#######.#.#.#.#######.#.#.#.###.#####.#.###.#.#######.#######.#.#.#####.###.#.#.#.#.#.#.#####.#.###.#######.#.###.#
|
||||
#.#.#.#.......#.......#...#.#.....#.#.#.......#.#.#.#.#...#...#.....#.#.....#...#.........#.#...#.....#.................#.......#...#...#...#
|
||||
#.#.#.#########.#####.#####.#.#.###.#.#.#######.#.#.#.#.###.#.#####.#.#####.#.#########.#.#.###.###.###.#.#.###.#.#.#.#########.#.#.#####.#.#
|
||||
#...#.#.........#.......#...#.#.....#.#.....#...#...........................#.........#...#.............#.#...#...#.#.....#...#...#.......#.#
|
||||
###.#.#.#####.###.###.#.#.#.#.#######.#####.#.###.###.###.#.#####.#.#.###########.###.#.#####.#.#.###.###.###.#####.#####.#.#.#############.#
|
||||
#...#.#.....#.....#...#...#.......#.....#...#.#.....#.#...#.#...#.#...#.............#.#...#...#.....#...#...#.#...#.#...#...#.#.............#
|
||||
#.#.#.#####.#######.#.###########.#.#####.#.#.#.###.#.#####.#.###.###.#######.#.#.###.###.#.#######.#.#####.#.#.#.#.#.#.#####.###.#.#######.#
|
||||
#...#...#.#...#.....#.........#...#...#...#.#.#.#...#.......#...#.#.#.#.....#.#...#.......#.......#.#.#.....#.#.#.....#.....#...#.#.....#...#
|
||||
#.#####.#.###.#####.#########.#.###.#.#.###.#.###.#############.#.#.#.#.###.#.#.###.###########.#.#.#.#.#####.#.###########.###.#####.#.#.###
|
||||
#.#.....#...#.....#.........#...#.#...#...#.#...#...#...........#.#...#.#.#.#.#.....#.#.......#.#.....#.#...#.#...#...#.....#.#.....#.#...#.#
|
||||
#.#.#.#####.###.#.#####.#########.###.###.#.###.#.#.#.###.#####.#.#.###.#.#.#####.###.#.#####.#########.#.#.#.#.###.#.#.#####.#####.#.#####.#
|
||||
#.#.#.#...#.....#.....#...............#...#.#.#.#...#.#.#...#.#.#.#.#...#.#.....#.....#.#...#.....#.....#.#.#.#.#...#.#.#.....#.....#.#.....#
|
||||
#.#.###.#.#.#########.#.###############.###.#.#.#.###.#.###.#.#.#.#.#.###.#####.#######.#.#######.#.#######.#.###.###.#.#.#.###.#####.#.###.#
|
||||
#.#.....#.#.......#...#...#...........#...#...#.#...#.#...#.#.#.#.#...#.........#.......#.......#.#.#.......#.....#.#.#.#.#.#.......#.#.#...#
|
||||
#.#######.#####.###.#####.#.#.#######.###.#####.###.#.#.#.#.#.#.#.#############.#.#########.###.#.#.###.###########.#.#.#.###.###.#.#.#.###.#
|
||||
#.#.....#.#...#.#...#...#.#.#.#.....#.#.#.....#...#.....#...#.#.#...#.........#...........#...#.....#...#.........#...#.#...#.#...#.#.#...#.#
|
||||
#.#.#####.#.#.#.#.###.###.###.#.###.#.#.#####.###.###.#####.#.#.###.#.#######.#.#######.#.###########.###.#######.#.###.#.#.#.###.###.###.#.#
|
||||
#...#.....#.#...#...#...#.....#...#.........#.......#.#...#.#.....#.........#.#.#.....#.#.......#.....#.....#...#.#.#...#.#.#...#...#.....#.#
|
||||
###.#.#####.###.###.###.#.###############.#######.#.###.#.#.#.#############.#.#.#.###.#########.#.#####.#####.#.#.#.###.###.###.#.#.#######.#
|
||||
#.#.#.#.......#.#.#...#...#.............#.#.......#...#.#...#.#...........#.#.#...#.#...........#.........#...#...#...#.....#...#...........#
|
||||
#.#.#.#.#.#.#.#.#.###.#.#.#.#####.#.###.###.#####.###.#.#####.#.#.#######.###.#.###.#############.#########.#.#######.#.#####.###.#.###.#####
|
||||
#...#.#.#...#.#.....#.#...#.......#.#...#...#...#...#...#...#.#...#.....#.#...#...........#.....#...#.......#.#.....#...#.....#...#...#.#...#
|
||||
#.###.#.#####.###.###.#.#######.#.#.#.###.###.#####.#####.###.#.#.#.###.#.#.###.###.#######.###.###.#.#######.#.###.#.#.#.###.#####.#.#.###.#
|
||||
#...#.#.#...#.#.#.#...#...#.#...#...#.#...#...........#.....#...#.#...#.#...#...#.#.#.......#.#...#.#.......#.....#...#.#...#.#.....#.#...#.#
|
||||
###.#.###.#.#.#.#.#.#####.#.#.#######.#.###.#########.#####.###.#.###.#.#####.###.#.#.#######.###.#.#######.#####.#########.###.###.#.###.#.#
|
||||
#...#.#...#...#...#...#.....#...#...#.#...#.....#...#.....#.....#...#.#...#.......#.#.....#...#...#.#.....#.......#...........#...#.#.......#
|
||||
#####.#.#.###.#######.#.#######.#.###.#.#.#######.#.#####.#######.#.###.#.#.#######.#####.#.#.#.###.#####.#########.#.###.#.#.#.###.#######.#
|
||||
#...#.#.#.....#...#...#.#.......#.....#.#.......#.#...#...#.....#.#...#.#.#...........#.#.#.#.#...#.#.....#...#.....#.#.#.#.#.......#...#...#
|
||||
#.#.#.#.#.#####.#.#.#####.###.###.#####.#.#####.#.###.###.#.###.#####.#.#####.#.#####.#.#.###.###.#.#.###.###.#.###.#.#.#.#######.#.#.#.#.###
|
||||
#...............#.........#...........#.#.....#.#...#...#...#...#.....#.......#.#...#.#.#...#...#.....#...#...#.#.....#.#...#.....#...#.#...#
|
||||
#.#####.#.#################.#########.###.###.#.###.###.#####.###.###.#.#.#####.#.#.#.#.###.#.#.#####.#.###.#.#.#.#####.###.#.###.#.###.###.#
|
||||
#...#.#...#...#...#.....#...#.......#...#...#...#...#.#.....#.#...#.#.........#.#...#.......#.#.......#.#...#.#.#.........#.#.............#.#
|
||||
###.#.###.#.#.#.#.###.###.###.#####.###.###.###.#.###.#####.#.#.###.#.#.#######.#.###.#####.###.#######.###.###.#.#####.###.#.#####.#.###.#.#
|
||||
#...#...#...#.#.#...#.......#.#...#.#...#.....#.#.#...#.....#...#.....#.........#.....#.....#...#.....#...#.....#.....#.....#.#.......#.#.#.#
|
||||
#.###.#.#.###.#.###.#.#.#####.#.#.#.###.#.#.#.#.#.#.#.#.#########.#####.#########.#####.#####.###.###.###.#.#########.#.#####.#.###.###.#.###
|
||||
#...#.#.......#...#...#.#.....#.#.#...#...#.....#.#.#.#.#...#.......#...#.........#.....#.....#...#.#...#.#.......#.#.#...#.....#.......#...#
|
||||
#.#.#####.#.#.#.#.###.###.#####.#.###.#####.#####.#.#.#.#.###.#######.###.###.#.###.#######.#.#.###.###.#.#######.#.#.###.#.#######.#.#.###.#
|
||||
#.#.......#...#...#.#...#.....#.....#.#...#...#...#.#.#.#.....#.......#...#...#...#.#.......#...#.....#...#.#.......#.#...#.#.......#.#.#.#.#
|
||||
#.#######.###.#.###.###.#####.#.###.#.#.#.###.#.#####.#.#######.###########.#.#####.###.#####.#.#.#.#######.#.#####.#.#.###.#####.#.#.#.#.#.#
|
||||
#.....#.#.............#.#...#...#...#.#.#...#.#...#...#.#.....#...#...#...#...#...#.....#.....#.#.#.#...#...#.#...#.#.#.#...#.....#.#.#...#.#
|
||||
#.###.#.#.###.#######.#.#.#.#.#.#####.#.###.#.###.#.#.#.#.###.###.#.#.#.#.#.#.#.#.#######.#####.#.###.#.#.#.#.#.#.###.#.#.#.#.#####.#.#####.#
|
||||
#.............#...#...#...#.....#.....#...#.........#.#...#.#.#...#.#...#...#...#...#.....#.....#.....#...#.#.#.#...#.#...#...#...#...#.....#
|
||||
#.###########.#.#.###############.#######.#############.###.#.#.#.#.###############.#.#.#.#.#####.#########.#.#.#.#.#.###.#####.###.#.#.###.#
|
||||
#.#.....#.....#.#...........#...#.......#.#...#.......#.....#.#.#.#.#...#.....#...#...#.#.#.....#.........#...#.#.#...#.........#.....#.#.#.#
|
||||
###.###.#.#.#.#.###.#######.#.#.#######.#.#.###.#####.#####.#.#.#.#.###.#.#.#.#.#.#####.#.#####.#########.#####.#.#####.###.###.#.#####.#.#.#
|
||||
#...#...#.#.....#.......#.#...#...#...#.#.....#.#...#.....#.#.#.#.#...#.#.#.#...#.#...#.#.#.....#...#...........#...#...#.....#.#.#.....#.#.#
|
||||
#.#####.#.###.###.#####.#.#######.#.#.#.#.#.#.#.#.#.#####.###.#.#####.#.#.#.#####.###.#.#.#.#####.#.#######.#######.#.###.#####.#.#.#####.#.#
|
||||
#.....#.#.......#.#...#.....#...#...#.#.#.#...#.#.#.....#...#.#.......#...#.#.........#.#.#.#.....#...#...#.#.....#...#...#...#...#...#.#...#
|
||||
#.###.#.#######.#.#.#.#.#####.#.###.#.#.#.#.###.#.#####.#.#.#.###.#########.#.#######.#.#.#.###.#.###.#.#.#.#.###.#.#####.#.#.#.#####.#.#.###
|
||||
#...#.#.#...#...#.#.#...#...#.#.............#...#.#...#.....#...#...........#...#.....#.#.#...#.#...#...#.#.....#.#.#...#.#.#.#.....#.#.....#
|
||||
#####.#.#.#.#.###.#######.#.#.#############.#.###.###.#########.###############.#.#####.#.###.#.###.###.#.#####.#.#.#.#.###.#.###.###.#####.#
|
||||
#.....#...#.#.#.#.........#...#.#...#.......#...#...#.....#.....#.........#...#.#.#.....#.#...#.#...#...#...#.#.#.#...#.....#...#.#...#...#.#
|
||||
#.#####.###.#.#.#.#.###########.#.#.#.#########.###.#.###.#.#.###.#######.#.#.#.#.#.#####.#.#####.###.#.###.#.#.#.#############.#.#.#.#.#.#.#
|
||||
#.............#.#.....#.........#.#...#.....#.#...#...#.#.#.#...#...#...#...#.#.........#.#.......#.........#...#.....#.........#.#.#.#.#.#.#
|
||||
#.###########.#.#####.###.#####.#.#####.#.#.#.###.#####.#.#.###.#.###.#.#.###.#.#######.#######.#.#########.#.#######.#########.###.###.#.#.#
|
||||
#.#.......#...#.....#.#...#.#...#.#...#.#.......#.#...#...#.#...#.#...#.#.#...#.#.....#.......#.#.#...#...#.#.......#...#.....#.....#...#.#.#
|
||||
#.#.#####.#.#.#.#.#.#.#.###.#.#.#.#.#.#.#.#.#####.#.#.#.#####.###.#.###.###.###.###.#####.#####.#.#.#.#.#.#.###########.#.###.#.#####.###.#.#
|
||||
#...#...#.#.#.#.#.#.#.#.#.......#...#.#.#.#.#.....#.#.#.......#...#.#.....#.#.......#.....#.....#...#...#.#...........#...#...#.#.....#.#.#.#
|
||||
#.###.#.#.###.#.#.###.#.#.###########.#.#.###.#####.#.#######.#.###.#####.#.#########.###.#.#########.###.###########.###.#.###.#.#####.#.###
|
||||
#.....#.#...#...#.....#.#.#.........#.#.#.#...#.....#.....#...#.........#.#.........#...#...........#...#.#.........#...#.#.#.#.#.#.........#
|
||||
#######.###.#.#####.###.###.#######.#.###.#.###.#######.#.#.#####.#####.#.#.#######.#.#.###########.#####.#.###.#######.#.#.#.#.#.#.###.###.#
|
||||
#.....#.#...#...#...#.#.............#.....#.#.....#...#.#.#.....#.#...#.#.#.#.#...#.#.....................#...#...#.....#.#.#...#.#.#...#.#.#
|
||||
#.###.###.#.###.#.#.#.#.###########.#####.#.#####.#.###.#.#####.#.###.###.#.#.#.#.#.#########.###########.#######.#.#####.#.#.###.###.#.#.#.#
|
||||
#.#.#...#.....#...#.#...#...........#.....#...#...#...#.#.....#.#.....#...#...#.#.#.....#...#...#...#.....#.....#.#.....#.#.#.#...#...#.#.#.#
|
||||
#.#.###.###.#.#####.#####.#######.###.#.#.###.#.#####.#.#######.###.#.#.#######.#.###.#.#.#.###.#.#.#######.###.#.#####.###.#.#.###.###.#.#.#
|
||||
#.#.........#...#.#...#...#.....#.#...#.....#.#.......#...#...#.#.#.#.#.........#...#.#.#.#.#...#.#...#.....#...#...#...#...#.#...#.#...#.#.#
|
||||
#.#########.###.#.###.#.#.#.###.###.#########.###########.#.#.#.#.#.#.###########.#.#.#.#.#.###.#.###.#.#####.#####.#.###.###.###.#.#.###.#.#
|
||||
#.#.....#.#.#...#.....#.#.#...#...#.....#...#.#.........#.....#...#...#.......#...#.#.#.......#.#.#.#...#.....#...#...#...#.....#...#.#...#.#
|
||||
#.#.###.#.#.#.###.#.###.#.###.###.###.#.#.#.#.#.#######.#####.#.#.###.#.#####.#.#.#.###.#####.###.#.#####.#####.#.#.###.#####.#######.#.#.#.#
|
||||
#...#...#...#...#...#...#...#.#.#.......#.#.#.#.#.....#.#.....#.#.#.#.#.....#...#.#...#.#...............#.....#.#.#.....#...................#
|
||||
#####.###.#.#.#.#.#####.#.###.#.#####.#.#.#.#.#.#.###.#.#.###.#.#.#.#.#.###.###.#####.###.#.###########.#####.#.#.#######.###############.#.#
|
||||
#.....#.#...#.#...#.....#.#...#.........#.#...#.......#...#.#...#...#.#...#...#.#...#.....#.....#...#...#.#...#.#...#.....#.......#...#...#.#
|
||||
#.#####.###.#.#.###.#.#####.###.#####.###.#####.#.#.###.###.###.#.###.###.###.###.#.###########.#.#.#.###.#.###.#.#.#.###########.#.#.###.#.#
|
||||
#.#...#...#...#.#.#.#.....#.#...#.......#.#.....#.#.......#.....#.....#.#...#.....#.......#.....#.#.........#.....#...............#.#...#.#.#
|
||||
#.#.#.#.#.#.###.#.#.#####.#.###.#.#####.#.#.#####.#.###.###.#####.#.###.###.#############.#.#############.#.#.#####.#########.#.###.###.###.#
|
||||
#...#.#.#.....#.#...#.....#...#.....#...#.#.#.#...#.#.#.....#.....#.#.........#.......#.............#...#.#...#.........#...#.#.#...#.#.....#
|
||||
#.###.#####.###.#.###.#######.#######.#.#.#.#.#.###.#.#######.#####.#.#######.#.#####.#.#.#########.#.#.#.###.#.###.#####.#.#.#.#.###.#######
|
||||
#.#.#.....#.....#...#.......#.#.....#...#.#...#...#...#.......#.#...#...#...#.#...#.....#.......#...#.#.#.#...#.....#.....#.#.#.#...#.......#
|
||||
#.#.#####.#.#.###.#########.#.#.###.###.#.###.###.###.#.#######.#.#######.#.#####.###############.###.#.#.#.#####.#.#.#####.#.#.###.#.###.#.#
|
||||
#.#.....#...#.#...#.......#.#.#.#.#...#.#.#.....#...............#.#.....#.#.......#.....#.......#.#...#.....#...#.#.#.#.#...#.#.#...#...#.#.#
|
||||
#.#.#.#.###.#.###.#.#####.#.#.#.#.###.#.#.###.#####.#####.#####.#.###.#.#.#.#####.#.###.#.#####.#.#.#########.#.#.#.#.#.#.#.#.#.#.###.#.#.###
|
||||
#.#.#.#.........#.#...#.....#.#.#...#.#.#...#.#...#.#...#.#...#.#.#...#...#.....#.#...#...#.#...#.#.#.....#...#.#.#.#.#.#.......#...#...#...#
|
||||
#.#.###.#######.#####.#######.#.#.#.#.#.###.###.#.###.#.###.#.#.#.#.#######.###.#####.#####.#.###.#.#.###.#.###.#.#.#.#.###########.#.#####.#
|
||||
#...........#.#.......#.....#.#.#.#.#.#...#.....#...#...#...#.#.#.#.#...#...#.#.....#.....#.#...#.....#.#.#.#.......#.#.#...........#...#...#
|
||||
#.###.#.###.#.#.#.###.#.###.#.#.#.#.#.#.###########.#.#.#.#.#.###.#.#.#.#.###.#####.#####.#.###.#######.#.#.#######.#.#.#.###########.#.#.#.#
|
||||
#...............#.#...#.#.#...#.#.#...#.........#.#...#...#.#.....#.#.#...#.......#.......#...#.......#...#.......#.#...#.......#.....#...#.#
|
||||
#####.#.#####.###.#.###.#.#####.###.#####.#####.#.#########.#######.#.#######.#.#.###########.#.#######.#########.###.###.#.###.#.###.#####.#
|
||||
#...#.#...#.......#.#...#.........#.....#...#.#...#...........#.....#.....#...#.#.#...........#...#...#.#.......#.....#...#.#.....#.......#.#
|
||||
#.###.#.#.#######.###.###.#######.#.###.###.#.###.#.#####.#.#.###.#.#####.#.###.#.#.###.#.#######.#.#.#.#.#####.#####.#.###.#######.#.###.#.#
|
||||
#...#...#.......#.#...#.......#...#...#.....#.#...#...#.#...#...#.#.....#.#...#.#.#.#.#.#.......#...#.#...#...#.......#.......#.......#.#.#.#
|
||||
#.#.###.#######.#.#.#####.#####.###.#########.#.#####.#.###.###.#.###.###.#.#.#.#.#.#.#.#.#####.#####.#####.#.#####.#.#.#####.#.#####.#.#.###
|
||||
#.#...#.....#...#.#.....#.......#.....#.......#.#...#.....#.#...#...#.....#.#...#.....#.......#.#.........#.#.......#.#.....#...........#...#
|
||||
#.#.#.#.###.#.###.#####.###.#####.###.#.#####.#.#.#####.###.#.###.#####.#.#.#.#.#.###########.#.#.#######.#.###.#.###.#####.###.#.#.#.#####.#
|
||||
#.#.#.#.....#...#.....#.#...#.....#...#.#...#...#.....#.#...#...#.#.....#.#.#.#.#...#.....#.#.#.#.......#.#...#.#.#.......#.................#
|
||||
#.#.###.#######.#.#####.#.###.#####.#.#.#.###########.#.#.#####.###.#####.###.#.#####.###.#.#.#.#######.#.#.#.#.#.###########.#.#.#####.#.#.#
|
||||
#.#...#.......#.#.#.........#.#...#.#.#.#...........#.#.#.#...#...#.....#.....#.......#.......#...#.....#.#.#.#.#.............#.#.#...#...#.#
|
||||
#.###.#.###.#.#.###.#######.#.#.###.#.#.#.#####.###.#.#.#.###.###.#.###.#####.#########.#########.#.#####.###.#.###############.#.#.#.#####.#
|
||||
#...#...#.....#...#...#.....#...#...#.#.#.#.#...#.......#...#.....#.#.#.......#...#...#.#.....#...#.#...#.....#.....#.......#...#...#.#.#...#
|
||||
###.#.###.#.#####.###.#.#######.#.#####.#.#.#.#########.###.#.#####.#.#########.#.#.#.#.#.###.#.###.#.#.#######.#.#.#.#####.#.#####.#.#.#.###
|
||||
#...#.#...#.........#...#.....#.#...#...#.#.#.............#.#.....#.....#.......#...#.#...#.#.#.#...#.#.......#.#.#.#.....#.......#.#.......#
|
||||
#.###.#.###.#######.#######.#.#####.#.###.#.#############.#.#####.#######.###########.#####.#.#.#.###.#####.###.#.#.###.#########.#.#.#.#.#.#
|
||||
#.................#...#.....#.....#.#.#.#...#.......#...#.#.....#.....#...#.........#...#...#...#...#...#...#...#.#.....#.....#.#...#.#.#.#.#
|
||||
###.#####.#.#.###.###.###.#######.#.#.#.#.###.#####.#.#.#.#####.#####.#.###.###.#######.#.#.#.#.###.###.#.###.###.#######.###.#.###.#.#.#.#.#
|
||||
#.#.......#.....#...#...#.#.....#...#.....#...#...#.#...#.....#...#.....#.#.#.#.........#.#...#...#.#...#.#...#...#...#...#...#.....#.#.....#
|
||||
#.###.#####.###.###.###.#.#.###.###.#.#####.###.#.#.#.#.#####.###.#######.#.#.###########.#.#####.#.#.###.#.###.###.#.#.###.###.###.#.#.#####
|
||||
#...#.#...........#.#.....#...#.#...#.......#.....#...#.#.....#...#...#...............#...#.......#.#.#.#.#.#.#...#.#...#.#...#.#.....#.#...#
|
||||
#.###.#.###.#######.#######.###.#.#############.#.#####.#######.#.#.#.#######.#######.#.###########.#.#.#.#.#.#.###.#####.###.###.#.#####.#.#
|
||||
#.....#...#.....#...#.......#...#.....#.........#.....#.#.......#.#.#.....#.....#.....#.....#.......#.#.#...#...#.....#.....#...#...#.....#.#
|
||||
#########.#.#.#.#.###.#.#.###.###.#####.#.#####.#######.#.#########.#####.#.#.###.#######.###.#####.#.#.#########.#.#.#.###.###.###.#.#####.#
|
||||
#.........#...#.#.....#.#...#...#.#.....#...........#...#.#...#...#.#...#.#.#.......#.....#...#...#...#.........#...#.....#...#...#.....#...#
|
||||
#.#########.#.#.#.#####.###.###.#.#.#.#############.#.###.#.#.#.#.#.###.#.#########.#.#.###.#.#.#.###.#####.###.#.#.#.###.###.###.#.#.###.#.#
|
||||
#.#.........#...#.....#.#...#.#...#...#.........#.....#.#...#.#.#...#...#.........#...#...#.#.#.#...#.#.....#...#.#.#.......#...#.........#.#
|
||||
#.###.#####.#.#########.###.#.#######.#.#######.#.###.#.#.###.#.#####.#######.###.#######.#.###.###.#.#.#####.#####.#######.#.#.###.#######.#
|
||||
#...#.#.....#...#.....#...#...#.....#.#.......#.#.....#...#...#...#...#.......#.#...#.#.....#...#...#.#...#.#.....#.......#.#.#.........#.#.#
|
||||
###.###.###.###.#.###.###.###.#####.#.#########.#######.###.#####.###.#.#.###.#.###.#.#.#####.###.###.###.#.#####.#.#####.###.#.###.###.#.#.#
|
||||
#...#...#.#...#...#.#.....#...#.....#.........#.......#.#.#.....#...#...#...#...#...#.....#...#...#.#.....#...#...#.#.....#...#.#.....#...#.#
|
||||
#.###.###.###.#####.#######.###.###.#######.#.#.###.###.#.#####.###.###.###.#####.#.#####.#.###.###.#######.###.###.#.#####.###.#.#.#.#####.#
|
||||
#...........#.#.....#.#.....#...#.#.#.#.......#.......#.#.....#...........#.....#.#.#.........#...#...#.....#...#...#.......................#
|
||||
#.#####.###.#.#.###.#.#.#######.#.#.#.#.#######.#####.#.#####.#########.#.#####.#.###.###.#######.#.#.#.###.#.#.#####.#.#.#.#####.#.###.#.###
|
||||
#.......#...#.#.#.....#...#.....#.#...#.#.....#...#.#.......#...#...#...#.#.....#...........#...#.#.#.#.#.#...#.......#.#.#.......#...#.#.#.#
|
||||
#########.###.#.#####.###.#.#####.###.#.###.#.###.#.#######.###.#.#.#.#.#.#.###.###########.#.#.#.#.#.#.#.#####.#######.#.###########.#.#.#.#
|
||||
#.....#...#...#.....#...#.#.#.....#...#...#.#.......#.....#.....#.#.#.......#.....#.....#...#.#...#.#.#.#...#.....#.....#.#...........#...#.#
|
||||
#.#####.###.#####.#.###.#.#.#####.#.#####.#.#######.#.###.#######.#.###.#########.#.###.###.#.#######.#.#.#.###.#.#.###.#.#.###.#####.#####.#
|
||||
#.#.......#.#...#.#.#...#...#...#.......#.#.#...#.#.#.#...#.......#...#...#.....#.#.#.#.......#.......#...#...#...#.#.#.#.#.................#
|
||||
#.#.#######.#.#.###.#####.###.#.#####.###.###.#.#.#.#.###.#.#########.#.#.#.###.###.#.#####.###.#####.#######.#.###.#.#.#.#.#.###.#.#####.#.#
|
||||
#...#.....#.#.#...#.......#...#.....#.#...#...#.#...#...#...#.......#...#.#...#.....#.....#.....#.....#.......#.#.....#.#.#.#...#.#.....#.#.#
|
||||
#.###.#.#.#.#.###.###.#####.#######.###.###.###.#.#####.#.#####.#######.#.###.#######.###.#.###.#######.#######.#.#####.#.#####.#.###.#.#.#.#
|
||||
#.#...#.#.................#.......#.....#...#...#.#...#.......#.#...#...#.#...#.....#.#.#.#.#.#.....................#...#.....#.#...#.#.#.#.#
|
||||
#.###.#.#####.#.###.###.#.#######.#.#######.#.#####.#.###.###.#.#.#.#.#.###.###.###.#.#.#.#.#.###.#.#.#.#.###.#.#.#.#.#######.#.###.#.###.#.#
|
||||
#S....#...........#.....#...................#.......#.........#...#.........#.....#.....#.......#...#.....#.....#...#...........#...#.......#
|
||||
#############################################################################################################################################
|
||||
2
data/17.ans
Normal file
2
data/17.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
2,0,7,3,0,3,1,3,7
|
||||
247839539763386
|
||||
5
data/17.in
Normal file
5
data/17.in
Normal file
@@ -0,0 +1,5 @@
|
||||
Register A: 18427963
|
||||
Register B: 0
|
||||
Register C: 0
|
||||
|
||||
Program: 2,4,1,1,7,5,0,3,4,3,1,6,5,5,3,0
|
||||
2
data/18.ans
Normal file
2
data/18.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
262
|
||||
22,20
|
||||
3450
data/18.in
Normal file
3450
data/18.in
Normal file
File diff suppressed because it is too large
Load Diff
2
data/19.ans
Normal file
2
data/19.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
280
|
||||
606411968721181
|
||||
402
data/19.in
Normal file
402
data/19.in
Normal file
@@ -0,0 +1,402 @@
|
||||
rwgw, ruwgb, urwbr, wu, uurbubr, gbbr, uwwb, rubgwu, wggwbwr, rugubuww, uw, rgru, rgrr, rrg, rbb, uurbrww, br, uwrwrwgb, bwbw, wgbu, wggu, urg, ugr, ugur, gurrbrr, ubgrruu, bb, rburguu, urgg, wggugggr, brww, bwwgr, wugub, grgg, ugw, grubw, gbwru, rww, wbu, ggwbu, ugurw, ggwb, uubuwgb, bbugw, rgg, wurr, bwbb, wburbb, rbrb, bbrwgw, gwbb, ubggr, gurr, rrr, rburg, uug, bbrubu, bwgu, gwug, guw, buwurgw, rruwggg, ubb, wwb, wbrg, wgr, wgrw, gubrr, rrwru, gbub, rbr, rwr, rubwu, ub, bgwr, gu, ggggwrbr, wrw, grg, rbuwu, bgbr, ugww, wrg, brwub, gruu, gbwbw, wubw, wur, grggwb, uuwuug, wug, rruuw, wgwg, uww, gbgu, rurr, gwguu, gwrwbw, guuww, rbugw, gg, uwbw, ubgrubur, wurrb, rgugurr, wrr, buggb, urwrb, ubuu, rgu, gwggb, uuu, uub, bruubb, bww, uwgb, rrubwg, ubwu, ugu, buwrrbwr, bbr, rbrww, ubuwg, bwwrr, gbwg, bw, gguugu, bgbbw, ggb, wrruuwbr, rug, uur, rgw, gbb, wuwg, r, guug, gwb, wbgr, bbbw, grwgwr, gwg, rurur, bubu, rguu, brb, ugbbbrr, wugrrr, bbw, bbru, bgrbubg, ubw, uruu, wgrgrwwr, bbwrugu, gbbbwur, rubbwbuw, wuwrwbu, brwbru, wub, rbrg, wwbwrbu, grbbu, ubbbwb, urw, gwuw, uu, urwugu, bgw, gw, rbwwwurg, gubr, bbu, rur, rburwgr, gwwgr, gb, rbur, rbw, ug, wurur, gbbrrb, ruuuwugr, wwrgug, gbrugu, wrww, wuwbgw, uwwwgrgb, gww, grwwu, ggu, rrurr, bgr, ubugwu, wwgwur, urrrbw, bwr, wrbgbu, wrwbb, gug, bwu, ruurw, rw, wbb, bbwgwrr, wgg, ugwu, wr, wwwr, w, wbwbuw, guugg, bug, bbbb, brbb, brur, rbg, wuu, wurwgb, rru, urrrbugr, grr, rubu, uugrwbb, bgbrurr, wgw, gub, ugwwgr, urwr, wbwbg, wrrb, rwrgg, ggwgrgw, bwbu, uwb, rg, urr, brrur, wg, u, bu, ubbbrw, brgbbbbu, wgrgu, bgb, ubu, uugubg, bub, rwrr, gggbrw, gwwrww, grub, urgrgw, bru, wgwgb, wubrg, ugrwwbb, wbgwrru, gbwb, wugu, uwwwg, ubr, gwr, bguwb, guwbw, wrb, grw, gwwgbb, wbwwr, grbwub, ubg, bwbgw, rwu, uurb, rbwgur, ubbr, grrr, ubwg, rgwuug, rgb, grrbub, bwb, uwuuubg, wrugb, brurub, wurg, urur, uru, bwwrrr, urwub, uwr, brr, ggg, bbg, bgg, guuruuu, ubwb, uburgbb, gbgrgug, rbwr, uwu, rwwbuugr, ubwwg, wwr, brg, wruububu, bgbb, ww, wrgbu, ugb, gru, bbwgbr, brw, bwwbb, wbr, grbg, wbbb, brbrwwbw, gbgwrrub, wwu, wgb, rruruu, wuggr, urb, bwg, wbg, rbu, wwg, wuw, wrbbugg, rb, rrgrbrg, guu, bwwugr, rwrb, gwbrb, wrugub, ubbrwu, uggbb, ggr, wwru, rgbb, bbgbgrr, wuruw, gbg, ubbwrg, bur, wuwuu, bgu, ruwgur, gbu, wwuwb, ggbgg, ugrbb, bugw, rggrb, rrw, rgwru, ubru, grbbuw, wbrr, wruu, ggw, wbgguuw, rggrugw, gbgwwg, gwwru, gur, rr, wbgb, burbwr, rggu, wgwu, rwuug, gwrbr, wbbwbgb, wurb, gbbuggg, gbbgbg, ur, ugwwu, wgu, bg, urrbgr, gurwg, bbb, urrr, bwurbrr, gbr, gwurb, ugg, uwbbrr, buggr, rub, bwrgbw, uwbb, ububggw, uuwrbbu, rrrwr, ruwgub, bugb, wwrw, gwbg, wwwrrr, urgggwb, gwuwr, www, g, wgrg, wbuwb, grwrg, uuw, wuwgb, buru, rgr, rrgu, urbgb, wgrr, gbuwww, rrgrgw, rgbrg, gugbuw, rrb, rrgbug, ugwbrgw, rwuw, grugrrbr, gbgww, ruw, wubb, gr, ruu, ubbg, brgurb, rwg, gwu, ruwr, grb, uwg, wgww, bgbbrww, buu, rurbgr, rwbw, gwwr, rwwbbugu, grgbr
|
||||
|
||||
rubbgwuwbrwgrgrgrbrbbubgbggrbwrurwuggggwrbrgwbrrwb
|
||||
urwgurrubuguruwuuuruwbbgrbbuwrbwrruuuubbuububuubrw
|
||||
gguurrubwbuwgrbrrurrgbgburbrrurwbrrrubburuggbbgb
|
||||
rgbuuwwwgbbwgurrwurgwgrgrbbbuggwgwugbrwb
|
||||
rwggurbrgwrrwuururwwubgrurwwrubgguububururwb
|
||||
ggrgrruwwwgrwuubgrggbbwrrgbrwrwgwwububrubguurggbrwbg
|
||||
ggurrgrggwrwruuwrbrgbrubrbuggugwgrwgwurbub
|
||||
wwwwuburrwbwugguwuwgwwrbggbwuwuuuuruwwurbwurgbwbggrr
|
||||
urburguuwwwgrbrbgbbgbgrbgbubguugwubugwgrruuuugbbbbgubggu
|
||||
guurrgwububururwgugrguuubrwrguurbuuuugrgbuwru
|
||||
urwuwuuguwwwgrgbuwbgubwuwuurwuwggbwgubrbrguurrgrwb
|
||||
bwwbbwuwbubgrbbgwuubrrbwgbggubbrbbwrwuuuguugwrwbub
|
||||
wwwguwbgrrgbrgggwrgwuuwwwgwgwrgbrbgwgwruuruguubruug
|
||||
gruuwuwbugubrwbbubrubgrruubuwugurbggrrbbbbg
|
||||
wurubbwuggrrurbwwgrwubgbwguurbrwgwwwgrwuuuggwbguwwr
|
||||
ggbguwrwguguwubgurgggrguuwugbuwbwwgwburgbwwuwgbrwbub
|
||||
gwugrwruguwuugubbbrubbwbuwwwrgburrbbguwbgbgwrwb
|
||||
grgugwwrgggbbbubububwuggrrgwruwrubwbrbbgwrwrggbuwrururrrrg
|
||||
guwgggwrwrggbgwrrubrwburbuuububrbwrrrgurwugwggr
|
||||
wuwwugwrbbuuburuururuwwrggbubwwugbuwugbburrwuwbubgbw
|
||||
ugbggwbgurubbwrgwgggggwggrruubrgrwrgugwwgurrrbwbrwwur
|
||||
wurubwrrbbgruurbbgurbbubuggubrrwwgbgwrwuuuwrgwbbrbw
|
||||
rwwbruubgwrrugggwubgwwubwruuwggwrbwwbbrrwb
|
||||
ugwgbguggggwwbwgwwuggurbwwgrbbuwurugwwrrrgugburruwb
|
||||
brrrugbwrwbwwurbgbwwuugrbwbrgwgrgrbgrurwgwurgwruuguwbrurwu
|
||||
rruwrrbgubguurwwugurrgrwbbuuwuburrbwwbbrggwuwr
|
||||
uuwrburgruurrbuwwguurwbwwbwggrbubrwuuwuuwrbbg
|
||||
gbbrrwgggbwwggwgwuurubrrurgwgwgbwgubwggrrbggug
|
||||
wrwuggugbrwuuubbgrbugubbgurgrrburgwrbugrwb
|
||||
bbbwgbuwbgrgggugrugwwwbwgrrbbbuubuguuugwburrrwrggwrrruwug
|
||||
urbwwguugwrgbrrrrrrrbbwggrrubwgwugbbbuurugggrg
|
||||
uugrugurbbruubwgbwbbbwubbrbbgwuuuwggwwwuubrrrwuwubrgrbrw
|
||||
wbrugrwrwrrgugwugrrugugwubugrrrwbrwbwrggbwurrbgubgwbgbbgrwb
|
||||
uwwbbubgrrrurgwrbgurugwbbrbbburggguugbwbrbgwbubuwbbgubgwg
|
||||
rrbwbrbruwurwbwgggwrguwbbubuwuwurwubgwbwwgbubggwbbubbrbr
|
||||
wwrwggbwwwrgubwrbwuuwbuuuwbrgwwrbrbrguruwrwbrrgrugb
|
||||
wwbwrrubbbgwurbrbubwwbbbgbrbgbwbbuggrurbrwgwbubguurrwrwwb
|
||||
rwurrgwuugrubggwbuubrbuwrggguwbgrbbgrgbbuwggbgwrbwgwbuuru
|
||||
gwrrugbuurgrrwgbggwggguwwrrbgrbwwrrgwwbwubwbwrgbrgbgwwbgu
|
||||
brrrwbururwwrwwrrgbwbubgbwgrgwwruuuwgugrwwrgbubru
|
||||
uugbwguruwuwubburrgbbgbbrwrrbubuguugwgwwbw
|
||||
gwburgbrwgwwubugrrrbuwugrbbwrrguwrbgbbgrggggbwuuwwgwgbww
|
||||
rwwwbgwuubugurwbwururgbwbwwrwubgwuuruurbwbwgbwwbuwgg
|
||||
bwwwbuwwrwgurbbwbguwwgwubwuwgwwubbwwwuwuuubbwr
|
||||
urugrwggbbrburugwggbwbbuubbrbguuggwurgbrbbbgrbwuw
|
||||
bgrbrbgbgwrrwgugbubbgbrurwrrgbwbbgrwrwbwwb
|
||||
gbwubwgurggwbbgwwgbrrubguwgwwbrgwgrgwwwgwwbruwrwbuurwb
|
||||
wuuwrwrbugruurrrrgwurguggbgwubugrugwwuguwwruuwbrrrwwruggb
|
||||
ugrugbrrwuuwrwuguggwwgggubuwrrbwrugwwuugwbburrbrwb
|
||||
wrrggbggbrgurbwguurugbwgrgwwgbwbgrbgwrbrwb
|
||||
bugubbrwbuwugwwrwbgwugbuuubrwbugwrugggbwwrbgbwuurgw
|
||||
bwrrwbrruuuugugggwgrgrwwrwwgwwgrbggwruwrwwwgrurwgggwbbw
|
||||
gwwuwbuwwgwuurwwwgbruwuugruuwrgbbwugwbbwbguguw
|
||||
uwrwwrurwwuwwwuwuubbbwbbrrwwbrrgbwbwggwgwruurrwb
|
||||
rguuugbrbgrbwbbrwuuwwubwrrwggrwrgwwrgwuubwgbbwubbwbgbrruwu
|
||||
gbgrgrwgbbbrwgubugwwuuwrrgbwbwgbwuwrugrbururbwrwrwbubrr
|
||||
ruwrgurgguuurrggrurbuurubrbbguwbbrrbuuuwrgrwb
|
||||
guurwgbwrbuurrrbugrbgbbrurbubbuugrgbwugbru
|
||||
uggbgwrrgrrubgbbgwubwurgbbugububwrwbrgwbbbwwrwb
|
||||
gwwgbbrrurbwwwrrrbruurbruggbrgwbgurbrwggwbrgurbbbwubbuw
|
||||
wbgrwbuguguwrbbuurbubgubwgwwbrrrrbugurgggbbgb
|
||||
buurgwggbbwgrrbruwuwruububuubrrbrrwrgbwbbwbwwururbgurbrrgrwb
|
||||
rbgggbwrugrgwrwgwurggbrbgwgwgwwrbubbrwrbbuurugrrgwbrggbu
|
||||
grrbbbwwguwbruwggwruwurrgrbgwubbubggwuugwubuwrrugurwb
|
||||
rrbububbrrbbuwwuuwggbbwuwuwwrwgwwgwgrburbgrgrw
|
||||
uuurugrbrrgwbrrggurrbubbuwguwuwgrurwbrbgwurwurw
|
||||
rwubrwbuuuwbggrbwrwgwwrgrbrrbbwgrrwrwrrgbruggwwwgbbrwuuwrg
|
||||
bburuwbugrggrwggrwbgbbuurwubuuugrbrrwgwgbrggrgggwbuuwbwbuw
|
||||
wrbrbugwgrbuwrubwgwuwugbrgbwrwrgwururwrrrggrgurrwb
|
||||
rggrbururgwuuwgbuwuwrruguugwbgubuwrubuwbrggbggbggrwb
|
||||
gwurbruwrrgrrwbbwuwbgwrgwubbbuburrgbwrwrwb
|
||||
urbrugbrwurgrgbrruwrbbrgwbrrbrwurbbbugwuugrwguwr
|
||||
brrgurwwrguuubrggbggwwbgbgrrwwbburwuwrrwggbwubrrbggugubu
|
||||
rwgwwuugbwrwrguwrrbrgwrurbwurrggwuwuwbgwgwwguurgrwb
|
||||
guggggubguggwugbgbbwwgurubwugrbwgububbggbbrwb
|
||||
wgwrguwggbugwwgrrrrwgwwwwrwwubgugwugbwgwggubwubrwb
|
||||
grwwgbrwbubbwrwwwubugbgrubuuwbgurwurrugbwrgrrr
|
||||
uugwwbuubggggruwugrurguwwwbrggggggrwwwrbrgugu
|
||||
rgubgwbwurrguwgwburwubgrgbubbrbrruugrugbgrwwru
|
||||
wbwwrubbbguggwbuugrgwguruuggurwggrrbruwbwrgbuw
|
||||
rgugbrwuurrrrrurubrrgguuwbrrwruggubbbubgbwguurburggbrwb
|
||||
rbuuggwwurwuuwgubgrbrruwrburugurwuubbburrguuruwr
|
||||
rwurwrbbubgrwgggwwwbruuubwrwuwuwgrgbrgrgbugwrubrrbwbwbwrwb
|
||||
gwrgbggrwrgbbbuuggbgrrgrrrruurbrwuugbubgbwur
|
||||
rrurrwuuwuguuwbububrrwugbwuurbbgguwrwrrgrwwgbrggrburwg
|
||||
ubruwgwbrubwrgbbrbbubggggwrggrgwbgggbgrburuwrbbrurgrgbbww
|
||||
wrwgubgbwruugwubbggwugbgwwugwrbruuuwrwbbrrrru
|
||||
rwubrrgbwrbgrbrwggugbbuugrguruwwwugrgurwb
|
||||
wrgruuwrgguwwbrurbbugbrgruwrgrwggrbwwbwbgwrbrwubwubrwb
|
||||
bggwugbrbwbgugwuwwurrwrrrwrgrguwuwurwguggwbrrbugrwr
|
||||
ugubbwurburwrrbbbgwrbgwuwgbubrrgwgubrubrgrbb
|
||||
gbwuggwruuuguurrwuurubrbwwbbwwuburgwgwurbbubg
|
||||
uubwugrgburwubbbuururrwrwrgwurbwrrwurrubrwb
|
||||
urbrwgwbuugbrwgbugggbbwwbuguuubbubwbguuubgbrrbububrru
|
||||
rrbwwwbgrgwgurwwuwrbgwrwgrruwbgwbgugurwgrbugrbgbrbruw
|
||||
ugrwbgrbrburugwbgugwugurrgwgrgwwrbgguwgrwrwb
|
||||
wwbgbrgrwgggrbrugwwrwrbgubgrwguwbwubwwbgguggbbrgugbugrbbr
|
||||
ubrwgwuwguwbwgguugrrbwuggwubbwwrrurbwruwbuw
|
||||
gubrwwrbbrwwbuugrbwwugbgwwbbbugwrgbwbwwbwguggb
|
||||
rurwgbbggugrwbubugrrwugrubuwwwwrwububgwwrwgwbr
|
||||
wgbbrbbubgrrwwwgugugurbrubbuwbgwwwgwwgwrbwbw
|
||||
ubgubwgwrwbuubgbbgrwbubugbbbrugrgwurubwgubguwugrrbu
|
||||
gruuuwggwwwguwwguubggbguguuugwugwwgugwrwb
|
||||
wrwbrgbgurwgbrbgurbbbggrbgwgubwbbggwrbwgbbu
|
||||
bggubwbggbgrrrrggwbwbbgrguurrrggwbgurgrgwbuwbwurg
|
||||
wuwbggrwwwbubrbwgrgrwgbrurggwwwubwwgwgbwuwwuguuwwgggbb
|
||||
rwrugrubggrbururrwuwurbrwbuuggrbrbuugrwubbruggrbwuuru
|
||||
wbrgggbwgrwwubbbguuuugrburubbrbrrrwubwgwguu
|
||||
wrugrwruurrbwwwurggwbbwbuggrbwuruugwrburrwb
|
||||
rburbbrwwrwgwbrubgwgwrwgrbwurgubuguwwwruuggbbuwwwggrwb
|
||||
gwuugurgwwwrwwgbrbwwugwgurwbbbrwuwwwgrgbwbbgbbgruwgwwgwrb
|
||||
rruwgbbwwrugugugrwubgrguguuwggbrrbrbubbwugurbgbubb
|
||||
uuubwuburgrrwuugububuuwwrwrgbwbbgwgubwwgwgubrrbgbruggbu
|
||||
wgrwuruuurwwbrwbwgrrwwrgurrbubwrwbgwrggbrrgugbuu
|
||||
ugwbrgbbbwrgrgwbrguwrbrrgggbbuubgwbwgbgrwbrrwrrrgbrbgg
|
||||
rgrggguuguwgbgrgrrgwrbbwbgurrrgwbwwguwbgggrbugugrbrurwb
|
||||
bbwuwgrbbbbwrbrgbrgbbbburgruggrrrrbwrbbrwb
|
||||
wbwuuwrruwggubggbgwbwwbggwbgbrrruggbwrrrbrwrb
|
||||
wuubruggbruggbwbwuuugwrrwuwrgbwwbwuwwwrrgwrr
|
||||
uwwgrbuubwbwbbrwburbrggburubwgguuwbwgbwburggwrgbrwb
|
||||
ggbrubuwuurubruuubrbrgwuubguwbgbgwrrubrrrwb
|
||||
rwgbbburwggwwgbbbrruuurbgrgbggrbgruuggbrgggg
|
||||
rwwbwgwgwwbrbugbuuwbgggggwgrurbgrgwgwrgbbbuugbbgruwgwwwbg
|
||||
rbwubbwuugwggrruuuugbruwwwwuuuuurgbgwwwgwbggwgbrurww
|
||||
rwguwwrgugrbuwrwwbbugurrrwubruwugbrwubrwrgrbggbgr
|
||||
ubbbugrbugrwgwggbwugwwbgwguubugbggbggrbuuwwbbbbbwr
|
||||
gburuuwbrwrguwbrubgbwgruuwrwgbrwbrwwgwbgwggw
|
||||
ggwwwguwgbuwrggbugurrrwwwrbrrbgurbbbgbruwrwwrbgrwwbuugrwb
|
||||
rgbgrbrrubwuggruuwbgggwguuwwwrrrwuwrrgrubbbgrr
|
||||
uwwgrrbugrrbwgggwuruwuuwggwbgwggwrbbuwbrrruubuguwugbrurwb
|
||||
brwruwruwggrrubrwugbgbwwuggggruubrruugbgurrgwwugrurbrr
|
||||
rgbbrrrbubrgbbbuuggruuurguubwgwgrwwgrbbwruwwb
|
||||
rrbuuwgbuwwwbggrgbuurrbwwbwbwbrwwubuurrggrbg
|
||||
urgbuwuwwugbrbguugbrbbggwggwgburgwgrwgurrbwwgrbbgw
|
||||
uubrrugwggwgwbgbbwggwrrwbruwbrwuurgwwugrwgrwg
|
||||
rgrguwguwrgwwgruggbwwbugbruubgurgrwuwrugbbggbuwrrggrwuug
|
||||
uwubrubgbbwrgbgugwwwwwubwwubrburbbuurgwrrbwbubrbw
|
||||
rgrbbwggrbgrrggrgbububggwggwwwwbrubguwgbuwbruwgugrgwrww
|
||||
bbrwwrwgbgbgbrwwubbrgwuruwbrbubrrburuurwb
|
||||
uuwgwgubwwbburwgrrbwgwrugrbwwgbggrurgwbuwru
|
||||
uuggrgwuguuwwrbwrbuwrbrbgbuburuwwbbgbggbbugwwbu
|
||||
bwbgwgwbrbbbwwbwrwgwbwgurggguwugrubrubrbrbuwwuugubru
|
||||
uwuwrgwuubbruurbbbururrurrrbrwggbgbbgwrbuwubgbrrgwuurwb
|
||||
bwgbbrgbbbbuugurgrburrrugbuubgbbwwwwgbuuwuggbgwguubb
|
||||
uubwbuurbbwgbrgruwbugguguwbubbgrgbbgwbubggrrbwrwb
|
||||
rrrguwbgwuwwbrrwrrwguwurbgbrburrwgrrburgwbbrruwwrrwbwrb
|
||||
rruguburbgwgrgbguggggrugrgwbwwbwrbggwwgbruwuwrwwbubgburgr
|
||||
rurgbwbugrbrgbgrurruwbubugubbgwuubgrwgrwwwgwbwrwbbwb
|
||||
bbgbwggwgbbwbuugrrubbubgbrbrgubrugugrwbrwwbg
|
||||
gwgugbburwwwwgbwwubwrwrwuurruuwuwwurugrrrgb
|
||||
wwwrrrgruwrrrwuubwbrrurwbwrwrwbwggggrrbwuwggg
|
||||
gbwrwguguggbwwrrbwgwwbwgbbbgwbuwuwrgwwrgbwuurb
|
||||
guguuugbrbgruwbwbubwurrwggrubruwwggbwwubguub
|
||||
uubbrubgrwwwuwrwgugbwbgurgrbbrugbrurguwrwwbbuguuuburwb
|
||||
gubbuuuuubbwubgrwwguruggrbrgrrubuuuurrwrwb
|
||||
uwwgbgrgrbrrgrguwgubuuwbwgguwbgurbwugbbrgguw
|
||||
buwbgrggwwubrgrggbwurubgrbuuuwurrbuwurbbbbbrubgbrbuwwwrw
|
||||
uwbrrbbwwruurgrrgrwruruwuubrgbrwwgwbugrbbrggrbwwbgrrwb
|
||||
rbwgwbrguubbbugwguwrgrgbggbrruggrwubrwbgbwwuuwrrgwg
|
||||
rbrbbgwggwuuburggwwrruruuruggwubruwwbrurubwbu
|
||||
rbubuuurbwrugurggbwwbugbguuuuuwrubbguwrwb
|
||||
bbwbubwrbuwgubguwrwrwgbgrrwwruurwwrbugrrurwb
|
||||
bbuguurruwrrbguuuugwrguubwuubrbggrwubgugbwbwrrurugrugrwb
|
||||
gbuuwurrbrwwrubgurbuubugrrbwubuurwuwwwgbbgbrwbrrrubggrwbgwb
|
||||
grggrugrrbruuwbbbrrugbbbbuwbrwurrwgbwbuwrwb
|
||||
bguurbwgwgbgbgrgrbbwgbbwubbwggrbubrwrbrubrbrgrwbburwb
|
||||
grrrbrrwubuuggrgrurruuwwubwuuwubrrbburbrwwggrwgurgwgggwr
|
||||
wbgubuuubwuwbrububrbwgrugrrbrrwbugguwwuuugu
|
||||
rrgwgrguwruwgrwwrbgrgbbbbbwrgbugbggbrrwb
|
||||
gwbrrgrruurwurburwbgrbggruuurbrbwubguwgrrburbgwwwu
|
||||
bwwbugbruwrrguubruwbruuwrrwuwbruwgrwgwruwurgrbgurgruguwbg
|
||||
brgrrbururwguwbburgurgrggbgubuwgruuuurbrrrrwugg
|
||||
uwrbugwwrwuwgwwbuugbuurbwwbrwwrgrbggbgwwwrbrbwrrubbgrugw
|
||||
uuggwbwrrwgrruwgggbggbgbubgwgbugwwrggrgbrgrururgugur
|
||||
bwwwrugrrgbggbggbwubburrgubgwgwwrbwwgwbgurw
|
||||
gburbuurwgbwgwwgggwbguwuwruububuwububwuwbgg
|
||||
gbwggbgguwggbgwwrurwggbuburwrrgrbgbbuwuuuwrggwggwb
|
||||
gbbwwwgbgwurgrbbwbgguwrwrggguwbugwbrgbwurgwuwgrrug
|
||||
rgbugwrgugwbbbgggrwgwubbbwuurbrbrwbrgrwuurwgrg
|
||||
ruwbuwurgwbuwrrrgwbrwrrruwwgggwugbwwrgruwgwubbgrwrrrwu
|
||||
brrbwbbgwwwuururbrbuuwwwuguwwburbrurwuwgbwrbuubrbbww
|
||||
rrrwrwugurubugbubbgwgrggwbbggbrugwbwrbggburgbrwr
|
||||
ubrggrgbgwgruggrgrrwbruubwrrurubrbgwrwbggbrgbbrgwbbbr
|
||||
ggrbbggrurbrbruwwugwrbrwrrbwgbrwwgubwrbrrgrbbwwwruwggww
|
||||
wugbrbgwwwwrbugbwwrrburuwrbruruwuuuurbuwwwbgrgbrwb
|
||||
bbgbgruurgbubburgwruwgrwuuubbwbwgugwbrbuuwwgurrurgwwrrb
|
||||
wwburbbgbwurubrbrurwwgrwgubbgwbgrguuugurbwuwbuwuwuru
|
||||
bwrgbuwrrrbubbwugbbrrgwgrbbbuguugrwbrurwrugguubbrubuggrwb
|
||||
rgrwugwgbuuwubwrguuburuuuwuwbgguwuubggrrbugrbugwbgwwubwwbb
|
||||
wbwrgurwrwrgggbbgggwwrbrbgurggubbbgrgbwbug
|
||||
rbwbuwgurbbbgwuubwbgrwwubwbbwbgggwurbbbgbuu
|
||||
wbburugwgrwwwgwwrwrbubrwuwrbgbwgbbwbrrbwbubbwbruubgrug
|
||||
wrwggwgwwuuubbgrrwggrguubrgurrwuurubwurggwbrbbbugwuuwubwgu
|
||||
bggrgbruwguurrurrbwuuwgugbrbwbuwwgwrgurggwburbbwgbuw
|
||||
wwwbbugrrwwbrbwwgwububbuggrgrurggrwgrurruggbburwwgwurwb
|
||||
rbrrwubgrwrbrbrggwwrurrwbwrurbwgbubggbrrrwwrwb
|
||||
wuburwgwrwuwggbwwrgwwwugbwbggrurgbrurruwburuugwrwb
|
||||
gwbwurbrbuurgwwbuuurrubbbrbwgruwuwuuuugwgbbb
|
||||
wguwrbrbrgbbbggbggbgbgwgwbrggbggwguwurwwbbwbrrrrbwrwgrwb
|
||||
wwwbruruubrurbugrrwwuburubbguwwrrbbwbbbrgbbubuwrurugr
|
||||
brurrgggruwgrburwuggugrrbwbuuwbwuubgurwubruwrgwurbrwb
|
||||
gwrruuwbrbwwbbbuwbwgrgubgggggwubgugubrbgugwuuburubugruwu
|
||||
uubwruurruwwbrwburwggugggrguuurrgbbwbuggbwbuuurbgrwb
|
||||
ggwrurbgrwgbbbruuurbbuubrwururgwwbuuwgrgwrgbubugrbrrgg
|
||||
gubrurubwbrgrwwgggwwbwwguubbgggbggwbwwrguwrgwuggr
|
||||
rwwugrbggburrrrbgwwgwgrurbbrguwrrbbbruwubgrgbrrwb
|
||||
bgrrrbbgrguwgwwgurwwwrwugwwgrgrrwwguugbbruruuuwburbbuur
|
||||
gwrgubrbubbbbrggrrbgwuwwbgbbuubugwgrwubgbbr
|
||||
bwwwgwguwrrguruugwwbwgrgrwwbbwbrrgwbburuubbugbbrgggw
|
||||
wburrbwwgubwbbwrbrgrwrbwugwuwwgwuugwwwgurgrguwuwgrgruu
|
||||
wggrrrbgbgwurwrrwbrubbwbrwgrrwuugbrwwuwgruwwurw
|
||||
rrbwggggurwrbwrrwubbrrurwwgbbrwuuwrruuwbrwb
|
||||
ugwwwrbrbugbgrbuwbubwuggbwwugbgwrrwurrrwrrbgwrub
|
||||
gbwgguuguuuugwgbuubggwuwbgrrbrbgwwbgugguruwrwggwwrwgwgu
|
||||
wuubbbugwgrugububgrbgwugrurruwbwrbggwbgbbgurgrgbw
|
||||
gwugwbbrwbwgwrwbrgurbwuwuugrrrbwwrburubgwrwwbbg
|
||||
wwrgrrbubbuuwwbuwgrrwrrgggguwrrubbugrgwwbbug
|
||||
gwubbruruuuwbbgrugbbbgbgwurwgwgwbwbwugggugbwuburwb
|
||||
grgwgwrugugbgbwwbwubgwgbrgwguuwrrwwwugbgwgbgwruwwrwgwwrwb
|
||||
rwrggugrwbbwgbubuwuwrrrgguguwrggbwbbwrrwb
|
||||
rbgbwuwbwrbbwbbgugwgbbbwbrrrugwbrbubgruburwgwrrwb
|
||||
wrrgbbbbwwuwgrgrrrbgurugbuwuubrgbgrbbbrrwb
|
||||
ggrbwgwgrugrbrrwgugwguuwubuwwrugbbwwbbwuwggwuu
|
||||
rwuuwwbugruwrruubuwuruuwubrugwrrwgruwrwrubbruruuwwg
|
||||
rwrwuwbuwugbubgbbrguwgubuubbuwbwbgurubggbgubgwu
|
||||
ugrrrruuwruuguwggubguwwwgrwuuwrwugwruwgrrbbw
|
||||
ggwgwgurwrggrrwgwruuguwrugubrbuurwwruwbgrgrwb
|
||||
rwbrrwuwbbbgbrrbwburwbbgbggwbbggwggugggrrrwbugg
|
||||
ugbruwrruwgrbwuggrwwbruwwubrurrggbubgubugbgruugrrwb
|
||||
wwwuubbwubwrubgubwrugrurbugguurburrrrwgguwwuggugurguwurwr
|
||||
bwwbrruwbugbwguubbgggbrwbbrurgwbrwgggbgugbbgrbww
|
||||
brgbwwubgubguwugwwuruubggwwuuwgwgwggbbwwbubbbggu
|
||||
rbbrbbrurbuwwwguggguwgwggburbggubuwwbrbbubruuwwbgbru
|
||||
rwuuugbwgwuugurbwrrwwbugbggbuururrbgwbwuuurggrurbgwbgggrrwb
|
||||
bbgrgwwugwbwugggbugbgubgbgwbbuwrruurbwurwrgwurwb
|
||||
bgwgguuwggrbbugbgwwwrwurrrbugrgguugrbgwbgwgwggruwwggwwgrwb
|
||||
urrwggrubuwgbwggbbuwwbwbbwwrrgwrwbgurwurru
|
||||
uwwbugruuuwggrrrrrbrrrbrurgwrrwwrrwbwbruwbbbuggwuu
|
||||
wrururubbrugbggubggrbruuuubuubwuggggwwwubbwbbwbgbgbbgurwb
|
||||
ubrubrbrgugurbuwrwuuwgbgwwrrwrrbbgwgbwruwrrrggggr
|
||||
rbwguruwbgbgbbbbubbrrrugrruggurwwgrrrbrwb
|
||||
rurgwubwbwgubwrbgguugrruururgwgbuwwurgugww
|
||||
bwugrgruugguguwbgrbbbwuuwrrgwrrwrrubgrbrgbrggbww
|
||||
rrgwbrwggbbgrggugurwgrgbrgwgbwrruwgwggwgrwuwrwbburwwbu
|
||||
uurbwggwubwgwwguwbbgwwggugrrruggbgwbrrgwrr
|
||||
grwbwbwrgrwrrubbbgwgrbbwrbgrurwrguwwwwggrbwbrwubbwrggr
|
||||
gbuwbugrgubbrrbwwrbgwuwrwrbrbrwwbwbwrwuurrruurwb
|
||||
ubrwurrrwwrbgwwgguubuwwgwbguwggurwbbgrugwbbrubug
|
||||
rbugbwbguwggwwrwbbgwwuuruwwbrububbrurbubrgwwrbugugwbubggru
|
||||
uuguruubgwwrrrwwugwurbgwbubrgrurrgwuuuuuggwbgrwbugu
|
||||
gwwbugrrburuuwbwwbbugguubuuwwbuwbuwgubuwbruuugrgurgbuuubbw
|
||||
ugwwgubwubbrubbrugbbbrurwgrgubgubugururgwgwwburgr
|
||||
uggrgbruwrrbwrwgrruurwgguguwrwrwgbrggububgwrbguwbugwwguw
|
||||
gruruurbgwrggggbrrugrbrgubrurrgugbbgrbgrwwugbrubw
|
||||
ruggggwgbubuuubbgbburuwwgbbugrwubbrubgbrgbggrgubrb
|
||||
wrguwbuwbrrbbbwbwrbgrrubwggbuwrrrgugbbrwbrguugrbrwgbrgg
|
||||
rrgrwbgurgbbrgrbgugwrgrruruuugrgrrbbrrrwb
|
||||
uuggrwugruuggrurbwggwgrwbwrgrbbbgbwbubugwg
|
||||
rwwwrwrrbgrrgrgrwrgururgwrwburubwgrguwbuwwrrugugbbrwb
|
||||
bbgguuwwuwbbuuwgwgurrwrwgbbrgurwgbrrbwrwbrwrbuggbwwrwrbuw
|
||||
wrwwbgwgwruwrubbwrrwurwubgrrwrggbbgbbbgwwbgwggrbbwbrbbgbg
|
||||
wgggrbrbwuwgubrguubgrguwrwuuuwbwwubuuwgbgrgbruubb
|
||||
uggrwrwwbguwurbbburrgwgwururgwrgruwbwuubugubrurbuubrwrbuurwb
|
||||
wrugguwugrgbuuwrbugrubrggggwwrbuwuurbuwruwwuww
|
||||
wugwrwbbbrbbbrggrwbuwrwgwwbbrbwwgbruwugwruggggbw
|
||||
uguurbwgwbbuuguwrwguubuugwurbgwrrbgbrrguwuwug
|
||||
uwwuubgrrwgwrbbrgwwwbwugbbggbuuuurgubgwugrbgurbbwug
|
||||
gwuwgwrrwgrwbwggugrbrggubbuburbbbgugrbuwrurrwbrwgggr
|
||||
wwgrugrwuguwbruwugguurguwrugubwubrbgwwbrwbrwgbwrgwrruwurbr
|
||||
gwgburrgwuurwburubuuwwwwgbbwbggwwgwuugrgwrbwrrw
|
||||
rbgwgbbruuwwugugugrubbuugggwgubrguwwgrwgrrrgwbggbuguwu
|
||||
rwwrrbrggruuubgruburgwubrrguwbwwgrgbwggruggwg
|
||||
burgwuwugwbbbgrwgrubguuwugrbrbguubwwwrbbrwbrrugubuwwguuurw
|
||||
gburugwwrwrrugugbbubrwrburrugrubbrurbrwwgrbbww
|
||||
wuubbrbubbrbuubuwuwwgbuubugbrrgrugwrgwgwwwwwwwuurb
|
||||
wuwgrrgwbbgrurbrgrrurbbgwuggggbgwuurwggurrwb
|
||||
grbbggbgrugwbuubruwrgbwrbbwuugwrrugwrggbrurbwrrurbrwb
|
||||
uuubbgrbwrurbwbuggbbgrwuguuwubrwgbgrrwurubbrwgggwbggrwb
|
||||
urgwrgbbuwwrbrrrbbrwgwugwwrgrugwbgbbgrwb
|
||||
wgbrwggguwwruuwwggwwrwbbbugbruwugbbbuuuwwgurrrbwwbubbwgburwb
|
||||
buggbbgbgbbwwwurwrwrwbruwgwbbgrruwwgruubgwwwuggur
|
||||
rbgbwubgbbgrurwwguwubrwubbuuggrugurubwuwgrwgubgugwguugrgw
|
||||
urbbgurbubwwgbbwburrrbgrbwwubggwugbrrbugwrbgubrb
|
||||
wbrurrrbgrgbgbwwwrwurrwbuuwrwwgrburwrrbgruggubgrguwgbwur
|
||||
uuururbwrrwgwbwwrwwgwgruwurrbugwrgburgwrwrbrbw
|
||||
rrwrurbrgubuguwurwgururugbgrbgubrgrgggurggugurgrbbuwgw
|
||||
rrwuwrugwwbbubbrbrwrbwbwubgubgwwgrbugwgrugbgb
|
||||
grwgbggwwwgwrwgruggbbgwrgwubgwrwguwgrguuuuuwgbbubgguugg
|
||||
rbuurugruurwuwgburwgwgugrwgwwgwwgbrrugguwruw
|
||||
urubgguwggurwbgrwwbubguwggbbbgrugwgrbgbrwgwrrbrbbrguub
|
||||
wrbrurgwbubbwbbrwbbrugwgbubrwbgrgwguwuugbgugrgbg
|
||||
rwuruwurgugggrgrrrugrurgggrrubguurbububugugbwurwuwwug
|
||||
uubwuwrwwgrbbwgrrgubwgguggbrrwuruuwuubgrwuggbgruggbrr
|
||||
uurbbgrgbrgbbgrgrbwwugbrrubgubgurrbbrrrbubr
|
||||
guguggbgggwbbwrwrbwbgggrurburgurgbbwwgruru
|
||||
wbrrbbuurwruuuwugrgubwuuurbrwurwurbwwbwububwbbbrwb
|
||||
ubbrwgggwrwbwwwrbgbrrrbrubwrgurgbbgbuuuuugbwgwgrwuwwbuu
|
||||
bwrbggbgrbbgubbwrrrubgwburgrgrrruurwuuggbguwbwwurrwrwb
|
||||
gwuguuwbruwuuggrbrrbuwurbggbbwguwwgwwbgrurrwb
|
||||
rrggbbgurwbbbgurbgbggubgrruuwbrbwgbrguwubbggguwbgruwwrwb
|
||||
uwugbwwwrbbruubwbrgbuuubbgrubururrbrrgwwbgrwgbrwruwrwb
|
||||
bwurruruwuguwrbuuggbwbrubbrwuwurbgwwbrgurgwuggr
|
||||
ruuuwugrrurbwrgrbgurbrwbrbubbwwuuwwuwwuugugbbgrbggwr
|
||||
uugrgwgwwgrbrubbugbgbrguwbbwwgrubbbgbgbruwugrrwb
|
||||
brbgbwwwbbuuugrwrugbwurrgggbwwuubwruuburrbrr
|
||||
wrwrgwwrwrugrwrrurbuuwgurgbrgbrwwbwrggwbrbbuugrbbwugrwb
|
||||
rugbbggbuggwgwwuruwrwbggwgburuubuwugbggbrbgubrwgr
|
||||
ubrrwuwguwwrbgwbbbrrgrggrgrgwgbrugubuwwwwuwguuurwb
|
||||
ruguguwuruubbwwwgwgrrrwrwwuuuruuuwuwgwubwwrwu
|
||||
brggrwrbrwwwuwwbwrgwbwurbuwwrbrgrrugbwugrbguuwb
|
||||
gwuugwuuuggrgurbbwggrubbwuurruuwrggrggurgrrwrrgbrb
|
||||
ugwggbgbbrrwgwrbuggurrbuugbwrurbbuggubwbgwgwuwgwrrrwubuwurwb
|
||||
wwuugrrggrbrrgwuuugbwbwrurrbuwwwubwrbrggubbubbgrrr
|
||||
ggwuubgurubrurbwgrwwuggururbrgruwgruugugrbwgrbubrbrb
|
||||
rwggguwwubburgwwuurrurrrgwgbrgbbbrruguwbwugguuurr
|
||||
rrbwbrrwbuwwbwrrbbbwwubuwgurrguwugguwrbuwuubbwuwrbggbuu
|
||||
grgrbggrburrbgwbwbuugugbburbrwrrrguuwbugggugrrrgrwrwb
|
||||
buubrrggburbggwgwgrbgurwbwwwubbwbgbwwuwbwwrwb
|
||||
wguuurrggwguurburgugugbrwrgbwrrwbgrugwuugbwgbbuubggrugbub
|
||||
wbwgruuugggrrubbwrwwubugguguwwguubwurwgwwrbgubwrgbbubrwb
|
||||
ruwrggugbbbbgurwggruuggwwggrwwrwbbbrwguuuuug
|
||||
bggwwuwgwbuguwggrgurbwugbbbuurwgwuggubgrwbwwwbwgrrbuug
|
||||
rrgwugbuwugubuuggbrwwguurwuwugwuuuubgrwrrwrbgrgwbuggwr
|
||||
grguwrrurgbwbwrgwwwrggrwbwgbuwbbbwbggrbrwbbrwb
|
||||
uubgbrgrwbbgwrbrwwgbgburbuurbubbguuwbgbuuwburbubggguug
|
||||
gwbgwrbwwwubuwwrwbbwrrrgwuwbrubwbgggubugbwwgggburrbugrgu
|
||||
bwgwguugggbrrbuggwggwgbrbugurbwwuuwwwugbbubbrwb
|
||||
rwgwbgbwwuwrbgbgwbrwuwruuubbrbwwuruwbwrbrwrwrgru
|
||||
wwrbwwwurggbgggugwuggubbbwgrrwrbwwuugwrbubwgrbgrrr
|
||||
ubrubggrgguugburwgbbrwurbrburuuwwrrbrrwwbgwbgggwugurugwwrwb
|
||||
gbggrubrgubgubbwwwwuwrbburrgrwbrgrwbrwguuwwuwrgguwrwb
|
||||
bbwgbrwggwrbwugbgubugwwuwwggbgubwubgggwwrbgrwrwwgb
|
||||
uubrbgbbguugrruurbrwbbuuuubbwwuruuuwbbgwbgrbwrrrgb
|
||||
bbbwugurwrwurgbuuugrrruubrwrgwguwubrurgburbgrrwrr
|
||||
gggwwgwubwwwrrbubuuuggrgrgburugbgbuurbgrugrwrgwgruu
|
||||
burugbguwbuwgubugubbburrgrrwuruubbrbrwwbwrburubwubbb
|
||||
wrwbwrbggggbgbruwwwubuurwbgwgrrgrwubwrrbbggrgbwbwbbbuwbbrwb
|
||||
uuurggrbbwubuwbwbwrgrbbwgrgugbrruguuugrgrubb
|
||||
buuugbwbbgwrgruuwrbwbgwbbrgwbrgrwruwwwgwruggrb
|
||||
rgwrrguwuugbgrbubgbuburgrbuuwwgbbwgurrwwubrgwguw
|
||||
ruuwwurgwurgbuwurruurbbbbugrubrrgwrgurgubbgbbwgugrwb
|
||||
urrwrwgugrrbbrgggrgubwbrwwgbgururbwruguwwrgburg
|
||||
rugrggruuubgguuwwwbgbgbbgugrwgurrruubrgburgrrwb
|
||||
ubwwrugbguwrrrbwuwggrwrwrububurbgruwbgwrbbbgrrrgggwr
|
||||
wuggwbgwbbbwugrbbwwubgrbwrgrgrrgwuuwgrwgwwurug
|
||||
bgwwbbbwrrwugwgwwrruggrbwuwbwwgrwrgrrguwgrurwgurgggrrwb
|
||||
guwrwubwrwwwgugguuwwurbgugbuwrrbwrguuwgbwbbgbgurrgwbbu
|
||||
gwugguubwruguubuguguugbuuugrrwrrrurrbwgrbwgwugburuu
|
||||
brwgwrbbgwurgrugggrrbbwruugrgburrwggwguwuuwrrbw
|
||||
bwbugwurgbgurwwrugurgbbgbuurugggwugubrwb
|
||||
bbbuuubggggggwrbrgbbwruwuuwugurbubgwgrrguugbwuggrubrwbwgr
|
||||
wgrrrurugrbgwbgbbrrgurrgwrurrwwwbgrguuggrgurwww
|
||||
gubbrbwurgwwbbggurwgbgrwrwbrugrwrburgrrugb
|
||||
uubuubgguwwbrrwwwwubgwbbwbwwwwugguguwburgbrbbbg
|
||||
ubgrwugugrruwuurrwguggwuwbrwbwrugruuuwrugwwuwrubuugbrwrrrwb
|
||||
wrgwguugruurububuurwurrwuggrrubbrrrgugwuugwurgrg
|
||||
bwubggubrrburbrbwggrurwrbwbgbbgwggubggbubrububrwb
|
||||
urugwwbubbrrwwwrbrwuwbwurwgrurbwbrurbrwrgrruburwb
|
||||
rruubgwwwgrwrggubgubwrbbgwgbguruwwgrgburgwrg
|
||||
rgugrgrbbrgwbguwgguguwrrubgwwgwgwuwubwbwrggbwuuuwrrbwgwu
|
||||
gwuwbwuwwbwwggbbgrgwugwrgugruuubgwguwwgbbrwb
|
||||
bbwuguwwwuguuuuurrbbububurbwruuubugbgrbuwgrururwb
|
||||
bbbugrrrbrgburgwuuruwrbwgwrgwgrugbrgububrbwwgrbrgbuwbgguu
|
||||
bubwuuwwuwbggrwwubruwbubbwwgwrubuguwbuuwugwrbbugr
|
||||
uwrgubbrrgguggubuuwrrrwrrurbuubrgbbbwgrwub
|
||||
wbbguubbbbguwuwbwrgwwubwrurgwurbrrwurrbgrbbburw
|
||||
rgbwugbubggbrbwgbuuubrwgbrruwggbbggbbuggwg
|
||||
rgrugbgrwbwgwuwrbggrwuburrbguwguguuugwgubrgruwwbw
|
||||
uuuruwuurbwubrwgwuuwbugrrwggbwwubbugwgubbrwgwwwugbwwrwb
|
||||
brgbguwuwggbbwrbggggbrbubbwbrwbbgwuubbbbgwrgwgbbwu
|
||||
uggrgrubuuuwruuurbuwwugbwwgwwguubuggubwwugrrwbggwrgubrbwrw
|
||||
wbburbgbbrbbggrgrrurwwgurbubwuurwwgwbwrgbguuuwrubwwubuu
|
||||
buwbgbrwgbubbrbrgwuwbgbrwburgbbrwgguwwbwgbwbgbww
|
||||
gurwggwurgwbbubbgbgruggbrbubuwbruwwrwguggrbbbrggwgbrgbgu
|
||||
wbwwwbbbwgruuuwubbrrgbbggwbrgwwbgurbbwgwgwgrbggwrugrugggbrwb
|
||||
bbgrwgruggrwwurwwrggbruugbbrgwggrrugrwuuugbrrwb
|
||||
wwbugbwuguwgbrwrwgrrbuwgwuwgwrbbbubwwgbrguwuw
|
||||
ugwbgbwrrgbwrrrbrwwguggruwugwwurwrrbgwubbwrggugbruuw
|
||||
bbbruuwuwwurrwbuwbuguuggurgbgbruruwurgbgbgrrwb
|
||||
bggwgrggrrugwwbuwgbrbbgwbbuwwuwbrgbwbggwbbgggugwggrwbbur
|
||||
uuurruuuuugrbuwwgrbwwuuwbruggggbgrbuuggbuuuwgrrb
|
||||
gbgrgubggbgrgguuwbwbrwbggwurgbwwwbrubwgwrggrbwurggrwrrr
|
||||
ggbrbrbguwguuugubruggbgwbbuwwrbuuugbuuwgww
|
||||
wurrbururbgrbrgwggwggrgrgrgbgrrgbbwwgbrgwururwb
|
||||
uubugrgbrubuggrggrbwbbbruwbrrwugugrurwbgwwwbubgrggr
|
||||
rgwwbwgbwugugrwrrwubrwbgwuwuruggbguubbwbugururu
|
||||
wbuwrbggrrwbgbrbwwwbbgwbwrrggubrubbwbubrgwrwburbgb
|
||||
gbwuruuwuwwwbggurugrwgwubbgbwwwurgwbruwgbgrbwrgurwb
|
||||
gwururwwugrrubbruwbuwrbgwrbruugbuuugggwbubwubb
|
||||
wgrgrrgwwruugbrrrbwwrwrrgbguwwgwrbgwuuwbgwuwrugg
|
||||
ugurwrbgrbubwbbgrwgrwrbgwbwuwubgrbuwwrubrggwuguwbgbu
|
||||
ugrrburuwwrrwgrugbruwgwbbubrbuwbwwruuurgbuwwgwgbwwbuburwb
|
||||
wurugurbrbubbbbburuubrbrrbwubguwggwubbrbrbrgurrbwwwuggwg
|
||||
bwrburggbggbbgbuguwbgwwbbbubugwguwbbgbgwbg
|
||||
gbwrbgbgbrugbbguruuwgurwwruggggbuburbgwwrwb
|
||||
rubrgwubrrrrrwbwbrurbwwggrrburrugrrubwbbguwbbgrwwrbburrwbr
|
||||
wgbuurbrrbgrugwgubuwbgurrwwuwgrbrgrbgwrwwbrururuuwrrrwb
|
||||
grwuuggwugwgrbggggbwbgwububwrgwgburrugurbugurrrwrwrububrwb
|
||||
bbggugurwurrgggrrbbrurubbwbuwbbwwbrwgrrrubrgur
|
||||
gwwwugwuguubuuwgbgruruwguugrbbwgbbwwgrgrwwrrrrrbuwbbwburwb
|
||||
2
data/20.ans
Normal file
2
data/20.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
1445
|
||||
1008040
|
||||
141
data/20.in
Normal file
141
data/20.in
Normal file
@@ -0,0 +1,141 @@
|
||||
#############################################################################################################################################
|
||||
#.........................#...###...#...#...#.............#...#...#...#.......###...#...#...###...#.....###...#...........#...#.........#...#
|
||||
#.#######################.#.#.###.#.#.#.#.#.#.###########.#.#.#.#.#.#.#.#####.###.#.#.#.#.#.###.#.#.###.###.#.#.#########.#.#.#.#######.#.#.#
|
||||
#...#...#...............#.#.#.....#.#.#...#.#.....#.......#.#.#.#...#.#.....#.#...#.#.#...#...#.#.#...#.#...#...#.........#.#...#...#...#.#.#
|
||||
###.#.#.#.#############.#.#.#######.#.#####.#####.#.#######.#.#.#####.#####.#.#.###.#.#######.#.#.###.#.#.#######.#########.#####.#.#.###.#.#
|
||||
###...#.#.#.............#.#.......#.#.....#...#...#.....#...#...#.....#...#.#.#...#...#.......#.#...#.#.#.#.......#.........#...#.#...###.#.#
|
||||
#######.#.#.#############.#######.#.#####.###.#.#######.#.#######.#####.#.#.#.###.#####.#######.###.#.#.#.#.#######.#########.#.#.#######.#.#
|
||||
#...###...#...#...#.....#.#.......#.#...#.#...#.#.....#.#...#...#.....#.#...#...#.#...#...#...#.#...#.#.#.#.#.......#...#.....#...###...#.#.#
|
||||
#.#.#########.#.#.#.###.#.#.#######.#.#.#.#.###.#.###.#.###.#.#.#####.#.#######.#.#.#.###.#.#.#.#.###.#.#.#.#.#######.#.#.###########.#.#.#.#
|
||||
#.#.#...#.....#.#.#.#...#.#.......#.#.#.#.#.#...#...#...###...#...#...#.....#...#...#.#...#.#.#.#...#.#.#.#.#.#.......#.#.....#...#...#.#.#.#
|
||||
#.#.#.#.#.#####.#.#.#.###.#######.#.#.#.#.#.#.#####.#############.#.#######.#.#######.#.###.#.#.###.#.#.#.#.#.#.#######.#####.#.#.#.###.#.#.#
|
||||
#.#.#.#.#.......#...#...#...#.....#...#.#.#.#...#...#...#...#.....#...#.....#.#...#...#.#...#.#.#...#.#.#.#...#.......#...#...#.#.#...#...#.#
|
||||
#.#.#.#.###############.###.#.#########.#.#.###.#.###.#.#.#.#.#######.#.#####.#.#.#.###.#.###.#.#.###.#.#.###########.###.#.###.#.###.#####.#
|
||||
#.#.#.#.###...#...#.....#...#.........#.#.#.###.#.###.#.#.#.#.....#...#.....#.#.#.#...#.#...#...#...#.#.#.#...........###...###.#...#.#.....#
|
||||
#.#.#.#.###.#.#.#.#.#####.###########.#.#.#.###.#.###.#.#.#.#####.#.#######.#.#.#.###.#.###.#######.#.#.#.#.###################.###.#.#.#####
|
||||
#.#...#.#...#.#.#.#.....#.......#...#.#.#.#.#...#.#...#...#...###.#...###...#...#...#.#.#...#.......#.#...#...........#...###...#...#.#.#...#
|
||||
#.#####.#.###.#.#.#####.#######.#.#.#.#.#.#.#.###.#.#########.###.###.###.#########.#.#.#.###.#######.###############.#.#.###.###.###.#.#.#.#
|
||||
#.....#...#...#.#.....#.......#.#.#...#...#...#...#...#.....#...#...#...#.......#...#.#.#...#.....#...#...............#.#...#...#.#...#.#.#.#
|
||||
#####.#####.###.#####.#######.#.#.#############.#####.#.###.###.###.###.#######.#.###.#.###.#####.#.###.###############.###.###.#.#.###.#.#.#
|
||||
#...#.#...#...#.....#.........#.#.........#.....#.....#...#...#.###...#.#...#...#...#.#.###.#.....#...#.#.........#...#.#...#...#.#.#...#.#.#
|
||||
#.#.#.#.#.###.#####.###########.#########.#.#####.#######.###.#.#####.#.#.#.#.#####.#.#.###.#.#######.#.#.#######.#.#.#.#.###.###.#.#.###.#.#
|
||||
#.#.#...#...#.......#.........#.###...###.#.....#.....#...###...#...#.#.#.#.#.....#.#.#...#.#.#...#...#...#.......#.#.#.#.###...#.#.#.....#.#
|
||||
#.#.#######.#########.#######.#.###.#.###.#####.#####.#.#########.#.#.#.#.#.#####.#.#.###.#.#.#.#.#.#######.#######.#.#.#.#####.#.#.#######.#
|
||||
#.#...#...#...#...#...###.....#.....#.....#.....#...#.#.......###.#.#.#.#.#...###.#...#...#.#.#.#.#.#.......###...#.#.#.#.#...#.#...#...#...#
|
||||
#.###.#.#.###.#.#.#.#####.#################.#####.#.#.#######.###.#.#.#.#.###.###.#####.###.#.#.#.#.#.#########.#.#.#.#.#.#.#.#.#####.#.#.###
|
||||
#...#.#.#...#...#...###...#.........#.....#.#...#.#.#.#.......#...#.#.#.#...#...#.#.....###.#...#...#.....#...#.#.#.#.#.#.#.#.#...#...#...###
|
||||
###.#.#.###.###########.###.#######.#.###.#.#.#.#.#.#.#.#######.###.#.#.###.###.#.#.#######.#############.#.#.#.#.#.#.#.#.#.#.###.#.#########
|
||||
#...#.#.#...###.......#.....#...###...#...#...#.#.#.#.#...#...#...#.#.#.#...#...#.#...#...#.#...#...#.....#.#...#.#.#.#.#.#.#...#.#.#...#...#
|
||||
#.###.#.#.#####.#####.#######.#.#######.#######.#.#.#.###.#.#.###.#.#.#.#.###.###.###.#.#.#.#.#.#.#.#.#####.#####.#.#.#.#.#.###.#.#.#.#.#.#.#
|
||||
#...#.#.#.#...#.....#.#.......#.......#.#.......#.#...#...#.#...#.#.#.#.#...#.#...#...#.#.#...#...#.#.#...#.#.....#.#...#...#...#.#...#...#.#
|
||||
###.#.#.#.#.#.#####.#.#.#############.#.#.#######.#####.###.###.#.#.#.#.###.#.#.###.###.#.#########.#.#.#.#.#.#####.#########.###.#########.#
|
||||
#...#...#.#.#...#...#.#...........#...#.#.#...#...#.....###...#.#.#.#.#...#.#.#...#.#...#...#...#...#...#...#...#...#...#.....#...#.........#
|
||||
#.#######.#.###.#.###.###########.#.###.#.#.#.#.###.#########.#.#.#.#.###.#.#.###.#.#.#####.#.#.#.#############.#.###.#.#.#####.###.#########
|
||||
#...#...#...#...#...#.#.......#...#...#.#.#.#.#.#...#...#...#.#.#.#.#...#.#.#.###.#.#...#...#.#.#.....#.........#.#...#...#...#...#.#.......#
|
||||
###.#.#.#####.#####.#.#.#####.#.#####.#.#.#.#.#.#.###.#.#.#.#.#.#.#.###.#.#.#.###.#.###.#.###.#.#####.#.#########.#.#######.#.###.#.#.#####.#
|
||||
###...#.....#.#...#.#.#.....#.#.....#.#.#.#.#...#...#.#.#.#.#.#.#.#...#.#.#.#...#.#...#.#...#.#.#...#.#...........#...###...#.###.#.#.#.....#
|
||||
###########.#.#.#.#.#.#####.#.#####.#.#.#.#.#######.#.#.#.#.#.#.#.###.#.#.#.###.#.###.#.###.#.#.#.#.#.###############.###.###.###.#.#.#.#####
|
||||
#...........#...#...#.......#.....#.#.#.#.#...#.....#.#.#.#.#.#...#...#.#.#.#...#.###.#...#.#.#...#.#.#.............#...#...#.....#...#...###
|
||||
#.###############################.#.#.#.#.###.#.#####.#.#.#.#.#####.###.#.#.#.###.###.###.#.#.#####.#.#.###########.###.###.#############.###
|
||||
#.......#.....#...#.......#.....#.#.#...#...#.#.#...#.#.#.#.#...###...#.#.#.#...#...#.#...#.#.#.....#.#...#...#...#.....###.#...........#...#
|
||||
#######.#.###.#.#.#.#####.#.###.#.#.#######.#.#.#.#.#.#.#.#.###.#####.#.#.#.###.###.#.#.###.#.#.#####.###.#.#.#.#.#########.#.#########.###.#
|
||||
#.......#.###...#...###...#.#...#...###...#...#.#.#.#.#.#.#.#...#.....#.#.#...#...#.#.#...#...#...#...###...#...#...###...#.#.........#...#.#
|
||||
#.#######.#############.###.#.#########.#.#####.#.#.#.#.#.#.#.###.#####.#.###.###.#.#.###.#######.#.###############.###.#.#.#########.###.#.#
|
||||
#.........#...#...#...#.....#...........#.....#.#.#.#.#.#.#.#.###...#...#...#.###.#.#.#...#.......#.#...............#...#...#.......#...#.#.#
|
||||
###########.#.#.#.#.#.#######################.#.#.#.#.#.#.#.#.#####.#.#####.#.###.#.#.#.###.#######.#.###############.#######.#####.###.#.#.#
|
||||
###...#.....#...#...#.....#...................#.#.#.#.#.#.#...#.....#.....#.#.#...#.#...###...#.....#...............#.#.......#.....#...#.#.#
|
||||
###.#.#.#################.#.###################.#.#.#.#.#.#####.#########.#.#.#.###.#########.#.###################.#.#.#######.#####.###.#.#
|
||||
#...#.#.#...#...#.......#...#.......#.......#...#.#.#.#.#.....#...#...#...#.#.#...#.........#.#.#...........#.....#...#.......#.....#.###...#
|
||||
#.###.#.#.#.#.#.#.#####.#####.#####.#.#####.#.###.#.#.#.#####.###.#.#.#.###.#.###.#########.#.#.#.#########.#.###.###########.#####.#.#######
|
||||
#.#...#...#...#...#...#.......#...#...#.....#.....#.#.#.#...#.#...#.#.#...#...###...#.....#.#.#.#...#.....#.#.###.....#.....#...###.#...#...#
|
||||
#.#.###############.#.#########.#.#####.###########.#.#.#.#.#.#.###.#.###.#########.#.###.#.#.#.###.#.###.#.#.#######.#.###.###.###.###.#.#.#
|
||||
#.#...###...###...#.#.#.........#.......###...#...#...#...#...#.#...#...#.....#.....#.###...#...###...#...#...#...###...###...#...#...#...#.#
|
||||
#.###.###.#.###.#.#.#.#.###################.#.#.#.#############.#.#####.#####.#.#####.#################.#######.#.###########.###.###.#####.#
|
||||
#...#.....#.....#...#.#.............###...#.#...#...#...#.......#.....#...#...#.....#...#...###.......#.........#...........#...#...#.......#
|
||||
###.#################.#############.###.#.#.#######.#.#.#.###########.###.#.#######.###.#.#.###.#####.#####################.###.###.#########
|
||||
###.................#.............#...#.#...#...#...#.#.#...#...#...#.###.#.###...#...#...#...#.....#.#.................#...###...#...#.....#
|
||||
###################.#############.###.#.#####.#.#.###.#.###.#.#.#.#.#.###.#.###.#.###.#######.#####.#.#.###############.#.#######.###.#.###.#
|
||||
#...#...............#...........#.#...#.#.....#.#.....#...#...#...#...#...#.#...#.#...#.....#.#.....#.#...#...........#...###...#.....#.#...#
|
||||
#.#.#.###############.#########.#.#.###.#.#####.#########.#############.###.#.###.#.###.###.#.#.#####.###.#.#########.#######.#.#######.#.###
|
||||
#.#.#...#...#.......#.###.......#.#.....#.....#.....#...#.....###.......#...#...#.#...#...#...#.....#...#...#.....#...#.......#.........#...#
|
||||
#.#.###.#.#.#.#####.#.###.#######.###########.#####.#.#.#####.###.#######.#####.#.###.###.#########.###.#####.###.#.###.###################.#
|
||||
#.#.....#.#.#.#...#...#...#.....#.#.....#...#.#...#...#.......#...#.....#...###.#.###.....###...###...#.....#...#...###.#...............#...#
|
||||
#.#######.#.#.#.#.#####.###.###.#.#.###.#.#.#.#.#.#############.###.###.###.###.#.###########.#.#####.#####.###.#######.#.#############.#.###
|
||||
#.....#...#...#.#.#...#...#.#...#...###...#.#...#...#...#...###.....###.....#...#.....#...#...#.#...#.....#...#...#...#.#.............#...###
|
||||
#####.#.#######.#.#.#.###.#.#.#############.#######.#.#.#.#.#################.#######.#.#.#.###.#.#.#####.###.###.#.#.#.#############.#######
|
||||
#...#.#.#.......#...#.#...#.#.............#.........#.#.#.#.....#...#####...#.......#.#.#.#...#...#.......###.#...#.#...#.............#.....#
|
||||
#.#.#.#.#.###########.#.###.#############.###########.#.#.#####.#.#.#####.#.#######.#.#.#.###.###############.#.###.#####.#############.###.#
|
||||
#.#.#...#...........#.#.....###...........#.........#.#.#.#.....#.#...#...#.#.......#...#.....#...#.........#.#.....#...#.........###...#...#
|
||||
#.#.###############.#.#########.###########.#######.#.#.#.#.#####.###.#.###.#.#################.#.#.#######.#.#######.#.#########.###.###.###
|
||||
#.#.#.............#.#.#.......#...........#.#######...#...#.....#.#...#...#...#...#.....#.....#.#.#.#...#...#.....#...#.....#...#...#.#...###
|
||||
#.#.#.###########.#.#.#.#####.###########.#.###################.#.#.#####.#####.#.#.###.#.###.#.#.#.#.#.#.#######.#.#######.#.#.###.#.#.#####
|
||||
#.#.#...........#.#.#.#.....#.#...#######...#################E#...#.#...#.....#.#.#.#...#.#...#.#...#.#.#.......#.#.......#...#...#...#.....#
|
||||
#.#.###########.#.#.#.#####.#.#.#.###########################.#####.#.#.#####.#.#.#.#.###.#.###.#####.#.#######.#.#######.#######.#########.#
|
||||
#.#.........#...#...#.......#...#..S###############.....#####.#...#...#.#.....#.#...#.#...#.....###...#.....#...#.#...#...#.....#.........#.#
|
||||
#.#########.#.#####################################.###.#####.#.#.#####.#.#####.#####.#.###########.#######.#.###.#.#.#.###.###.#########.#.#
|
||||
#.........#...#.......#.....#...#...#...#####.......#...#####.#.#.....#.#.......#...#...#.....#...#.......#...###.#.#.#.....#...###...###...#
|
||||
#########.#####.#####.#.###.#.#.#.#.#.#.#####.#######.#######.#.#####.#.#########.#.#####.###.#.#.#######.#######.#.#.#######.#####.#.#######
|
||||
###...#...#...#.#.....#.#...#.#...#...#.....#.....#...###...#.#.#...#...#.....#...#...###...#...#...#...#...#...#...#.........#.....#.......#
|
||||
###.#.#.###.#.#.#.#####.#.###.#############.#####.#.#####.#.#.#.#.#.#####.###.#.#####.#####.#######.#.#.###.#.#.###############.###########.#
|
||||
#...#...#...#.#.#...#...#.#...#...........#...#...#.......#.#...#.#.#...#...#.#...#...#...#.......#.#.#.....#.#.#...###.......#.....#.......#
|
||||
#.#######.###.#.###.#.###.#.###.#########.###.#.###########.#####.#.#.#.###.#.###.#.###.#.#######.#.#.#######.#.#.#.###.#####.#####.#.#######
|
||||
#.........###...###...###...###.........#.....#.#...........#...#.#.#.#.....#.....#...#.#.......#.#.#.........#...#.....#.....#.....#...#...#
|
||||
#######################################.#######.#.###########.#.#.#.#.###############.#.#######.#.#.#####################.#####.#######.#.#.#
|
||||
#.............###...........###.........###...#.#.......###...#.#.#.#.............#...#.......#...#.#...................#.......#.....#...#.#
|
||||
#.###########.###.#########.###.###########.#.#.#######.###.###.#.#.#############.#.#########.#####.#.#################.#########.###.#####.#
|
||||
#.......#...#...#.#...#...#.....#...###.....#...#.....#...#.#...#.#.#.....###...#.#.....#...#.....#.#.................#.....#...#...#.......#
|
||||
#######.#.#.###.#.#.#.#.#.#######.#.###.#########.###.###.#.#.###.#.#.###.###.#.#.#####.#.#.#####.#.#################.#####.#.#.###.#########
|
||||
###...#...#.#...#...#...#.........#.....#.........###...#.#.#.....#.#...#.....#.#.#...#...#.......#.....#...........#...#...#.#...#.........#
|
||||
###.#.#####.#.###########################.#############.#.#.#######.###.#######.#.#.#.#################.#.#########.###.#.###.###.#########.#
|
||||
#...#.....#.#.#...#.....#...............#.........#...#...#...#.....###.#.....#.#.#.#.........#.......#...#...#...#.....#.....###...........#
|
||||
#.#######.#.#.#.#.#.###.#.#############.#########.#.#.#######.#.#######.#.###.#.#.#.#########.#.#####.#####.#.#.#.###########################
|
||||
#.#.....#.#.#.#.#.#...#.#.............#.#.........#.#...###...#.......#...###.#.#...#...#.....#.###...#.....#...#.......###.................#
|
||||
#.#.###.#.#.#.#.#.###.#.#############.#.#.#########.###.###.#########.#######.#.#####.#.#.#####.###.###.###############.###.###############.#
|
||||
#...#...#...#...#.....#.###...#...#...#.#.#.......#...#...#.....#.....###...#.#.#...#.#.#...#...#...#...#...............#...#...#...#...#...#
|
||||
#####.#################.###.#.#.#.#.###.#.#.#####.###.###.#####.#.#######.#.#.#.#.#.#.#.###.#.###.###.###.###############.###.#.#.#.#.#.#.###
|
||||
#.....#.....#...#.....#.....#...#...###...#.#.....###...#.###...#...#...#.#.#.#.#.#.#.#.###...###...#.###.........#...###.#...#...#.#.#.#...#
|
||||
#.#####.###.#.#.#.###.#####################.#.#########.#.###.#####.#.#.#.#.#.#.#.#.#.#.###########.#.###########.#.#.###.#.#######.#.#.###.#
|
||||
#...#...###.#.#.#.#...#...................#.#.....#.....#.....#.....#.#...#.#.#.#.#.#.#.....#.....#.#.#.........#.#.#.....#.......#...#...#.#
|
||||
###.#.#####.#.#.#.#.###.#################.#.#####.#.###########.#####.#####.#.#.#.#.#.#####.#.###.#.#.#.#######.#.#.#############.#######.#.#
|
||||
###...#.....#.#.#.#...#.#.................#.....#.#...........#.#...#...#...#.#.#.#...#.....#...#.#...#.......#...#.#.............#...###.#.#
|
||||
#######.#####.#.#.###.#.#.#####################.#.###########.#.#.#.###.#.###.#.#.#####.#######.#.###########.#####.#.#############.#.###.#.#
|
||||
#.......#...#.#...#...#.#.#.....#.......#...#...#...#...#.....#.#.#...#.#...#.#.#.....#...#...#.#.#...........#...#.#.........#.....#...#.#.#
|
||||
#.#######.#.#.#####.###.#.#.###.#.#####.#.#.#.#####.#.#.#.#####.#.###.#.###.#.#.#####.###.#.#.#.#.#.###########.#.#.#########.#.#######.#.#.#
|
||||
#...#...#.#...#.....#...#.#...#.#.#.....#.#.#.....#.#.#.#...#...#.#...#...#.#.#.#...#.#...#.#.#.#.#.............#...#.......#...#...#...#.#.#
|
||||
###.#.#.#.#####.#####.###.###.#.#.#.#####.#.#####.#.#.#.###.#.###.#.#####.#.#.#.#.#.#.#.###.#.#.#.###################.#####.#####.#.#.###.#.#
|
||||
###...#.#.....#.....#...#...#.#...#.#...#.#...#...#.#.#...#.#.#...#.....#.#...#.#.#...#...#.#.#.#.#...#.....#.......#.....#.#.....#.#.#...#.#
|
||||
#######.#####.#####.###.###.#.#####.#.#.#.###.#.###.#.###.#.#.#.#######.#.#####.#.#######.#.#.#.#.#.#.#.###.#.#####.#####.#.#.#####.#.#.###.#
|
||||
#.....#.......###...#...#...#.#.....#.#...#...#...#.#.#...#.#.#.....#...#...###.#.....#...#.#.#.#.#.#.#...#.#.....#...#...#.#.#...#...#.#...#
|
||||
#.###.###########.###.###.###.#.#####.#####.#####.#.#.#.###.#.#####.#.#####.###.#####.#.###.#.#.#.#.#.###.#.#####.###.#.###.#.#.#.#####.#.###
|
||||
#...#.###...#...#.#...###.....#.....#...###.....#.#...#...#.#.#...#.#...#...#...#.....#...#.#...#...#.#...#.#...#.#...#...#.#...#...#...#...#
|
||||
###.#.###.#.#.#.#.#.###############.###.#######.#.#######.#.#.#.#.#.###.#.###.###.#######.#.#########.#.###.#.#.#.#.#####.#.#######.#.#####.#
|
||||
#...#.....#...#...#...#.........###.#...#.......#...#.....#.#.#.#...#...#...#...#.#...#...#.......###...###.#.#...#.#.....#.....#...#...#...#
|
||||
#.###################.#.#######.###.#.###.#########.#.#####.#.#.#####.#####.###.#.#.#.#.#########.#########.#.#####.#.#########.#.#####.#.###
|
||||
#...#.....#.......#...#...#...#.....#.#...#...#.....#.#.....#.#...#...#.....#...#.#.#...#...#...#.......#...#.....#.#.#...#...#...#.....#...#
|
||||
###.#.###.#.#####.#.#####.#.#.#######.#.###.#.#.#####.#.#####.###.#.###.#####.###.#.#####.#.#.#.#######.#.#######.#.#.#.#.#.#.#####.#######.#
|
||||
#...#...#.#.#.....#...###...#.......#.#...#.#.#.....#...#.....#...#...#.....#...#.#.#...#.#.#.#...#...#.#.....#...#.#...#...#.....#.#.......#
|
||||
#.#####.#.#.#.#######.#############.#.###.#.#.#####.#####.#####.#####.#####.###.#.#.#.#.#.#.#.###.#.#.#.#####.#.###.#############.#.#.#######
|
||||
#...#...#...#...#.....#.......#...#.#.###.#.#.#...#.....#.#...#.#.....#...#.#...#.#.#.#...#.#...#.#.#.#...#...#...#...#.....#.....#...#...###
|
||||
###.#.#########.#.#####.#####.#.#.#.#.###.#.#.#.#.#####.#.#.#.#.#.#####.#.#.#.###.#.#.#####.###.#.#.#.###.#.#####.###.#.###.#.#########.#.###
|
||||
#...#...#.......#.....#.#...#...#.#.#.#...#.#.#.#.#.....#...#.#.#...#...#.#.#.#...#.#.....#.#...#...#.#...#.#.....#...#...#.#...#...#...#...#
|
||||
#.#####.#.###########.#.#.#.#####.#.#.#.###.#.#.#.#.#########.#.###.#.###.#.#.#.###.#####.#.#.#######.#.###.#.#####.#####.#.###.#.#.#.#####.#
|
||||
#...#...#.......#.....#...#.....#...#.#...#.#.#.#.#.......#...#...#...###...#.#...#.#.....#.#.......#.#.#...#.....#.....#.#...#...#...#...#.#
|
||||
###.#.#########.#.#############.#####.###.#.#.#.#.#######.#.#####.###########.###.#.#.#####.#######.#.#.#.#######.#####.#.###.#########.#.#.#
|
||||
#...#.#.........#...#...#.......#...#...#.#.#.#.#.#...#...#...#...#...........#...#.#.#...#.........#...#...#.....#.....#...#.#.......#.#.#.#
|
||||
#.###.#.###########.#.#.#.#######.#.###.#.#.#.#.#.#.#.#.#####.#.###.###########.###.#.#.#.#################.#.#####.#######.#.#.#####.#.#.#.#
|
||||
#.#...#.......#...#.#.#...#.......#.#...#.#.#.#.#...#.#...#...#...#.....#.....#.###.#...#.................#.#.....#.#...#...#.#.....#...#.#.#
|
||||
#.#.#########.#.#.#.#.#####.#######.#.###.#.#.#.#####.###.#.#####.#####.#.###.#.###.#####################.#.#####.#.#.#.#.###.#####.#####.#.#
|
||||
#.#.#...###...#.#.#.#...#...#.......#.###.#.#.#.#.....#...#.#...#.#.....#.#...#...#.....#.....#...#.....#.#.#.....#...#...#...#.....#...#.#.#
|
||||
#.#.#.#.###.###.#.#.###.#.###.#######.###.#.#.#.#.#####.###.#.#.#.#.#####.#.#####.#####.#.###.#.#.#.###.#.#.#.#############.###.#####.#.#.#.#
|
||||
#.#.#.#.....#...#...###...###.....#...#...#.#...#...#...###...#...#.#.....#.#.....#.....#...#.#.#.#.###...#.#.............#...#.......#.#...#
|
||||
#.#.#.#######.###################.#.###.###.#######.#.#############.#.#####.#.#####.#######.#.#.#.#.#######.#############.###.#########.#####
|
||||
#...#.....#...#...#...#...#.......#...#...#...#.....#...........#...#.#.....#.....#...#...#.#...#.#.....###.#...#...#.....###...........#...#
|
||||
#########.#.###.#.#.#.#.#.#.#########.###.###.#.###############.#.###.#.#########.###.#.#.#.#####.#####.###.#.#.#.#.#.###################.#.#
|
||||
#...#.....#.###.#...#...#...#...#...#.###.....#...#...#.....#...#.....#...#.......#...#.#.#...###.....#...#...#...#.#.....................#.#
|
||||
#.#.#.#####.###.#############.#.#.#.#.###########.#.#.#.###.#.###########.#.#######.###.#.###.#######.###.#########.#######################.#
|
||||
#.#.#.....#...#.#...#...#...#.#.#.#.#.........#...#.#.#...#.#.#...#...#...#.......#...#.#...#.......#...#.........#.#.......#...#.....#...#.#
|
||||
#.#.#####.###.#.#.#.#.#.#.#.#.#.#.#.#########.#.###.#.###.#.#.#.#.#.#.#.#########.###.#.###.#######.###.#########.#.#.#####.#.#.#.###.#.#.#.#
|
||||
#.#.......#...#.#.#.#.#.#.#.#.#.#.#...#...#...#...#.#.#...#.#.#.#...#...#...#...#.#...#...#...#...#...#.#.....#...#.#...#...#.#.#...#.#.#.#.#
|
||||
#.#########.###.#.#.#.#.#.#.#.#.#.###.#.#.#.#####.#.#.#.###.#.#.#########.#.#.#.#.#.#####.###.#.#.###.#.#.###.#.###.###.#.###.#.###.#.#.#.#.#
|
||||
#...........###...#...#...#...#...###...#...#####...#...###...#...........#...#...#.......###...#.....#...###...###.....#.....#.....#...#...#
|
||||
#############################################################################################################################################
|
||||
2
data/21.ans
Normal file
2
data/21.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
202274
|
||||
245881705840972
|
||||
5
data/21.in
Normal file
5
data/21.in
Normal file
@@ -0,0 +1,5 @@
|
||||
319A
|
||||
670A
|
||||
349A
|
||||
964A
|
||||
586A
|
||||
2
data/22.ans
Normal file
2
data/22.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
16894083306
|
||||
1925
|
||||
2002
data/22.in
Normal file
2002
data/22.in
Normal file
File diff suppressed because it is too large
Load Diff
2
data/23.ans
Normal file
2
data/23.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
1064
|
||||
aq,cc,ea,gc,jo,od,pa,rg,rv,ub,ul,vr,yy
|
||||
3380
data/23.in
Normal file
3380
data/23.in
Normal file
File diff suppressed because it is too large
Load Diff
2
data/24.ans
Normal file
2
data/24.ans
Normal file
@@ -0,0 +1,2 @@
|
||||
51837135476040
|
||||
hjf,kdh,kpp,sgj,vss,z14,z31,z35
|
||||
313
data/24.in
Normal file
313
data/24.in
Normal file
@@ -0,0 +1,313 @@
|
||||
x00: 1
|
||||
x01: 0
|
||||
x02: 0
|
||||
x03: 1
|
||||
x04: 1
|
||||
x05: 1
|
||||
x06: 0
|
||||
x07: 0
|
||||
x08: 1
|
||||
x09: 1
|
||||
x10: 0
|
||||
x11: 1
|
||||
x12: 0
|
||||
x13: 0
|
||||
x14: 1
|
||||
x15: 1
|
||||
x16: 1
|
||||
x17: 1
|
||||
x18: 0
|
||||
x19: 0
|
||||
x20: 0
|
||||
x21: 0
|
||||
x22: 1
|
||||
x23: 1
|
||||
x24: 1
|
||||
x25: 1
|
||||
x26: 1
|
||||
x27: 1
|
||||
x28: 0
|
||||
x29: 1
|
||||
x30: 1
|
||||
x31: 0
|
||||
x32: 1
|
||||
x33: 0
|
||||
x34: 0
|
||||
x35: 0
|
||||
x36: 0
|
||||
x37: 1
|
||||
x38: 1
|
||||
x39: 0
|
||||
x40: 0
|
||||
x41: 0
|
||||
x42: 0
|
||||
x43: 1
|
||||
x44: 1
|
||||
y00: 1
|
||||
y01: 1
|
||||
y02: 1
|
||||
y03: 1
|
||||
y04: 0
|
||||
y05: 0
|
||||
y06: 0
|
||||
y07: 0
|
||||
y08: 0
|
||||
y09: 1
|
||||
y10: 0
|
||||
y11: 1
|
||||
y12: 0
|
||||
y13: 0
|
||||
y14: 1
|
||||
y15: 0
|
||||
y16: 0
|
||||
y17: 0
|
||||
y18: 0
|
||||
y19: 1
|
||||
y20: 0
|
||||
y21: 0
|
||||
y22: 0
|
||||
y23: 0
|
||||
y24: 0
|
||||
y25: 1
|
||||
y26: 1
|
||||
y27: 0
|
||||
y28: 1
|
||||
y29: 0
|
||||
y30: 1
|
||||
y31: 0
|
||||
y32: 1
|
||||
y33: 1
|
||||
y34: 0
|
||||
y35: 1
|
||||
y36: 1
|
||||
y37: 1
|
||||
y38: 0
|
||||
y39: 1
|
||||
y40: 0
|
||||
y41: 1
|
||||
y42: 1
|
||||
y43: 0
|
||||
y44: 1
|
||||
|
||||
x07 AND y07 -> ncs
|
||||
y24 AND x24 -> wrf
|
||||
x19 XOR y19 -> tsm
|
||||
x40 XOR y40 -> svt
|
||||
rjf OR src -> dfv
|
||||
fsf XOR fgs -> z44
|
||||
mhc AND jqd -> qgn
|
||||
nrr XOR sms -> kpp
|
||||
y20 AND x20 -> ngc
|
||||
y21 AND x21 -> hbc
|
||||
sgj OR ptb -> rqf
|
||||
hbc OR wdr -> gjn
|
||||
tks XOR sbg -> z23
|
||||
ddh AND tnm -> hgg
|
||||
hsf OR bjw -> vbb
|
||||
x15 XOR y15 -> vqs
|
||||
x10 AND y10 -> dtm
|
||||
vqs XOR vss -> z15
|
||||
x29 XOR y29 -> mgd
|
||||
srg OR cwb -> qtn
|
||||
nmb OR mbk -> z45
|
||||
dhs OR njq -> tng
|
||||
jfw OR jrf -> vpd
|
||||
x07 XOR y07 -> gck
|
||||
tdw XOR vrk -> z03
|
||||
y11 AND x11 -> ffw
|
||||
x16 XOR y16 -> bth
|
||||
x39 XOR y39 -> tnm
|
||||
cfg AND ngh -> jrq
|
||||
vpd AND mvn -> hbj
|
||||
rgp XOR bth -> z16
|
||||
qtn AND cjd -> vrv
|
||||
x14 AND y14 -> cgt
|
||||
dwh XOR hsk -> z24
|
||||
tgp XOR dkh -> z13
|
||||
y26 XOR x26 -> cfg
|
||||
cpc XOR nbm -> z42
|
||||
y42 XOR x42 -> cpc
|
||||
x17 XOR y17 -> cjd
|
||||
rqf XOR pqn -> z36
|
||||
x27 AND y27 -> nwg
|
||||
bcq AND hnk -> vjp
|
||||
tks AND sbg -> wqr
|
||||
wvr OR skq -> gmw
|
||||
cwm AND tpv -> pqw
|
||||
x41 AND y41 -> tqh
|
||||
jcw AND wpk -> sbr
|
||||
tgp AND dkh -> tbh
|
||||
wrg XOR nwq -> z38
|
||||
y32 XOR x32 -> gds
|
||||
bmn OR hbj -> msb
|
||||
wps XOR mtn -> z33
|
||||
ncs OR pjf -> sws
|
||||
wqr OR tqk -> dwh
|
||||
x31 AND y31 -> pwg
|
||||
y12 XOR x12 -> jcw
|
||||
nrr AND sms -> z31
|
||||
x38 AND y38 -> npd
|
||||
y02 AND x02 -> fwt
|
||||
y37 AND x37 -> rnc
|
||||
fwt OR vtm -> tdw
|
||||
x38 XOR y38 -> nwq
|
||||
gds AND ghr -> ckd
|
||||
ffw OR nfb -> wpk
|
||||
ctv XOR wht -> z05
|
||||
y11 XOR x11 -> cmg
|
||||
y05 XOR x05 -> ctv
|
||||
jhw XOR tcv -> z18
|
||||
wrf OR gnt -> rmw
|
||||
y01 AND x01 -> tnr
|
||||
x36 XOR y36 -> pqn
|
||||
gjq OR dfg -> skp
|
||||
x40 AND y40 -> ptg
|
||||
y39 AND x39 -> dqn
|
||||
bjb OR hjf -> sbg
|
||||
rrn OR rpt -> qfs
|
||||
ctv AND wht -> dhs
|
||||
sgs AND rsb -> ccw
|
||||
rmw XOR psg -> z25
|
||||
y24 XOR x24 -> hsk
|
||||
bgd XOR msb -> z10
|
||||
y17 AND x17 -> fvv
|
||||
y22 AND x22 -> kdh
|
||||
qfs AND rfv -> fgp
|
||||
wds AND fps -> rhr
|
||||
y18 XOR x18 -> tcv
|
||||
ttd AND nhg -> tfw
|
||||
bbc AND jkb -> ptb
|
||||
djn OR tnr -> cpb
|
||||
y35 XOR x35 -> bbc
|
||||
tfw OR cgt -> z14
|
||||
rgp AND bth -> srg
|
||||
dwh AND hsk -> gnt
|
||||
pqw OR ngc -> frt
|
||||
y25 XOR x25 -> psg
|
||||
y13 XOR x13 -> tgp
|
||||
x30 XOR y30 -> rbw
|
||||
vrv OR fvv -> jhw
|
||||
skp XOR mgd -> z29
|
||||
cmg XOR ntv -> z11
|
||||
vjr XOR vbb -> z04
|
||||
gkj XOR sws -> z08
|
||||
x20 XOR y20 -> tpv
|
||||
ntv AND cmg -> nfb
|
||||
x32 AND y32 -> tdk
|
||||
wmr AND cpb -> vtm
|
||||
x19 AND y19 -> jps
|
||||
jhw AND tcv -> rqv
|
||||
y27 XOR x27 -> bcq
|
||||
x34 AND y34 -> hdk
|
||||
wqc XOR qtf -> z01
|
||||
wgk OR sbr -> dkh
|
||||
x43 AND y43 -> kdb
|
||||
y04 XOR x04 -> vjr
|
||||
rmw AND psg -> fgg
|
||||
gkj AND sws -> jfw
|
||||
cwm XOR tpv -> z20
|
||||
cjd XOR qtn -> z17
|
||||
fsf AND fgs -> nmb
|
||||
wps AND mtn -> rpt
|
||||
x33 XOR y33 -> mtn
|
||||
bcq XOR hnk -> z27
|
||||
tbh OR wwk -> nhg
|
||||
twb XOR tsm -> z19
|
||||
frt AND mhw -> wdr
|
||||
y15 AND x15 -> pwr
|
||||
rbw XOR dfv -> z30
|
||||
vss AND vqs -> ctt
|
||||
x28 AND y28 -> gjq
|
||||
y28 XOR x28 -> dvf
|
||||
bbc XOR jkb -> sgj
|
||||
x43 XOR y43 -> fps
|
||||
y04 AND x04 -> khw
|
||||
pwg OR kpp -> ghr
|
||||
x31 XOR y31 -> nrr
|
||||
gmw XOR gck -> z07
|
||||
frt XOR mhw -> z21
|
||||
spb AND tng -> skq
|
||||
svt AND hkg -> knf
|
||||
gjn AND kdh -> bjb
|
||||
qfs XOR rfv -> z34
|
||||
cpc AND nbm -> jtt
|
||||
tqh OR ccw -> nbm
|
||||
jtt OR qkv -> wds
|
||||
gds XOR ghr -> z32
|
||||
rbw AND dfv -> qnv
|
||||
msb AND bgd -> gjr
|
||||
qnv OR bjd -> sms
|
||||
y18 AND x18 -> pns
|
||||
x41 XOR y41 -> rsb
|
||||
x26 AND y26 -> srh
|
||||
nvc OR npd -> ddh
|
||||
dtm OR gjr -> ntv
|
||||
x08 AND y08 -> jrf
|
||||
y14 XOR x14 -> ttd
|
||||
y06 AND x06 -> wvr
|
||||
y16 AND x16 -> cwb
|
||||
rnc OR qgn -> wrg
|
||||
y30 AND x30 -> bjd
|
||||
jqd XOR mhc -> z37
|
||||
ddh XOR tnm -> z39
|
||||
x12 AND y12 -> wgk
|
||||
cqh OR fgg -> ngh
|
||||
kdh XOR gjn -> z22
|
||||
x01 XOR y01 -> wqc
|
||||
khw OR djm -> wht
|
||||
ctt OR pwr -> rgp
|
||||
y21 XOR x21 -> mhw
|
||||
vjp OR nwg -> dhh
|
||||
x02 XOR y02 -> wmr
|
||||
gck AND gmw -> pjf
|
||||
rqv OR pns -> twb
|
||||
y00 AND x00 -> qtf
|
||||
y05 AND x05 -> njq
|
||||
y29 AND x29 -> rjf
|
||||
vrk AND tdw -> hsf
|
||||
y42 AND x42 -> qkv
|
||||
y10 XOR x10 -> bgd
|
||||
cfg XOR ngh -> z26
|
||||
tng XOR spb -> z06
|
||||
y00 XOR x00 -> z00
|
||||
cpb XOR wmr -> z02
|
||||
ckd OR tdk -> wps
|
||||
jrq OR srh -> hnk
|
||||
y22 XOR x22 -> hjf
|
||||
x03 AND y03 -> bjw
|
||||
nhg XOR ttd -> vss
|
||||
tsm AND twb -> rwg
|
||||
dqn OR hgg -> hkg
|
||||
y34 XOR x34 -> rfv
|
||||
y35 AND x35 -> z35
|
||||
x25 AND y25 -> cqh
|
||||
y33 AND x33 -> rrn
|
||||
wqc AND qtf -> djn
|
||||
sgs XOR rsb -> z41
|
||||
x08 XOR y08 -> gkj
|
||||
rwg OR jps -> cwm
|
||||
rqf AND pqn -> wbv
|
||||
x37 XOR y37 -> mhc
|
||||
dvf XOR dhh -> z28
|
||||
kdb OR rhr -> fgs
|
||||
knf OR ptg -> sgs
|
||||
svt XOR hkg -> z40
|
||||
y13 AND x13 -> wwk
|
||||
y23 AND x23 -> tqk
|
||||
fgp OR hdk -> jkb
|
||||
jcw XOR wpk -> z12
|
||||
y06 XOR x06 -> spb
|
||||
x23 XOR y23 -> tks
|
||||
y09 AND x09 -> bmn
|
||||
wds XOR fps -> z43
|
||||
dhh AND dvf -> dfg
|
||||
mgd AND skp -> src
|
||||
wrg AND nwq -> nvc
|
||||
y03 XOR x03 -> vrk
|
||||
y36 AND x36 -> kqk
|
||||
vjr AND vbb -> djm
|
||||
x44 XOR y44 -> fsf
|
||||
x44 AND y44 -> mbk
|
||||
kqk OR wbv -> jqd
|
||||
vpd XOR mvn -> z09
|
||||
y09 XOR x09 -> mvn
|
||||
1
data/25.ans
Normal file
1
data/25.ans
Normal file
@@ -0,0 +1 @@
|
||||
3395
|
||||
3999
data/25.in
Normal file
3999
data/25.in
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user