Problem:
Problem D : Numbers

n が与えられるので、n 個の連続した正の整数を求めよ。
ただしすべての数が、１とその数自身以外の約数をもたなくてはならない。

Input

入力は以下のフォーマットで与えられる。

n

入力は以下の制約を満たす。

1 ≤ n ≤ 1,500

Output

最初の行に、あなたが選んだ連続したn 個の正の整数の中で一番小さいものを出力せよ。

2行目からn+1 行目に、それぞれの値に対する約数を出力せよ。

約数は1かその数自身でなければどの値を出力しても良い。

1行目に出力した数をxとして、i行目には x+i-2 の約数を出力せよ。

出力する値は5,000桁を超えてはいけない。

Sample Input 1

2

Sample Output 1

8
2
3

Sample Input 2

3

Sample Output 2

8
2
3
5

Hint

Sample Output 2では、8,9,10を3個の連続した整数として選んでいる。

2行目に、8の約数として2,3行目は9の約数として3,４行目には10の約数として5,を出力している。

Solution in Ruby (judge verdict: Accepted)

#!/bin/ruby
require 'prime'
prm=Prime.instance.each.first(1500)
lcm=2
start=2
ncmp=1
x=1
factors=[2]
while ncmp<1500
  start+=lcm
  if (start+ncmp)%prm[x]==0 then
    ncmp+=1
    factors<< prm[x]
    lcm*=prm[x]
    x+=1
    while true
      f=false
      (0...x).each do |e|
        if (start+ncmp)%prm[e]==0 then
          f=true
          factors<< prm[e]
          ncmp+=1
          break
        end
      end
      break if f
    end
  end
end
n=gets.to_i
puts start,factors[0...n]