Problem:
Flick Input

A: フリック入力

二次元が大好きな大学生，通称2D君は，長年使用していたガラパゴス携帯からスマホに買いかえた．初めてスマホを操作した2D君は，文字入力の方式が，昔の携帯と少し違うことに気付いた．スマホでは，画面をタッチ・フリックできることを利用して，フリック入力という方式が採用されていたのである(フリックとは，「画面上で指を滑らせて弾く操作」を意味する)．フリック入力は，次に示すような文字入力方式である．

フリック入力では，図A(a)のように，0-9の10個のボタンにより入力を行う(#と*については，今回は省略している)．各ボタンには，図のようにあ行-わ行が1つずつ割り当てられている．

図A: スマホのボタン詳細

ある1つのボタンは，図A(b)に表す方法により操作することができる．つまり，

ボタンを「タッチ」するだけだと，そのボタンに対応する「あ段」の文字を出力

ボタンを「左に向かってフリック」すると，「い段」を出力

ボタンを「上に向かってフリック」すると，「う段」を出力

ボタンを「右に向かってフリック」すると，「え段」を出力

ボタンを「下に向かってフリック」すると，「お段」を出力

ということである．フリック入力の仕方を全てのボタンについて表すと図A(c)のようになる．「ん」を出力するためには，ボタン0を上側にフリックすることに注意してほしい．

あなたの仕事は，フリック入力の操作を示す文字列が与えられたとき，その操作の結果出力される文字列を求めることである．

Input

フリック入力の操作を表す文字列が，1行で与えられる(2文字以上1000文字以下)．この文字列は，操作するボタンを表す'0'-'9'の数字と，フリック方向を表す'T'，'L'，'U'，'R'，'D'の5種類の文字の組み合わせからなる．

フリック方向を表す文字は，次の意味を表す．

'T'：タッチするだけ

'L'：左にフリックする

'U'：上にフリックする

'R'：右にフリックする

'D'：下にフリックする

例えば，"2D"は，「2のボタンを下に向かってフリック」という操作を表すため，「こ」を出力することができる．

与えられる文字列は，数字1文字とフリック方向を表す1文字が交互に現れる．また，必ず数字1文字から始まり，フリック方向を表す1文字で終わる．さらに，図A(c)において，文字がない場所に向かってフリックを行うことはない("8L"などの入力はない)．

Output

フリック入力操作の結果を表す文字列をローマ字表記で出力せよ．

ローマ字の子音には，

か行：'k'

さ行：'s'

た行：'t'

な行：'n'

は行：'h'

ま行：'m'

や行：'y'

ら行：'r'

わ行：'w'

を使用すること．ひらがな1文字を表すローマ字は，上記で表される子音と母音（'a'，'i'，'u'，'e'，'o'）をセットにして2文字で出力すること．"shi"や"fu"はこの条件に反するため間違いである．ただし，「あ行」の文字は母音1文字だけを出力し，「ん」は'n'を2回続けて"nn"と出力すること．

文字列の最後には，改行を出力すること．

Sample Input 1

5R2D

Sample Output 1

neko

Sample Input 2

8U9U6U0T

Sample Output 2

yuruhuwa

Sample Input 3

9L4U7R1L2D0U4R3U4D

Sample Output 3

ritumeikonntesuto

Solution in JAVA (judge verdict: Accepted)

import java.util.Scanner;
public class Main{
	public static void main(String[] args){
        new Main().run();
    }
	String[][] in = {
			{"wa","nn","wo","",""},
			{"a","u","o","i","e"},
			{"ka","ku","ko","ki","ke"},
			{"sa","su","so","si","se"},
			{"ta","tu","to","ti","te"},
			{"na","nu","no","ni","ne"},
			{"ha","hu","ho","hi","he"},
			{"ma","mu","mo","mi","me"},
			{"ya","yu","yo","",""},
			{"ra","ru","ro","ri","re"}
	};
	public void run(){
		Scanner scan = new Scanner(System.in);
		while(scan.hasNext()){
			char[] fl = scan.nextLine().toCharArray();
			for(int i = 0;i < fl.length;i+=2){
				int c = 0;
				switch(fl[i+1]){
				case 'T':c = 0;break;
				case 'L':c = 3;break;
				case 'U':c = 1;break;
				case 'R':c = 4;break;
				case 'D':c = 2;break;
				default:break;
				}
				System.out.print(in[fl[i]-'0'][c]);
			}
			System.out.println();
		}
	}
}