public static String wordForNumber(int n) {
        if (n == 1000)
            return wordForNumber(n / 1000) + " " + numbersToWords.get(1000);
        if (n / 100 > 0)
            return wordForNumber(n / 100) + " " + numbersToWords.get(100) + ((n % 100 == 0) ? "" : AND + wordForNumber(n % 100));
        if (n > 20 && n < 100)
            return numbersToWords.get((n / 10) * 10) + " " + ((n % 10 == 0) ? "" : numbersToWords.get(n % 10));
        if (n > 0 && n <= 20) return numbersToWords.get(n);
        return null;
    }