AT_arc011_2 [ARC011B] ルイス・キャロルの記憶術
Description
[problemUrl]: https://atcoder.jp/contests/arc011/tasks/arc011_2
古今東西、数字の記憶には様々な方法が取り入れられてきた。
例えば日本では $ e $ の値を「鮒一鉢二鉢一鉢二鉢至極惜しい」などとして記憶するし、欧米では $ π $ の値を `Yes, I know a number!` として記憶する。 「不思議の国のアリス」の著者として知られるルイス・キャロル (本名:チャールズ・ラトウィッジ・ドジソン) は、子音のみを用いた独自の記憶術を作り、様々な年号を記憶していたらしい。 これによれば、次のように、文字に数字を割り当てていたという。
図:文字から数字への割り当て
この表に従い、覚えたい数字を子音に変換し、これを用いた単語をひとつ作って文にすることで、キャロルは年号などを覚えていたという。
なお、子音以外の文字 (`a,e,i,o,u,y` や、コンマ、ピリオド等) はすべて無視され、大文字も小文字も同じように変換される。
例えば、モーツァルトの正没年は `Mozart plays magic.` とし、$ plays $ を $ 756 $ に変換し、 $ magic $ を $ 791 $ に変換して、 $ 1756 $ 年 $ ~ $ $ 1791 $ 年と覚えることができるわけ である。 この方式での記憶文が与えられるとき、それを前から順に変換し、変換した数字を出力するプログラムを作成せよ。
入力は以下の形式で標準入力から与えられる。
> $ N $ $ w_{0} $ $ w_{1} $ $ ... $ $ w_{N-1} $
1. $ 1 $ 行目は単語の数を表す整数 $ N(1≦N≦1,000) $ が与えられる。
2. $ 2 $ 行目は単語が半角スペース区切りで与えられる。
- 単語とは`半角英字` `ピリオド` `コンマ`から構成される。
- 各単語は $ 1 $ 文字以上 $ 30 $ 文字以内である。
与えられた単語から変換された数字を $ 1 $ 行で出力せよ。
ただし、変換された数字と数字の間には半角スペースを $ 1 $ つ入れること。
整数の頭に `0` がつく場合もあるが、その場合は `0` も出力すること。
また、出力の最後には改行をいれること。 ```
3 Mozart plays magic. ``` ```7003 756 791 ``` 24. 変換表により、`Mozart`の`M`を $ 7 $ に変更します。 `z`を $ 0 $ に変更します。 `r`を $ 0 $ に変更します。 `t`を $ 3 $ に変更します。 こうして、`Mozart`から $ 7003 $ へ変換することができました。 25. 同様にして、`plays`から $ 756 $ へ、`magic`から $ 791 $ へ変換します。 ```3 Columbus found USA. ``` ```15716 492 6 ``` - `Columbus` を変換して $ 15716 $ - `found` を変換して $ 492 $ - `USA` を変換して $ 6 $ をそれぞれ得ることができます。 ```7 I have a scissors for right hand. ``` ```85 616606 40 0983 892 ``` - `I`や`a`は母音のみからなる単語ですので、これらの単語は無視され、全部で $ 5 $ 個の整数が出力されます。 ```4 abc ab aa aiueo ``` ```11 1 ``` - 最後に余分な空白を入れてはいけません。 \[訂正\] 2013.01.19 21:16 $ 1 $ 行目が誤って $ 5 $ になっておりましたので、修正いたしました。 ```4 aaa aa a aa ``` `````` - 母音のみからなる単語しかないので、最後の改行のみが出力されます。
Input Format
N/A
Output Format
N/A