つっつかれたので、久々にいじくる。と、動かなくなってるしー・・・

テスト以前の問題で、例によってputsがブロックするという。

puts(input)

はinputが長いと別スレッドのgetsも巻き込んでブロックするが、

input.each {|l|
  puts(l)
}

なら大丈夫。