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.*;
import java.awt.geom.*;

public class Main{
	String [][] table = {
			{"wa", "", "nn", "", "wo"},
			{"a", "i", "u", "e", "o"},
			{"ka", "ki", "ku", "ke", "ko"},
			{"sa", "si", "su", "se", "so"},
			{"ta", "ti", "tu", "te", "to"},
			{"na", "ni", "nu", "ne", "no"},
			{"ha", "hi", "hu", "he", "ho"},
			{"ma", "mi", "mu", "me", "mo"},
			{"ya", "", "yu", "", "yo"},
			{"ra", "ri", "ru", "re", "ro"},
			
	};
	String order = "TLURD";

	private void doit(){
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()){
			String s = sc.next();
			for(int i = 0; i < s.length(); i += 2){
				char c1 = s.charAt(i);
				char c2 = s.charAt(i + 1);
				int num1 = c1 - '0';
				int num2 = order.indexOf(c2 + "");
				System.out.print(table[num1][num2]);
			}
			System.out.println();
		}
	}
	
	private void debug(Object... o) {
		System.out.println("debug = " + Arrays.deepToString(o));
	}

	public static void main(String[] args) {
		new Main().doit();
	}
}