#include <iostream>
#include <string>
#include <vector>

using namespace std;

// 处理 0 - 19 的英文表述
const string ones[] = {"", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine",
                       "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen",
                       "seventeen", "eighteen", "nineteen"};
// 处理 20, 30, ..., 90 的英文表述
const string tens[] = {"", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
// 处理千、百万、十亿等单位
const string thousands[] = {"", "thousand", "million", "billion"};

// 处理 0 - 999 的英文表述
string convertHundreds(int num) {
    string result;
    if (num >= 100) {
        result += ones[num / 100] + " hundred";
        num %= 100;
        if (num) {
            result += " and ";
        }
    }
    if (num < 20) {
        result += ones[num];
    } else {
        result += tens[num / 10];
        if (num % 10) {
            result += " " + ones[num % 10];
        }
    }
    return result;
}

// 处理整个数字的英文表述
string numberToWords(int num) {
    if (num == 0) return "zero";
    string result;
    int i = 0;
    while (num > 0) {
        if (num % 1000) {
            if (!result.empty()) {
                result = " " + result;
            }
            result = convertHundreds(num % 1000) + (i ? " " + thousands[i] : "") + result;
        }
        num /= 1000;
        i++;
    }
    return result;
}

int main() {
    int n;
    cin >> n;
    cout << numberToWords(n) << endl;
    return 0;
}    
/**************************************************************
	Problem: 1126
	User: panyuchen
	Language: C++
	Result: Accepted
	Time:8 ms
	Memory:2080 kb
****************************************************************/