Problem:
そろばん

そろばんを習い始める友人からのお願いで、あなたはそろばんの珠の並び
を表示するプログラムを作成することになりました。ある数字を入力として、そろばんの珠の並びを出力するプログラムを作成してください。ただし、表示するそろばんの桁数は 5 桁とし、0 から 9 までの珠の配置はそれぞれ '*' (半角アスタリスク)、' ' (半角空白)、'=' (半角イコール) を用いて以下のように表すものとします。

Input

複数のテストケースが与えられます。各テストケースとして 5 桁までの数字（整数）が １ 行に与えられます。

テストケースの数は 1024 を超えません。

Output

各テストケースついてそろばんの珠の配置を出力してください。テストケースの間に１行の空行を入れてください。

Sample Input

2006
1111

Output for the Sample Input

****
*
=====
* *
****
* ***
*****
*****

*****

=====
****
*
*****
*****
*****

Solution in Ruby (judge verdict: Accepted)

virgin = true

readlines.each do |input|
  puts "" unless virgin
  n = input.chomp.chars.map(&:to_i)
  digit_n = n.size
  zero = "* = ****"
  result = Array.new(5)
  result.map!{zero.dup}
  ri = 5 - digit_n

  0.upto(digit_n-1) do |i|
    result[ri][3] = '*' if !(n[i] % 5).zero?
    if 5 <= n[i]
      result[ri][0] = ' '
      result[ri][1] = '*'
    end
    result[ri][n[i]%5+3] = ' '
    ri += 1
    break if 4 < ri
  end

  0.upto(7) do |i|
    0.upto(4) do |j|
      print result[j][i]
      puts "" if j == 4
    end
  end

  virgin = false if virgin
end