#!/usr/bin/env ruby

=begin

= Fizz Buzz

CodeEval [http://w...content-available-to-author-only...l.com/open_challenges/1/]

1. Input example

    3 5 10
    2 7 15

2. Output example

    1 2 F 4 B F 7 8 F B
    1 F 3 F 5 F B F 9 F 11 F 13 FB 15

3. Run this program

    $ ruby fizzbuzz.rb input.txt
    1 2 F 4 B F 7 8 F B
    1 F 3 F 5 F B F 9 F 11 F 13 FB 15

=end

def fizzbuzz a, b, n
  (1..n).map do |x|
    case
      when x % (a * b) == 0 then 'FB'
      when x % a == 0 then 'F'
      when x % b == 0 then 'B'
      else x
    end
  end
end

if __FILE__ == $0
  File::open(ARGV.first) do |f|
    f.each do |l|
      puts fizzbuzz(*l.split.map { |x| x.to_i }).join ' '
    end
  end
end