#!/usr/bin/ruby

cols,lines   = 79, 30
minre,minim  = -2.0, -1.0
maxre,maxim  =  1.0,  1.0
chars   = ' .,-:/=HOAM%&$#@_'
maxiter = chars.length-1

im=minim
lines.times do |y|
  re=minre
  cols.times do |x|
    zr,zi = re,im
    n=0
    maxiter.times do |n|
      a,b = zr*zr, zi*zi
      break if a+b > 4.0
      zr,zi = a-b+re, 2*zr*zi+im
      n += 1
    end
    print chars.slice(n,1)
    re += (maxre-minre)/cols
  end
  im += (maxim-minim)/lines
  puts
end

=begin
(This is a comment)
This program outputs the following diagram:
        ......,,,,,,,,,,,,,,,,,,,,,--------:::/=O#O_#/:-----,,,,,,.............
       .....,,,,,,,,,,,,,,,,,,,,,---------:::/==HM_AH=/:------,,,,,,...........
      ....,,,,,,,,,,,,,,,,,,,,,---------::::/H%%&__#AA/::::-----,,,,,,.........
     ...,,,,,,,,,,,,,,,,,,,,,---------::///==O&______&H=/::::----,,,,,,,.......
    ...,,,,,,,,,,,,,,,,,,,,--------::////===HA$______%HH=////::---,,,,,,,......
    ..,,,,,,,,,,,,,,,,,,-------::::/H_##OOM_%_@______#_M@%H==H%=:--,,,,,,,.....
   ..,,,,,,,,,,,,,,,,,-----:::::://=H%___#_______________@M%____/:--,,,,,,,....
  ..,,,,,,,,,,,,,,,,---::::::::///=HOM________________________$H/::-,,,,,,,,...
  .,,,,,,,,,,,,,---://:::::::////=&__________________________#A=/::--,,,,,,,,..
  ,,,,,,,,,-----::/OA===========HHA$__________________________#AOH:---,,,,,,,,.
 .,,,,,-------::://O$MMAO&$OOOHHOA_______________________________H:---,,,,,,,,.
 ,,,--------:::::/=HO&_________MM&______________________________O/:---,,,,,,,,,
 ,--------::::::===%M___________#_______________________________@/:----,,,,,,,,
 -------:::///=HMOA%____________________________________________=::----,,,,,,,,
 :::::==///===OO&______________________________________________=/::----,,,,,,,,
#____________________________________________________________MH=/::----,,,,,,,,
 :::::==///===OO&______________________________________________=/::----,,,,,,,,
 -------:::///=HMOA%____________________________________________=::----,,,,,,,,
 ,--------::::::===%M___________#_______________________________@/:----,,,,,,,,
 ,,,--------:::::/=HO&_________MM&______________________________O/:---,,,,,,,,,
 .,,,,,-------::://O$MMAO&$OOOHHOA_______________________________H:---,,,,,,,,.
  ,,,,,,,,,-----::/OA===========HHA$__________________________#AOH:---,,,,,,,,.
  .,,,,,,,,,,,,,---://:::::::////=&__________________________#A=/::--,,,,,,,,..
  ..,,,,,,,,,,,,,,,,---::::::::///=HOM________________________$H/::-,,,,,,,,...
   ..,,,,,,,,,,,,,,,,,-----:::::://=H%___#_______________@M%____/:--,,,,,,,....
    ..,,,,,,,,,,,,,,,,,,-------::::/H_##OOM_%_@______#_M@%H==H%=:--,,,,,,,.....
    ...,,,,,,,,,,,,,,,,,,,,--------::////===HA$______%HH=////::---,,,,,,,......
     ...,,,,,,,,,,,,,,,,,,,,,---------::///==O&______&H=/::::----,,,,,,,.......
      ....,,,,,,,,,,,,,,,,,,,,,---------::::/H%%&__#AA/::::-----,,,,,,.........
       .....,,,,,,,,,,,,,,,,,,,,,---------:::/==HM_AH=/:------,,,,,,...........
=end