// ***************************************************************************
// *
// *   Copyright (C) 2004-2007, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************
// 

pt {
    SpelloutRules {
    "%main:\n"
        "-x: menos >>;\n"
        "x.x: << ponto >>;\n"
        "zero; um; dois; tr\u00EAs; quatro; cinco; seis; sete; oito; nove;\n"
        "dez; onze; doze; treze; catorze; quinze; dezasseis;"
        "    dezassete; dezoito; dezanove;\n"
        "20: vinte[ e >>];\n"
        "30: trinta[ e >>];\n"
        "40: quarenta[ e >>];\n"
        "50: cinquenta[ e >>];\n"
        "60: sessenta[ e >>];\n"
        "70: setenta[ e >>];\n"
        "80: oitenta[ e >>];\n"
        "90: noventa[ e >>];\n"
        "100: cem;\n"
        "101: cento[ e >>];\n"
        "200: duzcentos[ e >>];\n"
        "300: trezentos[ e >>];\n"
        "400: quatrocentos[ e >>];\n"
        "500: quinhentos[ e >>];\n"
        "600: seiscentos[ e >>];\n"
        "700: setecentos[ e >>];\n"
        "800: oitocentos[ e >>];\n"
        "900: novecentos[ e >>];\n"
        "1000: mil[ >%%with-e>];\n"
        "2000: << mil[ >%%with-e>];\n"
        "1,000,000: um milh\u00E3o[ >%%with-e>];\n"
        "2,000,000: << milh\u00F5es[ >%%with-e>];\n"
        "1,000,000,000: um bilh\u00E3o[ >%%with-e>];\n"         
        "2,000,000,000: << bilh\u00F5es[ >%%with-e>];\n"     
        "1,000,000,000,000: =#,##0=;" 
    "%%with-e:\n"
        "zero; e um; e dois; e tr\u00EAs; e quatro; e cinco; e seis; e sete; e oito; e nove;\n"
        "e dez; e onze; e doze; e treze; e catorze; e quinze; e dezasseis;"
        "    e dezassete; e dezoito; e dezanove;\n"
        "20: e vinte; vinte[ e >%main>];\n"
        "30: e trinta; trinta[ e >%main>];\n"
        "40: e quarenta; quarenta[ e >%main>];\n"
        "50: e cinquenta; cinquenta[ e >%main>];\n"
        "60: e sessenta; sessenta[ e >%main>];\n"
        "70: e setenta; setenta[ e >%main>];\n"
        "80: e oitenta; oitenta[ e >%main>];\n"
        "90: e noventa; noventa[ e >%main>];\n"
        "100: e cem;\n"
        "101: cento[ e >%main>];\n"
        "200: e duzentos; duzcentos[ e >%main>];\n"
        "300: e trezentos; trezentos[ e >%main>];\n"
        "400: e quatrocentos; quatrocentos[ e >%main>];\n"
        "500: e quinhentos; quinhentos[ e >%main>];\n"
        "600: e seiscentos; seiscentos[ e >%main>];\n"
        "700: e setecentos; setecentos[ e >%main>];\n"
        "800: e oitocentos; oitocentos[ e >%main>];\n"
        "900: e novecentos; novecentos[ e >%main>];\n"
        "1000: e mil; mil[ >%%with-e>];\n"
        "2000: << mil[ >%%with-e>];\n"
        "1,000,000: um milh\u00E3o[ >%%with-e>];\n"
        "2,000,000: << milh\u00F5es[ >%%with-e>];\n"
        "1,000,000,000: um bilh\u00E3o[ >%%with-e>];\n"         
        "2,000,000,000: << bilh\u00F5es[ >%%with-e>];\n"     
        "1,000,000,000,000: =#,##0=;" 
    }
}
