Problem:
Problem P02: Yes, I have a number

博士：　ペーター君「Yes, I have a number」って知ってるかい？

ぺーター：　このまえテレビでやってましたよ。文章に含まれる各単語の文字数で何かを覚えるというものですよね。
「Yes, I have a number」 だから、「3.14という数字」という意味になって円周率を覚えるためのキーワードになっているんですよね。

博士：　ペーター君、それは違うんじゃ。
これは、3.1416 と解釈せねばならぬのじゃ。円周率は3.14159...だからのう。

ペーター：　それじゃ、あの番組は日本が円周率を3.14と教えているからといって無理矢理省略したんですか！？

博士：　、、、。小学校で教える円周率がやっと3から3.14に戻っただけでもよしとしよう。

ペーター：　そもそも、これで本当に覚えられるんですか？

博士：　日本人には難しいかもしれん。英語圏の人たちは使うようじゃよ、英語でゴロ合わせをするのは難しいからのぉ。

ペーター：　それにしても、チェックするのが面倒くさそうですね。

博士：　そこでじゃ、文章を単語の文字数の数列に変換するプログラムを作ってほしいのじゃ。

ペーター：　了解しました。詳しい仕様を教えてください博士。

博士：　1行の文章を入力としよう。簡単のためにアルファベットと空白のみを含む文章でよいぞ。
この文章について、空白・文頭・文末に挟まれた文字列の長さを順番に出力してくれ。
文字列の文字数は9を超えないと過程してよいぞ。

例えば、"Yes I have" の Yes は文頭と最初の空白で区切られているから文字数は 3 、 I は 1 つ目と 2 つ目の空白に区切られていて文字数は 1 じゃ。

博士：　・・・そうじゃ、空白が連続した場合の、文字数が 0 になる文字列も忘れずにな。

Input

複数のデータセットが入力として与えられます。各データセットで、アルファベットと空白を含む文字列が１行に与えられます。

文字列が "END OF INPUT" のとき、入力の終わりとします。この入力に対する出力を行ってはいけません。

Output

各データセットについて、文字列に対する文字数の数列を１行に出力して下さい。

Sample Input

Yes I have a number
How I wish I could calculate an unused color for space
Thank you
END OF INPUT

Output for the Sample Input

31416
31415926535
53

Solution in Ruby (judge verdict: Accepted)

def get_i() #空白区切の入力を数値(整数)の配列で返す
  return gets.chomp.split(" ").map(&:to_i)
end
def get_f() #空白区切の入力を数値(実数)の配列で返す
  return gets.chomp.split(" ").map(&:to_f)
end
def get() #空白区切の入力を文字列の配列で返す
  return gets.chomp.split(" ")
end
def get_nsp() #入力されたものを一文字ずつに区切った文字列の配列で返す
  return gets.chomp.split("")
end
def yn_judge(bool,y="Yes",n="No") #boolに真偽を投げることで、trueならy、falseならnの値を出力する
  return bool ? y : n 
end
def array(size,n=1,init=nil) #nに配列の次元数、sizeに配列の大きさ、initに初期値を投げることでその配列を返す
  if n==1
    return Array.new(size){init}
  else
    return Array.new(n).map{Array.new(size){init}}
  end
end

loop do
  s=get_nsp
  break if s.join("")=="END OF INPUT"
  ans=[]
  cnt=0
  s.each do|c|
    unless c==" "
      cnt+=1
    else
      ans.push(cnt)
      cnt=0
    end 
  end
  ans.push(cnt)
  puts ans.join("")
end