#include #include std::vector& word_list_japanese() { static std::vector word_list( "あい", "あいこくしん", "あう", "あお", "あおぞら", "あか", "あかちゃん", "あき", "あきる", "あく", "あさ", "あさひ", "あし", "あずき", "あせ", "あそぶ", "あたる", "あつい", "あな", "あに", "あね", "あひる", "あまい", "あみ", "あめ", "あめりか", "あやまる", "あゆむ", "あらいぐま", "あらし", "あり", "ある", "あれ", "あわ", "あんこ", "いう", "いえ", "いおん", "いか", "いがい", "いかいよう", "いけ", "いけん", "いこく", "いこつ", "いさん", "いし", "いじゅう", "いす", "いせい", "いせえび", "いせかい", "いせき", "いそうろう", "いそがしい", "いたりあ", "いてざ", "いてん", "いと", "いない", "いなか", "いぬ", "いね", "いのち", "いのる", "いはつ", "いはん", "いびき", "いひん", "いふく", "いへん", "いほう", "いま", "いみ", "いみん", "いも", "いもうと", "いもたれ", "いもり", "いや", "いやす", "いよかん", "いよく", "いらい", "いらすと", "いりぐち", "いりょう", "いりょうひ", "いる", "いれい", "いれもの", "いれる", "いろ", "いろえんぴつ", "いわ", "いわう", "いわかん", "いんげんまめ", "うえ", "うおざ", "うかぶ", "うきわ", "うく", "うくらいな", "うくれれ", "うけつぐ", "うけつけ", "うける", "うごく", "うこん", "うさぎ", "うし", "うしなう", "うしろ", "うしろがみ", "うすい", "うすぎ", "うせつ", "うそ", "うた", "うちあわせ", "うちがわ", "うちき", "うつ", "うなぎ", "うなじ", "うに", "うねる", "うのう", "うぶげ", "うぶごえ", "うま", "うまれる", "うみ", "うむ", "うめ", "うめる", "うもう", "うやまう", "うよく", "うら", "うらない", "うる", "うるさい", "うれしい", "うろこ", "うわき", "うわさ", "えい", "えいえん", "えいが", "えいぎょう", "えいご", "えおり", "えき", "えきたい", "えくせる", "えさ", "えしゃく", "えすて", "えつらん", "えと", "えのぐ", "えび", "えほうまき", "えほん", "えま", "えまき", "えもじ", "えもの", "えらい", "えらぶ", "えり", "えりあ", "える", "えん", "えんえん", "おきる", "おく", "おけ", "おこる", "おしえる", "おやゆび", "おらんだ", "かあつ", "かい", "かう", "かお", "かがし", "かき", "かく", "かこ", "かさ", "かす", "かち", "かつ", "かなざわし", "かに", "かね", "かのう", "かほう", "かほご", "かまぼこ", "かみ", "かむ", "かめれおん", "かも", "かゆい", "からい", "かるい", "かろう", "かわ", "かわら", "きあい", "きあつ", "きいろ", "ぎいん", "きうい", "きうん", "きえる", "きおう", "きおく", "きおち", "きおん", "きか", "きかい", "きかく", "きかん", "きかんしゃ", "きぎ", "ききて", "きく", "きくばり", "きくらげ", "きけん", "きけんせい", "きこう", "きこえる", "きこく", "きさい", "きさく", "きさま", "きさらぎ", "きし", "きしゅ", "きす", "きすう", "きせい", "きせき", "きせつ", "きそ", "きそう", "きそく", "きぞく", "ぎそく", "きぞん", "きた", "きたえる", "きち", "きちょう", "きつえん", "きつつき", "きつね", "きてい", "きどう", "きどく", "きない", "きなが", "きぬ", "きぬごし", "きねん", "きのう", "きはく", "きびしい", "きひん", "きふ", "ぎふ", "きふく", "ぎぼ", "きほう", "きぼう", "きほん", "きまる", "きみ", "きみつ", "ぎむ", "きむずかしい", "きめ", "きめる", "きもだめし", "きもち", "きやく", "きよう", "きらい", "きらく", "きり", "きる", "きれい", "きれつ", "きろく", "ぎろん", "きわめる", "ぐあい", "くい", "くいず", "くうかん", "くうき", "くうぐん", "くうこう", "くうそう", "くうふく", "くうぼ", "くかん", "くき", "くきょう", "くげん", "ぐこう", "くさ", "くさい", "くさき", "くさばな", "くさる", "くし", "くしゃみ", "くしょう", "くすのき", "くすり", "くすりゆび", "くせ", "くせげ", "くせん", "くたびれる", "くち", "くちこみ", "くちさき", "くつ", "くつした", "くつろぐ", "くとうてん", "くどく", "くなん", "くに", "くねくね", "くのう", "くふう", "くま", "くみあわせ", "くみたてる", "くむ", "くめる", "くやくしょ", "くらす", "くり", "くれる", "くろ", "くろう", "くわしい", "ぐんじょ", "けあな", "けいけん", "けいこ", "けいさい", "けいさつ", "げいのうじん", "けいれき", "けいれつ", "けいれん", "けいろ", "けおとす", "けおりもの", "けが", "げき", "げきか", "げきげん", "げきだん", "げきちん", "げきど", "げきは", "げきやく", "げこう", "げこくじょう", "けさ", "げざい", "けさき", "げざん", "けしき", "けしごむ", "けしょう", "けす", "げすと", "けた", "げた", "けたば", "けち", "けちゃっぷ", "けちらす", "けつ", "けつあつ", "けつい", "けつえき", "けっこん", "けつじょ", "けってい", "けつまつ", "げつようび", "げつれい", "けつろん", "げどく", "けとばす", "けとる", "けなげ", "けなす", "けなみ", "けぬき", "げねつ", "けねん", "けはい", "げひん", "けぶかい", "げぼく", "けまり", "けみかる", "けむし", "けむり", "けもの", "けらい", "ける", "げろ", "けろけろ", "けわしい", "けんい", "けんえつ", "けんお", "けんか", "げんき", "けんきゅう", "けんきょ", "けんけい", "けんけつ", "けんげん", "けんこう", "けんさ", "けんさく", "けんしゅう", "けんしゅつ", "けんしん", "けんすう", "けんそう", "げんそう", "けんそん", "げんち", "けんちく", "けんてい", "げんてい", "けんとう", "けんない", "けんにん", "げんぶつ", "けんま", "けんみん", "けんめい", "けんらん", "けんり", "けんりつ", "こあくま", "こい", "ごい", "こいびと", "こうい", "こうえん", "こうか", "こうかい", "こうかん", "こうさい", "こうさん", "こうしん", "こうず", "こうすい", "こうせん", "こうそう", "こうそく", "こうたい", "こうちゃ", "こうつう", "こうてい", "こうとうぶ", "こうない", "こうはい", "こうはん", "こうもく", "こえ", "こえる", "こおり", "ごがつ", "こかん", "こく", "こくご", "こくない", "こくはく", "こけい", "こける", "ここ", "こころ", "ごさ", "こさめ", "こし", "こしつ", "こす", "こすう", "こせい", "こせき", "こぜん", "こそだて", "こたい", "こたえる", "こたつ", "こちょう", "こっか", "こつこつ", "こつばん", "こつぶ", "こてい", "こてん", "こと", "ことがら", "ことし", "こなごな", "こねこね", "このまま", "このみ", "このよ", "こはん", "ごはん", "ごび", "こひつじ", "こふう", "こふん", "こぼれる", "ごま", "こまかい", "こまつし", "こまつな", "こまる", "こむ", "こむぎこ", "こめ", "こもじ", "こもち", "こもの", "こもん", "こや", "こやく", "こやま", "こゆう", "こゆび", "こよい", "こよう", "こりる", "こる", "これくしょん", "ころっけ", "こわもて", "こわれる", "こん", "こんいん", "こんかい", "こんき", "こんしゅう", "こんしゅん", "こんすい", "こんだて", "こんだん", "こんとん", "こんなん", "こんびに", "こんぽう", "こんぽん", "こんまけ", "こんや", "こんやく", "こんれい", "こんわく", "さいかい", "さいがい", "さいきん", "さいご", "さいこん", "さいしょ", "さうな", "さお", "さかいし", "さかな", "さかみち", "さき", "さく", "さくし", "さくじょ", "さくひん", "さくら", "さけ", "さこく", "さこつ", "さたん", "さつえい", "さっか", "さっきょく", "さつじん", "さつたば", "さつまいも", "さてい", "さといも", "さとう", "さとおや", "さとる", "さのう", "さば", "さばく", "さべつ", "さほう", "さほど", "さます", "さみしい", "さみだれ", "さむけ", "さめ", "さめる", "さやえんどう", "さゆう", "さよう", "さよく", "さら", "さらだ", "さる", "さわやか", "さわる", "さんいん", "さんか", "さんきゃく", "さんこう", "さんさい", "さんざん", "さんすう", "さんせい", "さんそ", "さんそん", "さんち", "さんちょう", "さんま", "さんみ", "さんらん", "しあい", "しあげ", "しあさって", "しあわせ", "しいく", "しいん", "しうち", "しえい", "しお", "しおけ", "しか", "しかい", "しかく", "じかん", "した", "したぎ", "したて", "したみ", "しちょう", "しちょうそん", "しちりん", "じつじ", "してい", "してき", "してつ", "してん", "しとう", "じどう", "しなぎれ", "しなもの", "しなん", "しねま", "しねん", "しのぐ", "しのぶ", "しはい", "しばかり", "しはつ", "じはつ", "しはらい", "しはん", "しひょう", "じふ", "しふく", "じぶん", "しへい", "しほう", "しほん", "しま", "しまう", "しまる", "しみ", "じみ", "しみん", "じむ", "しむける", "しめい", "しめる", "しもん", "しゃいん", "しゃうん", "しゃおん", "しゃかい", "じゃがいも", "しやくしょ", "しゃくほう", "しゃけん", "しゃこ", "しゃこう", "しゃざい", "しゃしん", "しゃせん", "しゃそう", "しゃたい", "しゃたく", "しゃちょう", "しゃっきん", "じゃま", "じゃり", "しゃりょう", "しゃりん", "しゃれい", "しゅうえん", "しゅうかい", "しゅうきん", "しゅうけい", "しゅうりょう", "しゅらば", "しょうか", "しょうかい", "しょうきん", "しょうじき", "しょくざい", "しょくたく", "しょっけん", "しょどう", "しょもつ", "しん", "しんか", "しんこう", "しんせいじ", "しんちく", "しんりん", "すあげ", "すあし", "すあな", "ずあん", "すいか", "すいとう", "すう", "すうがく", "すうじつ", "すうせん", "すおどり", "すき", "すきま", "すく", "すくう", "すくない", "すける", "すこし", "ずさん", "すし", "すずしい", "すすめる", "すそ", "ずっしり", "ずっと", "すで", "すてき", "すてる", "すな", "すなっく", "すなっぷ", "すね", "すねる", "すのこ", "すはだ", "すばらしい", "ずひょう", "ずぶぬれ", "すぶり", "すふれ", "すべて", "すべる", "ずほう", "すぼん", "すまい", "すみ", "すむ", "すめし", "すもう", "すやき", "すらいす", "すらいど", "すらすら", "すり", "する", "するめ", "すれちがう", "すろっと", "すわる", "すんぜん", "すんぽう", "せあぶら", "せいか", "せいかい", "せいかつ", "せおう", "せかい", "せかいかん", "せかいし", "せかいじゅう", "せき", "せきにん", "せきむ", "せきゆ", "せきらんうん", "せけん", "せこう", "せすじ", "せたい", "せたけ", "せっかい", "せっかく", "せっき", "せっきゃく", "せっきょく", "せっきん", "ぜっく", "せっけん", "せっこつ", "せっさたくま", "せつぞく", "せつだん", "せつでん", "せっぱん", "せつび", "せつぶん", "せつめい", "せつりつ", "せと", "せなか", "せのび", "せはば", "せぼね", "せまい", "せまる", "せみ", "せめる", "せもたれ", "せりふ", "せわ", "せん", "ぜんあく", "せんい", "せんえい", "せんか", "せんきょ", "せんく", "せんけつ", "せんげん", "ぜんご", "せんさい", "せんし", "せんしゅ", "せんす", "せんすい", "せんせい", "せんぞ", "せんそう", "せんたく", "せんち", "せんちゃ", "せんちゃく", "せんちょう", "せんてい", "せんとう", "せんぬき", "せんねん", "ぜんぶ", "せんぷうき", "せんぷく", "ぜんぽう", "せんむ", "せんめい", "せんめんじょ", "せんもん", "せんやく", "せんゆう", "せんよう", "ぜんら", "ぜんりゃく", "せんりょく", "せんれい", "せんろ", "そあく", "そいとげる", "そいね", "そう", "ぞう", "そうがんきょう", "そうき", "そうご", "そうなん", "そうび", "そうひょう", "そうめん", "そうり", "そうりょ", "そえもの", "そえん", "そかい", "そがい", "そぐ", "そげき", "そこう", "そこそこ", "そざい", "そし", "そしな", "そせい", "そせん", "そそぐ", "そだてる", "そつう", "そつえん", "そっかん", "そつぎょう", "そっけつ", "そっこう", "そっせん", "そっと", "そで", "そと", "そとがわ", "そとづら", "そなえる", "そなた", "そば", "そふ", "そふぼ", "そぼ", "そぼく", "そぼろ", "そまつ", "そまる", "そむく", "そむりえ", "そめる", "そもそも", "そよかぜ", "そら", "そらまめ", "そり", "そる", "そろう", "そんかい", "そんけい", "そんざい", "そんしつ", "そんしょう", "そんぞく", "そんちょう", "ぞんび", "ぞんぶん", "そんみん", "たあい", "たいいん", "たいうん", "たいえき", "たいおう", "だいおう", "たいか", "たいかい", "たいき", "たいきけん", "たいぐう", "たいくつ", "たいけい", "たいけつ", "たいけん", "たいこ", "たいこう", "たいさ", "たいさん", "たいしゅつ", "だいじょうぶ", "たいしょく", "だいず", "だいすき", "たいせい", "たいせつ", "たいせん", "たいそう", "たいちょう", "だいちょう", "たいとう", "たいない", "たいねつ", "たいのう", "たいは", "たいはん", "たいひ", "たいふう", "たいへん", "たいほ", "たいまつばな", "たいまん", "たいみんぐ", "たいむ", "たいめん", "たいやき", "たいやく", "たいよう", "たいら", "たいりょう", "たいりょく", "たいる", "たいわ", "たいわん", "たうえ", "たえる", "たおす", "たおる", "たかい", "たかね", "たき", "たきび", "たくさん", "たけ", "たこ", "たこく", "たこやき", "たさい", "ださい", "たしざん", "たす", "たすける", "たそがれ", "たたかう", "たたく", "たちば", "たちばな", "たつ", "だっかい", "だっきゃく", "だっこ", "だっしめん", "だっしゅつ", "だったい", "たて", "たてる", "たとえる", "たな", "たにん", "たぬき", "たね", "たのしみ", "たはつ", "たび", "たぶん", "たべる", "たぼう", "たほうめん", "たま", "たまご", "たまる", "だむる", "ためいき", "ためす", "ためる", "たもつ", "たやすい", "たよる", "たら", "たらす", "たりきほんがん", "たりょう", "たりる", "たる", "たると", "たれる", "たれんと", "たろっと", "たわむれる", "たん", "だんあつ", "たんい", "たんおん", "たんか", "たんき", "たんけん", "たんご", "たんさく", "たんさん", "たんし", "たんしゅく", "たんじょうび", "だんせい", "たんそく", "たんたい", "たんち", "だんち", "たんちょう", "たんてい", "たんてき", "たんとう", "だんな", "たんにん", "だんねつ", "たんのう", "たんぴん", "たんまつ", "たんめい", "だんれつ", "だんろ", "だんわ", "ちあい", "ちあん", "ちい", "ちいき", "ちいさい", "ちえ", "ちえん", "ちか", "ちかい", "ちきゅう", "ちきん", "ちけい", "ちけいず", "ちけん", "ちこく", "ちさい", "ちしき", "ちしりょう", "ちず", "ちせい", "ちそう", "ちたい", "ちたん", "ちちおや", "ちつじょ", "ちてき", "ちてん", "ちぬき", "ちぬり", "ちのう", "ちひょう", "ちへいせん", "ちほう", "ちまた", "ちみつ", "ちみどろ", "ちめいど", "ちゅうい", "ちゅうおう", "ちゅうおうく", "ちゅうがっこう", "ちゅうごく", "ちゆりょく", "ちょうさ", "ちょうし", "ちらし", "ちらみ", "ちり", "ちりがみ", "ちる", "ちるど", "ちわわ", "ちんたい", "ちんもく", "ついか", "つうか", "つうじょう", "つうじる", "つうはん", "つうわ", "つえ", "つかう", "つかれる", "つき", "つく", "つくね", "つくる", "つけね", "つける", "つごう", "つた", "つたえる", "つち", "つつじ", "つとめる", "つな", "つながる", "つなみ", "つねづね", "つの", "つのる", "つば", "つぶ", "つぶす", "つぼ", "つま", "つまらない", "つまる", "つみ", "つみき", "つむ", "つめたい", "つもる", "つや", "つよい", "つり", "つるぼ", "つるみく", "つわもの", "つわり", "てあし", "てあて", "てあみ", "ていか", "ていき", "ていけい", "ていけつ", "ていけつあつ", "ていこく", "ていさつ", "ていし", "ていしゃ", "ていせい", "ていたい", "ていど", "ていねい", "ていひょう", "ていへん", "ていぼう", "てうち", "ておくれ", "てき", "てくび", "てこ", "てさぎょう", "てさげ", "でし", "てすり", "てそう", "てちがい", "てちょう", "てつがく", "てつづき", "てつや", "でぬかえ", "てぬき", "てぬぐい", "てのひら", "てはい", "てふだ", "てほどき", "てほん", "てま", "てまえ", "てまきずし", "てみじか", "てみやげ", "てら", "てらす", "でる", "てれび", "てろ", "てわけ", "てわたし", "でんあつ", "てんい", "てんいん", "てんかい", "てんき", "てんぐ", "てんけん", "でんげん", "てんごく", "てんさい", "てんすう", "でんち", "てんてき", "てんとう", "てんない", "てんぷ", "てんぷら", "てんぼうだい", "てんめつ", "てんらく", "てんらんかい", "でんりゅう", "でんりょく", "でんわ", "どあ", "どあい", "といれ", "とうむぎ", "とおい", "とおす", "とかい", "とかす", "ときおり", "ときどき", "とくい", "とくてい", "とくてん", "とくべつ", "とけい", "とける", "とさか", "とし", "としょかん", "とそう", "とたん", "とち", "とちゅう", "とつぜん", "とつにゅう", "ととのえる", "とない", "となえる", "となり", "とのさま", "とばす", "とぶ", "とほ", "とほう", "どま", "とまる", "とら", "とり", "とる", "とんかつ", "ない", "ないか", "ないかく", "ないこう", "ないしょ", "ないす", "ないせん", "ないそう", "ないぞう", "なおす", "なく", "なこうど", "なさけ", "なし", "なす", "なぜ", "なぞ", "なたでここ", "なつ", "なっとう", "なつやすみ", "ななおし", "なにごと", "なにもの", "なにわ", "なは", "なび", "なふだ", "なべ", "なまいき", "なまえ", "なまみ", "なみ", "なみだ", "なめらか", "なめる", "なやむ", "ならぶ", "なる", "なれる", "なわ", "なわとび", "なわばり", "にあう", "にいがた", "にうけ", "におい", "にかい", "にがて", "にきび", "にく", "にくしみ", "にくまん", "にげる", "にさんかたんそ", "にし", "にしき", "にす", "にせもの", "にちじ", "にちじょう", "にちようび", "にっか", "にっき", "にっけい", "にっこう", "にっさん", "にっしょく", "にっすう", "にっせき", "にってい", "になう", "にほん", "にまめ", "にもつ", "にやり", "にゅういん", "にゅうか", "にゅうし", "にゅうしゃ", "にゅうだん", "にゅうぶ", "にら", "にりんしゃ", "にる", "にわ", "にわとり", "にんい", "にんか", "にんき", "にんげん", "にんしき", "にんしょう", "にんしん", "にんずう", "にんそう", "にんたい", "にんち", "にんてい", "にんにく", "にんぷ", "にんまり", "にんむ", "にんめい", "にんよう", "ぬう", "ぬか", "ぬく", "ぬくもり", "ぬし", "ぬの", "ぬま", "ぬめり", "ぬらす", "ぬる", "ぬんちゃく", "ねあげ", "ねいき", "ねいる", "ねいろ", "ねぎ", "ねぐせ", "ねくたい", "ねくら", "ねこ", "ねこぜ", "ねこむ", "ねさげ", "ねすごす", "ねそべる", "ねつい", "ねつぞう", "ねったい", "ねったいぎょ", "ねぶそく", "ねふだ", "ねぼう", "ねほりはほり", "ねまき", "ねまわし", "ねみみ", "ねむい", "ねもと", "ねらう", "ねる", "ねわざ", "ねんいり", "ねんおし", "ねんかん", "ねんき", "ねんきん", "ねんぐ", "ねんざ", "ねんし", "ねんちゃく", "ねんちょう", "ねんど", "ねんぴ", "ねんぶつ", "ねんまく", "ねんまつ", "ねんりき", "ねんりょう", "ねんれい", "のいず", "のう", "のおづま", "のがす", "のきなみ", "のこぎり", "のこす", "のせる", "のぞく", "のぞむ", "のたまう", "のちほど", "のっく", "のばす", "のはら", "のべる", "のぼる", "のむ", "のやま", "のらいぬ", "のらねこ", "のり", "のる", "のれん", "のんき", "ばあい", "はあく", "ばあさん", "はい", "ばいか", "ばいく", "はいけん", "はいご", "はいこう", "はいし", "はいしゅつ", "はいしん", "はいすい", "はいせつ", "はいせん", "はいそう", "はいち", "ばいばい", "はう", "はえ", "はえる", "はおる", "はか", "ばか", "はかい", "はかる", "はき", "はく", "はくしゅ", "はけん", "はこ", "はこぶ", "はさみ", "はさん", "はし", "はしご", "はしる", "ばす", "はせる", "ぱそこん", "はそん", "はたん", "はち", "はちみつ", "はっか", "はっかく", "はっき", "はっきり", "はっくつ", "はっけん", "はっこう", "はっさん", "はっしゃ", "はっしん", "はったつ", "はっちゃく", "はっちゅう", "はってん", "はっぴょう", "はっぽう", "はて", "はな", "はなす", "はなび", "はにかむ", "はね", "はは", "はぶらし", "はま", "はみがき", "はむ", "はむかう", "はめつ", "はやい", "はら", "はらう", "はり", "はる", "はれ", "はろうぃん", "はわい", "はんい", "はんえい", "はんえん", "はんおん", "はんかく", "はんかち", "はんきょう", "はんこ", "はんこう", "はんしゃ", "はんしん", "はんすう", "はんたい", "はんだん", "ぱんち", "ぱんつ", "はんてい", "はんてん", "はんとし", "はんのう", "はんぱ", "はんぶん", "はんぺん", "はんぼうき", "はんめい", "はんめん", "はんらん", "はんろん", "ひいき", "ひうん", "ひえる", "ひかく", "ひかり", "ひかん", "ひく", "ひくい", "ひけつ", "ひこうき", "ひこく", "ひざ", "ぴざ", "ひさい", "ひさしぶり", "ひさん", "ひし", "ひじ", "ひしょ", "ひじょう", "ひそか", "ひそむ", "ひたむき", "ひたる", "ひつぎ", "ひっこし", "ひっし", "ひっす", "ひつぜん", "ひつよう", "ひてい", "ひと", "ひとごみ", "ひな", "ひなん", "ひねる", "ひはん", "ひびく", "ひひょう", "ひふ", "ひほう", "ひま", "ひまん", "ひみつ", "ひめ", "ひめい", "ひめじし", "ひも", "ひやけ", "ひやす", "ひゆ", "ひよう", "びょうき", "ひらく", "ひりつ", "ひりょう", "ひる", "ひれい", "ひろい", "ひろう", "ひわ", "ひんかく", "ひんけつ", "ひんこん", "ひんし", "ひんしつ", "ひんしゅ", "ひんそう", "ぴんち", "ひんぱん", "びんぼう", "ふあん", "ふいうち", "ふうけい", "ふうせん", "ふうとう", "ふうふ", "ふえ", "ふえる", "ふおん", "ふか", "ふかい", "ふきん", "ふく", "ふくざつ", "ふこう", "ふさい", "ふざい", "ふしぎ", "ふじみ", "ふすま", "ふせい", "ふせぐ", "ふそく", "ふた", "ふたん", "ふち", "ふちょう", "ふつう", "ふっかつ", "ふっき", "ふっきん", "ふっこく", "ふとる", "ふとん", "ふね", "ふのう", "ふはい", "ふひょう", "ふへん", "ふまん", "ふみん", "ふむ", "ふめつ", "ふめん", "ふゆ", "ふよう", "ふりこ", "ふりる", "ふる", "ふるい", "ふろ", "ふんいき", "ふんか", "ぶんか", "ぶんぐ", "ふんしつ", "ぶんせき", "ふんそう", "へい", "へいき", "へいさ", "へいわ", "へきが", "へこむ", "へそ", "へた", "べつ", "べっど", "ぺっと", "へび", "へや", "へる", "へんか", "へんかん", "へんきゃく", "へんきん", "へんさい", "へんたい", "ほあん", "ほいく", "ほうほう", "ほえる", "ほおん", "ほかん", "ほきょう", "ぼきん", "ほくろ", "ほけつ", "ほけん", "ほこう", "ほこる", "ほさ", "ほし", "ほしつ", "ほしゅ", "ほしょう", "ほす", "ほせい", "ぼせい", "ほそい", "ほそく", "ほたて", "ほたる", "ぼち", "ほっきょく", "ほっさ", "ほったん", "ほとんど", "ほめる", "ほる", "ほんい", "ほんき", "ほんけ", "ほんしつ", "まいにち", "まう", "まかい", "まかせる", "まく", "まける", "まこと", "まさつ", "ますく", "まぜる", "まち", "まつ", "まつり", "まとめ", "まなぶ", "まぬけ", "まね", "まねく", "まひ", "まほう", "まめ", "まもる", "まゆげ", "まよう", "まる", "まろやか", "まわす", "まわり", "まんが", "まんかい", "まんきつ", "まんぞく", "みいら", "みうち", "みかた", "みかん", "みぎ", "みけん", "みこん", "みすい", "みすえる", "みせ", "みそ", "みち", "みてい", "みとめる", "みなみかさい", "みねらる", "みのう", "みほん", "みみ", "みもと", "みやげ", "みらい", "みりょく", "みる", "みわく", "むえき", "むえん", "むかし", "むく", "むこ", "むさぼる", "むし", "むすこ", "むすめ", "むせる", "むせん", "むだ", "むち", "むなしい", "むね", "むのう", "むやみ", "むよう", "むら", "むり", "むりょう", "むれ", "むろん", "もうどうけん", "もえる", "もぎ", "もくし", "もくてき", "もし", "もんく", "もんだい", "やすい", "やすみ", "やそう", "やたい", "やちん", "やね", "やぶる", "やま", "やみ", "やめる", "ややこしい", "やよい", "やり", "やわらかい", "ゆけつ", "ゆしゅつ", "ゆせん", "ゆそう", "ゆたか", "ゆちゃく", "ゆでる", "ゆび", "ゆびわ", "ゆめ", "ゆれる", "よう", "よかぜ", "よかん", "よきん", "よくせい", "よくぼう", "よけい", "よさん", "よそう", "よそく", "よち", "よてい", "よどがわく", "よねつ", "よむ", "よめ", "よやく", "よゆう", "よる", "よろこぶ", "らいう", "らくがき", "らくご", "らくさつ", "らくだ", "らくたん", "らしんばん", "らせん", "らぞく", "らたい", "らち", "らっか", "らっかせい", "られつ", "りえき", "りか", "りかい", "りきさく", "りきせつ", "りく", "りくぐん", "りくつ", "りけん", "りこう", "りし", "りす", "りせい", "りそう", "りそく", "りてん", "りねん", "りゅう", "りゆう", "りゅうがく", "りゅうこう", "りゅうし", "りゅうねん", "りよう", "りょうかい", "りょうきん", "りょうしん", "りょうて", "りょうど", "りょうほう", "りょうり", "りりく", "りれき", "りろん", "りんご", "るいじ", "るす", "れいかん", "れいぎ", "れいせい", "れいぞうこ", "れいとう", "れきし", "れきだい", "れんあい", "れんけい", "れんけつ", "れんこう", "れんこん", "れんさ", "れんさい", "れんさく", "れんしゃ", "れんしゅう", "れんぞく", "ろうか", "ろうご", "ろうじん", "ろうそく", "ろか", "ろくが", "ろこつ", "ろしゅつ", "ろせん", "ろてん", "ろめん", "ろれつ", "ろんぎ", "ろんぱ", "ろんぶん", "ろんり", "わじまし" ); return word_list; } std::unordered_map& word_map_japanese() { static std::unordered_map word_map; if (word_map.size() > 0) { return word_map; } std::vector word_list = word_list_japanese(); int ii; std::vector::iterator it; for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) { word_map[*it] = ii; } return word_map; } std::unordered_map& trimmed_word_map_japanese() { static std::unordered_map trimmed_word_map; if (trimmed_word_map.size() > 0) { return trimmed_word_map; } std::vector word_list = word_list_japanese(); int ii; std::vector::iterator it; for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) { if (it->length() > 4) { trimmed_word_map[it->substr(0, 4)] = ii; } else { trimmed_word_map[*it] = ii; } } return trimmed_word_map; }