var yMin = -0.2
var yMax = 0.1
var xMin = -1.5
var xMax = -1.1

for (yPixel in 0...24) {
  var y = (yPixel / 24) * (yMax - yMin) + yMin
  for (xPixel in 0...80) {
    var x = (xPixel / 79) * (xMax - xMin) + xMin
    var pixel = " "
    var x0 = x
    var y0 = y
    for (iter in 0...80) {
      var x1 = (x0 * x0) - (y0 * y0)
      var y1 = 2 * x0 * y0

      // Add the seed.
      x1 = x1 + x
      y1 = y1 + y

      x0 = x1
      y0 = y1

      // Stop if the point escaped.
      var d = (x0 * x0) + (y0 * y0)
      if (d > 4) {
        pixel = " .:;+=xX$&"[(iter / 8).floor]
        break
      }
    }

    System.write(pixel)
  }

  System.print()
}
