//1082
#include <iostream>
#include<stdio.h>
#include<string>
#include<algorithm>
#include<string.h>
using namespace std;
int flag = 0, flag1 = 0;
//flag用于判断是否开始输出
//flag1用于判断是否已经输出过0了,避免重复 0;
char num[10][5] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
//用于输出亿以后的万 和最后四位的数量表示
//即x千x百x十x个
void prin(int n){
if(flag){
printf(" ");//已经开始输出了,所以加空格
}
if(n/1000){ //n>1000
printf("%s Qian",num[n/1000]);
flag = 1;
flag1 = 0;//给后面输出0 做标记,表示可以输出0 , 因为前面的不是0;
n %= 1000;
if(n){
printf(" ");
}else{
return;
}
}else{
if(flag == 1 && flag1 == 0){//已经开始输出了,但是紧跟着的前面没有输出过0
printf("%s ",num[0]);
}
}
if(n/100){ //n> 100
printf("%s Bai",num[n/100]);
flag = 1;
flag1 = 0;
n %= 100;
if(n){
printf(" ");
}else{
return;
}
}else{
if(flag == 1 && flag1 == 0){//已经开始输出了,但是紧跟着的前面没有输出过0
printf("%s ",num[0]);
flag1 = 1;
}
}
if(n/10){
printf("%s Shi",num[n/10]);
flag = 1;
flag1 = 0;
n%=10;
if(n){
printf(" ");
}else return;
}else{
if(flag == 1 && flag1 == 0){//已经开始输出了,但是紧跟着的前面没有输出过0
printf("%s ",num[0]);
flag1 = 1;
}
}
if(n){
printf("%s",num[n]);
flag = 1;
flag1 = 0;
return;
}
}
int main()
{
//freopen("1082.txt","r",stdin);
int n;
scanf("%d",&n);
if(n == 0) {//0
printf("ling");
return 0;
}//负数
if(n < 0){
printf("Fu ");//记得是大写的F
//不然会有两个点过不去
n = -n;
}//亿
if(n/100000000){
printf("%s Yi",num[n/100000000]);
n %= 100000000;
flag = 1;
}//万
if(n==0) return 0;
if(n/10000){
prin(n/10000);
n %= 10000;
printf(" Wan");
}
if(n==0) return 0;
prin(n);
//cout << "Hello world!" << endl;
return 0;
}