Problem:
うるう年

西暦 a 年から b 年までの間にあるすべてのうるう年を出力するプログラムを作成してください。

うるう年の条件は、次のとおりとします。ただし、0 < a ≤ b < 3,000 とします。与えられた期間にうるう年がない場合には "NA"と出力してください。

西暦年が 4 で割り切れる年であること。

ただし、100 で割り切れる年はうるう年としない。

しかし、400 で割り切れる年はうるう年である。

Input

複数のデータセットが与えられます。各データセットの形式は以下のとおりです：

a b

a, b がともに 0 のとき入力の終了とします。データセットの数は 50 を超えません。

Output

データセットごとに、西暦または NA を出力してください。

データセットの間に１つの空行を入れてください。

Sample Input

2001 2010
2005 2005
2001 2010
0 0

Output for the Sample Input

2004
2008

NA

2004
2008

Solution in Ruby (judge verdict: Accepted)

#encoding:utf-8
def search_leap_year array
 leap_year = []
 while array[0] <= array[1]
  if array[0]%4 == 0 && array[0]%100 != 0 || array[0]%400 == 0
   leap_year.push array[0]
  end
  array[0] += 1
 end

 if leap_year.length == 0
  puts "NA"
 else
  puts leap_year
 end
end

years = []
while true
 year = gets.chomp.split
 if year == %w(0 0)
  break
 end
 year.length.times do |i|
  year[i] = year[i].to_i
 end
 years.push year
end

i = 0
while i < years.length
 unless i == years.length - 1
  search_leap_year years[i]
  puts
 else
  search_leap_year years[i]
 end
 i += 1
end