友人のYaʻqūbは、町でいちばん忙しいデリでカウンターに立っています。次から次へと訪れるお腹を空かせたお客さんのために、注文を切り分け、量って、包んでいます。 作業を滞りなく進めるために、お客さんは来店すると番号札を受け取ります。
次の人を呼ぶ順番になると、Yaʻqūbはその番号を声に出して読み上げます。誰にでもはっきりと聞こえるように、いつも省略せず、完全な英語の言葉で読み上げるのです。
数値が1つ与えられます。その数値を、友人が声に出して言うときとまったく同じ英語の言葉で表してください。 Yaʻqūbは、0から999,999,999,999までの数値を使うことを想定しています。
例:
この演習は、他の言語版と比べて、Rust版では少し内容が変わっています。範囲外の値に対してエラーを返す必要はありません。その代わりに、Rustの強力な型システムを使って入力を制限します。すべての有効な入力を関数で扱えるようにするほうが、モジュールの利用者にエラー処理を求めるよりも、ずっと簡単です。
u64の最大値18_446_744_073_709_551_615までの変換に対応させましょう。
出力がどうなるべきかについては、最後のテストケースを参考にしてください。