﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/plurals.xml, ordinals.xml
// *
// ***************************************************************************
plurals:table(nofallback){
    locales{
        af{"set8"}
        ak{"set5"}
        am{"set1"}
        ar{"set34"}
        as{"set1"}
        asa{"set8"}
        ast{"set3"}
        az{"set8"}
        be{"set27"}
        bem{"set8"}
        bez{"set8"}
        bg{"set8"}
        bh{"set5"}
        bm{"set0"}
        bn{"set1"}
        bo{"set0"}
        br{"set31"}
        brx{"set8"}
        bs{"set20"}
        ca{"set3"}
        ce{"set8"}
        cgg{"set8"}
        chr{"set8"}
        ckb{"set8"}
        cs{"set25"}
        cy{"set35"}
        da{"set10"}
        de{"set3"}
        dsb{"set23"}
        dv{"set8"}
        dz{"set0"}
        ee{"set8"}
        el{"set8"}
        en{"set3"}
        eo{"set8"}
        es{"set8"}
        et{"set3"}
        eu{"set8"}
        fa{"set1"}
        ff{"set2"}
        fi{"set3"}
        fil{"set13"}
        fo{"set8"}
        fr{"set2"}
        fur{"set8"}
        fy{"set3"}
        ga{"set32"}
        gd{"set21"}
        gl{"set3"}
        gsw{"set8"}
        gu{"set1"}
        guw{"set5"}
        gv{"set33"}
        ha{"set8"}
        haw{"set8"}
        he{"set24"}
        hi{"set1"}
        hr{"set20"}
        hsb{"set23"}
        hu{"set8"}
        hy{"set2"}
        id{"set0"}
        ig{"set0"}
        ii{"set0"}
        in{"set0"}
        is{"set11"}
        it{"set3"}
        iu{"set17"}
        iw{"set24"}
        ja{"set0"}
        jbo{"set0"}
        jgo{"set8"}
        ji{"set3"}
        jmc{"set8"}
        jv{"set0"}
        jw{"set0"}
        ka{"set8"}
        kab{"set2"}
        kaj{"set8"}
        kcg{"set8"}
        kde{"set0"}
        kea{"set0"}
        kk{"set8"}
        kkj{"set8"}
        kl{"set8"}
        km{"set0"}
        kn{"set1"}
        ko{"set0"}
        ks{"set8"}
        ksb{"set8"}
        ksh{"set16"}
        ku{"set8"}
        kw{"set17"}
        ky{"set8"}
        lag{"set15"}
        lb{"set8"}
        lg{"set8"}
        lkt{"set0"}
        ln{"set5"}
        lo{"set0"}
        lt{"set28"}
        lv{"set14"}
        mas{"set8"}
        mg{"set5"}
        mgo{"set8"}
        mk{"set12"}
        ml{"set8"}
        mn{"set8"}
        mo{"set19"}
        mr{"set1"}
        ms{"set0"}
        mt{"set29"}
        my{"set0"}
        nah{"set8"}
        naq{"set17"}
        nb{"set8"}
        nd{"set8"}
        ne{"set8"}
        nl{"set3"}
        nn{"set8"}
        nnh{"set8"}
        no{"set8"}
        nqo{"set0"}
        nr{"set8"}
        nso{"set5"}
        ny{"set8"}
        nyn{"set8"}
        om{"set8"}
        or{"set8"}
        os{"set8"}
        pa{"set5"}
        pap{"set8"}
        pl{"set26"}
        prg{"set14"}
        ps{"set8"}
        pt{"set7"}
        pt_PT{"set9"}
        rm{"set8"}
        ro{"set19"}
        rof{"set8"}
        root{"set0"}
        ru{"set30"}
        rwk{"set8"}
        sah{"set0"}
        saq{"set8"}
        se{"set17"}
        seh{"set8"}
        ses{"set0"}
        sg{"set0"}
        sh{"set20"}
        shi{"set18"}
        si{"set4"}
        sk{"set25"}
        sl{"set22"}
        sma{"set17"}
        smi{"set17"}
        smj{"set17"}
        smn{"set17"}
        sms{"set17"}
        sn{"set8"}
        so{"set8"}
        sq{"set8"}
        sr{"set20"}
        ss{"set8"}
        ssy{"set8"}
        st{"set8"}
        sv{"set3"}
        sw{"set3"}
        syr{"set8"}
        ta{"set8"}
        te{"set8"}
        teo{"set8"}
        th{"set0"}
        ti{"set5"}
        tig{"set8"}
        tk{"set8"}
        tl{"set13"}
        tn{"set8"}
        to{"set0"}
        tr{"set8"}
        ts{"set8"}
        tzm{"set6"}
        ug{"set8"}
        uk{"set30"}
        ur{"set3"}
        uz{"set8"}
        ve{"set8"}
        vi{"set0"}
        vo{"set8"}
        vun{"set8"}
        wa{"set5"}
        wae{"set8"}
        wo{"set0"}
        xh{"set8"}
        xog{"set8"}
        yi{"set3"}
        yo{"set0"}
        zh{"set0"}
        zu{"set1"}
    }
    locales_ordinals{
        af{"set36"}
        am{"set36"}
        ar{"set36"}
        as{"set52"}
        az{"set50"}
        bg{"set36"}
        bn{"set52"}
        bs{"set36"}
        ca{"set48"}
        ce{"set36"}
        cs{"set36"}
        cy{"set53"}
        da{"set36"}
        de{"set36"}
        dsb{"set36"}
        el{"set36"}
        en{"set46"}
        es{"set36"}
        et{"set36"}
        eu{"set36"}
        fa{"set36"}
        fi{"set36"}
        fil{"set38"}
        fr{"set38"}
        fy{"set36"}
        gl{"set36"}
        gu{"set51"}
        he{"set36"}
        hi{"set51"}
        hr{"set36"}
        hsb{"set36"}
        hu{"set39"}
        hy{"set38"}
        id{"set36"}
        in{"set36"}
        is{"set36"}
        it{"set43"}
        iw{"set36"}
        ja{"set36"}
        ka{"set44"}
        kk{"set42"}
        km{"set36"}
        kn{"set36"}
        ko{"set36"}
        ky{"set36"}
        lo{"set38"}
        lt{"set36"}
        lv{"set36"}
        mk{"set49"}
        ml{"set36"}
        mn{"set36"}
        mo{"set38"}
        mr{"set47"}
        ms{"set38"}
        my{"set36"}
        nb{"set36"}
        ne{"set40"}
        nl{"set36"}
        pa{"set36"}
        pl{"set36"}
        prg{"set36"}
        pt{"set36"}
        ro{"set38"}
        root{"set36"}
        ru{"set36"}
        sh{"set36"}
        si{"set36"}
        sk{"set36"}
        sl{"set36"}
        sq{"set45"}
        sr{"set36"}
        sv{"set37"}
        sw{"set36"}
        ta{"set36"}
        te{"set36"}
        th{"set36"}
        tl{"set38"}
        tr{"set36"}
        uk{"set41"}
        ur{"set36"}
        uz{"set36"}
        vi{"set38"}
        zh{"set36"}
        zu{"set36"}
    }
    rules{
        set0{
            other{
                " @integer 0~15, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1."
                "5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
        set1{
            one{"i = 0 or n = 1 @integer 0, 1 @decimal 0.0~1.0, 0.00~0.04"}
            other{
                " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 1.1~2."
                "6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
        set10{
            one{"n = 1 or t != 0 and i = 0,1 @integer 1 @decimal 0.1~1.6"}
            other{
                " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0"
                ", 2.0~3.4, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
        set11{
            one{
                "t = 0 and i % 10 = 1 and i % 100 != 11 or t != 0 @integer 1, 21, 31,"
                " 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1~1.6, 10.1, 100.1, 100"
                "0.1, …"
            }
            other{
                " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0"
                ", 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 100.0, 1000.0, 10000.0, 1"
                "00000.0, 1000000.0, …"
            }
        }
        set12{
            one{
                "v = 0 and i % 10 = 1 or f % 10 = 1 @integer 1, 11, 21, 31, 41, 51, 6"
                "1, 71, 101, 1001, … @decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1,"
                " 10.1, 100.1, 1000.1, …"
            }
            other{
                " @integer 0, 2~10, 12~17, 100, 1000, 10000, 100000, 1000000, … @deci"
                "mal 0.0, 0.2~1.0, 1.2~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1"
                "000000.0, …"
            }
        }
        set13{
            one{
                "v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 1"
                "0 != 4,6,9 @integer 0~3, 5, 7, 8, 10~13, 15, 17, 18, 20, 21, 100, 10"
                "00, 10000, 100000, 1000000, … @decimal 0.0~0.3, 0.5, 0.7, 0.8, 1.0~1"
                ".3, 1.5, 1.7, 1.8, 2.0, 2.1, 10.0, 100.0, 1000.0, 10000.0, 100000.0,"
                " 1000000.0, …"
            }
            other{
                " @integer 4, 6, 9, 14, 16, 19, 24, 26, 104, 1004, … @decimal 0.4, 0."
                "6, 0.9, 1.4, 1.6, 1.9, 2.4, 2.6, 10.4, 100.4, 1000.4, …"
            }
        }
        set14{
            one{
                "n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != "
                "11 or v != 2 and f % 10 = 1 @integer 1, 21, 31, 41, 51, 61, 71, 81, "
                "101, 1001, … @decimal 0.1, 1.0, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 1"
                "0.1, 100.1, 1000.1, …"
            }
            other{
                " @integer 2~9, 22~29, 102, 1002, … @decimal 0.2~0.9, 1.2~1.9, 10.2, "
                "100.2, 1000.2, …"
            }
            zero{
                "n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19 @intege"
                "r 0, 10~20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 1000000, … @de"
                "cimal 0.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 100.0, 1000.0, "
                "10000.0, 100000.0, 1000000.0, …"
            }
        }
        set15{
            one{"i = 0,1 and n != 0 @integer 1 @decimal 0.1~1.6"}
            other{
                " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 2.0~3."
                "5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
            zero{"n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000"}
        }
        set16{
            one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"}
            other{
                " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0."
                "9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
            zero{"n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000"}
        }
        set17{
            one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"}
            other{
                " @integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0"
                "~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
            two{"n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000"}
        }
        set18{
            few{
                "n = 2..10 @integer 2~10 @decimal 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, "
                "9.0, 10.0, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00"
            }
            one{"i = 0 or n = 1 @integer 0, 1 @decimal 0.0~1.0, 0.00~0.04"}
            other{
                " @integer 11~26, 100, 1000, 10000, 100000, 1000000, … @decimal 1.1~1"
                ".9, 2.1~2.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
        set19{
            few{
                "v != 0 or n = 0 or n != 1 and n % 100 = 1..19 @integer 0, 2~16, 101,"
                " 1001, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1"
                "000000.0, …"
            }
            one{"i = 1 and v = 0 @integer 1"}
            other{" @integer 20~35, 100, 1000, 10000, 100000, 1000000, …"}
        }
        set2{
            one{"i = 0,1 @integer 0, 1 @decimal 0.0~1.5"}
            other{
                " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 2.0~3."
                "5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
        set20{
            few{
                "v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f"
                " % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, "
                "1002, … @decimal 0.2~0.4, 1.2~1.4, 2.2~2.4, 3.2~3.4, 4.2~4.4, 5.2, 1"
                "0.2, 100.2, 1000.2, …"
            }
            one{
                "v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != "
                "11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1"
                ", 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …"
            }
            other{
                " @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0"
                ", 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0,"
                " 1000000.0, …"
            }
        }
        set21{
            few{
                "n = 3..10,13..19 @integer 3~10, 13~19 @decimal 3.0, 4.0, 5.0, 6.0, 7"
                ".0, 8.0, 9.0, 10.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 3.00"
            }
            one{
                "n = 1,11 @integer 1, 11 @decimal 1.0, 11.0, 1.00, 11.00, 1.000, 11.0"
                "00, 1.0000"
            }
            other{
                " @integer 0, 20~34, 100, 1000, 10000, 100000, 1000000, … @decimal 0."
                "0~0.9, 1.1~1.6, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
            two{
                "n = 2,12 @integer 2, 12 @decimal 2.0, 12.0, 2.00, 12.00, 2.000, 12.0"
                "00, 2.0000"
            }
        }
        set22{
            few{
                "v = 0 and i % 100 = 3..4 or v != 0 @integer 3, 4, 103, 104, 203, 204"
                ", 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, … @decimal"
                " 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
            one{
                "v = 0 and i % 100 = 1 @integer 1, 101, 201, 301, 401, 501, 601, 701,"
                " 1001, …"
            }
            other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"}
            two{
                "v = 0 and i % 100 = 2 @integer 2, 102, 202, 302, 402, 502, 602, 702,"
                " 1002, …"
            }
        }
        set23{
            few{
                "v = 0 and i % 100 = 3..4 or f % 100 = 3..4 @integer 3, 4, 103, 104, "
                "203, 204, 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, … "
                "@decimal 0.3, 0.4, 1.3, 1.4, 2.3, 2.4, 3.3, 3.4, 4.3, 4.4, 5.3, 5.4,"
                " 6.3, 6.4, 7.3, 7.4, 10.3, 100.3, 1000.3, …"
            }
            one{
                "v = 0 and i % 100 = 1 or f % 100 = 1 @integer 1, 101, 201, 301, 401,"
                " 501, 601, 701, 1001, … @decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, "
                "7.1, 10.1, 100.1, 1000.1, …"
            }
            other{
                " @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0"
                ", 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0,"
                " 1000000.0, …"
            }
            two{
                "v = 0 and i % 100 = 2 or f % 100 = 2 @integer 2, 102, 202, 302, 402,"
                " 502, 602, 702, 1002, … @decimal 0.2, 1.2, 2.2, 3.2, 4.2, 5.2, 6.2, "
                "7.2, 10.2, 100.2, 1000.2, …"
            }
        }
        set24{
            many{
                "v = 0 and n != 0..10 and n % 10 = 0 @integer 20, 30, 40, 50, 60, 70,"
                " 80, 90, 100, 1000, 10000, 100000, 1000000, …"
            }
            one{"i = 1 and v = 0 @integer 1"}
            other{
                " @integer 0, 3~17, 101, 1001, … @decimal 0.0~1.5, 10.0, 100.0, 1000."
                "0, 10000.0, 100000.0, 1000000.0, …"
            }
            two{"i = 2 and v = 0 @integer 2"}
        }
        set25{
            few{"i = 2..4 and v = 0 @integer 2~4"}
            many{
                "v != 0   @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1"
                "000000.0, …"
            }
            one{"i = 1 and v = 0 @integer 1"}
            other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"}
        }
        set26{
            few{
                "v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 3"
                "2~34, 42~44, 52~54, 62, 102, 1002, …"
            }
            many{
                "v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v ="
                " 0 and i % 100 = 12..14 @integer 0, 5~19, 100, 1000, 10000, 100000, "
                "1000000, …"
            }
            one{"i = 1 and v = 0 @integer 1"}
            other{
                "   @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000"
                ".0, …"
            }
        }
        set27{
            few{
                "n % 10 = 2..4 and n % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~4"
                "4, 52~54, 62, 102, 1002, … @decimal 2.0, 3.0, 4.0, 22.0, 23.0, 24.0,"
                " 32.0, 33.0, 102.0, 1002.0, …"
            }
            many{
                "n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14 @integer 0, 5~19, 10"
                "0, 1000, 10000, 100000, 1000000, … @decimal 0.0, 5.0, 6.0, 7.0, 8.0,"
                " 9.0, 10.0, 11.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
            one{
                "n % 10 = 1 and n % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81,"
                " 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, 81.0"
                ", 101.0, 1001.0, …"
            }
            other{"   @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.1, 1000.1, …"}
        }
        set28{
            few{
                "n % 10 = 2..9 and n % 100 != 11..19 @integer 2~9, 22~29, 102, 1002, "
                "… @decimal 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 22.0, 102.0, 1002"
                ".0, …"
            }
            many{"f != 0   @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.1, 1000.1, …"}
            one{
                "n % 10 = 1 and n % 100 != 11..19 @integer 1, 21, 31, 41, 51, 61, 71,"
                " 81, 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, "
                "81.0, 101.0, 1001.0, …"
            }
            other{
                " @integer 0, 10~20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 100000"
                "0, … @decimal 0.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 100.0, "
                "1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
        set29{
            few{
                "n = 0 or n % 100 = 2..10 @integer 0, 2~10, 102~107, 1002, … @decimal"
                " 0.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 102.0, 1002.0, …"
            }
            many{
                "n % 100 = 11..19 @integer 11~19, 111~117, 1011, … @decimal 11.0, 12."
                "0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …"
            }
            one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"}
            other{
                " @integer 20~35, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0"
                ".9, 1.1~1.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
        set3{
            one{"i = 1 and v = 0 @integer 1"}
            other{
                " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0"
                "~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
        set30{
            few{
                "v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 3"
                "2~34, 42~44, 52~54, 62, 102, 1002, …"
            }
            many{
                "v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100"
                " = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"
            }
            one{
                "v = 0 and i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 6"
                "1, 71, 81, 101, 1001, …"
            }
            other{
                "   @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000"
                ".0, …"
            }
        }
        set31{
            few{
                "n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99 @integer 3, 4, 9"
                ", 23, 24, 29, 33, 34, 39, 43, 44, 49, 103, 1003, … @decimal 3.0, 4.0"
                ", 9.0, 23.0, 24.0, 29.0, 33.0, 34.0, 103.0, 1003.0, …"
            }
            many{
                "n != 0 and n % 1000000 = 0 @integer 1000000, … @decimal 1000000.0, 1"
                "000000.00, 1000000.000, …"
            }
            one{
                "n % 10 = 1 and n % 100 != 11,71,91 @integer 1, 21, 31, 41, 51, 61, 8"
                "1, 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 81.0, 10"
                "1.0, 1001.0, …"
            }
            other{
                " @integer 0, 5~8, 10~20, 100, 1000, 10000, 100000, … @decimal 0.0~0."
                "9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, …"
            }
            two{
                "n % 10 = 2 and n % 100 != 12,72,92 @integer 2, 22, 32, 42, 52, 62, 8"
                "2, 102, 1002, … @decimal 2.0, 22.0, 32.0, 42.0, 52.0, 62.0, 82.0, 10"
                "2.0, 1002.0, …"
            }
        }
        set32{
            few{
                "n = 3..6 @integer 3~6 @decimal 3.0, 4.0, 5.0, 6.0, 3.00, 4.00, 5.00,"
                " 6.00, 3.000, 4.000, 5.000, 6.000, 3.0000, 4.0000, 5.0000, 6.0000"
            }
            many{
                "n = 7..10 @integer 7~10 @decimal 7.0, 8.0, 9.0, 10.0, 7.00, 8.00, 9."
                "00, 10.00, 7.000, 8.000, 9.000, 10.000, 7.0000, 8.0000, 9.0000, 10.0"
                "000"
            }
            one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"}
            other{
                " @integer 0, 11~25, 100, 1000, 10000, 100000, 1000000, … @decimal 0."
                "0~0.9, 1.1~1.6, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
            two{"n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000"}
        }
        set33{
            few{
                "v = 0 and i % 100 = 0,20,40,60,80 @integer 0, 20, 40, 60, 80, 100, 1"
                "20, 140, 1000, 10000, 100000, 1000000, …"
            }
            many{
                "v != 0   @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1"
                "000000.0, …"
            }
            one{
                "v = 0 and i % 10 = 1 @integer 1, 11, 21, 31, 41, 51, 61, 71, 101, 10"
                "01, …"
            }
            other{" @integer 3~10, 13~19, 23, 103, 1003, …"}
            two{
                "v = 0 and i % 10 = 2 @integer 2, 12, 22, 32, 42, 52, 62, 72, 102, 10"
                "02, …"
            }
        }
        set34{
            few{
                "n % 100 = 3..10 @integer 3~10, 103~110, 1003, … @decimal 3.0, 4.0, 5"
                ".0, 6.0, 7.0, 8.0, 9.0, 10.0, 103.0, 1003.0, …"
            }
            many{
                "n % 100 = 11..99 @integer 11~26, 111, 1011, … @decimal 11.0, 12.0, 1"
                "3.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …"
            }
            one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"}
            other{
                " @integer 100~102, 200~202, 300~302, 400~402, 500~502, 600, 1000, 10"
                "000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.0, 1000"
                ".0, 10000.0, 100000.0, 1000000.0, …"
            }
            two{"n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000"}
            zero{"n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000"}
        }
        set35{
            few{"n = 3 @integer 3 @decimal 3.0, 3.00, 3.000, 3.0000"}
            many{"n = 6 @integer 6 @decimal 6.0, 6.00, 6.000, 6.0000"}
            one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"}
            other{
                " @integer 4, 5, 7~20, 100, 1000, 10000, 100000, 1000000, … @decimal "
                "0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0,"
                " …"
            }
            two{"n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000"}
            zero{"n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000"}
        }
        set36{
            other{" @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"}
        }
        set37{
            one{
                "n % 10 = 1,2 and n % 100 != 11,12 @integer 1, 2, 21, 22, 31, 32, 41,"
                " 42, 51, 52, 61, 62, 71, 72, 81, 82, 101, 1001, …"
            }
            other{" @integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, …"}
        }
        set38{
            one{"n = 1 @integer 1"}
            other{" @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …"}
        }
        set39{
            one{"n = 1,5 @integer 1, 5"}
            other{" @integer 0, 2~4, 6~17, 100, 1000, 10000, 100000, 1000000, …"}
        }
        set4{
            one{
                "n = 0,1 or i = 0 and f = 1 @integer 0, 1 @decimal 0.0, 0.1, 1.0, 0.0"
                "0, 0.01, 1.00, 0.000, 0.001, 1.000, 0.0000, 0.0001, 1.0000"
            }
            other{
                " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.2~0."
                "9, 1.1~1.8, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
        set40{
            one{"n = 1..4 @integer 1~4"}
            other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"}
        }
        set41{
            few{
                "n % 10 = 3 and n % 100 != 13 @integer 3, 23, 33, 43, 53, 63, 73, 83,"
                " 103, 1003, …"
            }
            other{" @integer 0~2, 4~16, 100, 1000, 10000, 100000, 1000000, …"}
        }
        set42{
            many{
                "n % 10 = 6 or n % 10 = 9 or n % 10 = 0 and n != 0 @integer 6, 9, 10,"
                " 16, 19, 20, 26, 29, 30, 36, 39, 40, 100, 1000, 10000, 100000, 10000"
                "00, …"
            }
            other{" @integer 0~5, 7, 8, 11~15, 17, 18, 21, 101, 1001, …"}
        }
        set43{
            many{"n = 11,8,80,800 @integer 8, 11, 80, 800"}
            other{" @integer 0~7, 9, 10, 12~17, 100, 1000, 10000, 100000, 1000000, …"}
        }
        set44{
            many{"i = 0 or i % 100 = 2..20,40,60,80 @integer 0, 2~16, 102, 1002, …"}
            one{"i = 1 @integer 1"}
            other{" @integer 21~36, 100, 1000, 10000, 100000, 1000000, …"}
        }
        set45{
            many{
                "n % 10 = 4 and n % 100 != 14 @integer 4, 24, 34, 44, 54, 64, 74, 84,"
                " 104, 1004, …"
            }
            one{"n = 1 @integer 1"}
            other{" @integer 0, 2, 3, 5~17, 100, 1000, 10000, 100000, 1000000, …"}
        }
        set46{
            few{
                "n % 10 = 3 and n % 100 != 13 @integer 3, 23, 33, 43, 53, 63, 73, 83,"
                " 103, 1003, …"
            }
            one{
                "n % 10 = 1 and n % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81,"
                " 101, 1001, …"
            }
            other{" @integer 0, 4~18, 100, 1000, 10000, 100000, 1000000, …"}
            two{
                "n % 10 = 2 and n % 100 != 12 @integer 2, 22, 32, 42, 52, 62, 72, 82,"
                " 102, 1002, …"
            }
        }
        set47{
            few{"n = 4 @integer 4"}
            one{"n = 1 @integer 1"}
            other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"}
            two{"n = 2,3 @integer 2, 3"}
        }
        set48{
            few{"n = 4 @integer 4"}
            one{"n = 1,3 @integer 1, 3"}
            other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"}
            two{"n = 2 @integer 2"}
        }
        set49{
            many{
                "i % 10 = 7,8 and i % 100 != 17,18 @integer 7, 8, 27, 28, 37, 38, 47,"
                " 48, 57, 58, 67, 68, 77, 78, 87, 88, 107, 1007, …"
            }
            one{
                "i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81,"
                " 101, 1001, …"
            }
            other{" @integer 0, 3~6, 9~19, 100, 1000, 10000, 100000, 1000000, …"}
            two{
                "i % 10 = 2 and i % 100 != 12 @integer 2, 22, 32, 42, 52, 62, 72, 82,"
                " 102, 1002, …"
            }
        }
        set5{
            one{
                "n = 0..1 @integer 0, 1 @decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, "
                "0.0000, 1.0000"
            }
            other{
                " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0."
                "9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
        set50{
            few{
                "i % 10 = 3,4 or i % 1000 = 100,200,300,400,500,600,700,800,900 @inte"
                "ger 3, 4, 13, 14, 23, 24, 33, 34, 43, 44, 53, 54, 63, 64, 73, 74, 10"
                "0, 1003, …"
            }
            many{
                "i = 0 or i % 10 = 6 or i % 100 = 40,60,90 @integer 0, 6, 16, 26, 36,"
                " 40, 46, 56, 106, 1006, …"
            }
            one{
                "i % 10 = 1,2,5,7,8 or i % 100 = 20,50,70,80 @integer 1, 2, 5, 7, 8, "
                "11, 12, 15, 17, 18, 20~22, 25, 101, 1001, …"
            }
            other{
                " @integer 9, 10, 19, 29, 30, 39, 49, 59, 69, 79, 109, 1000, 10000, 1"
                "00000, 1000000, …"
            }
        }
        set51{
            few{"n = 4 @integer 4"}
            many{"n = 6 @integer 6"}
            one{"n = 1 @integer 1"}
            other{" @integer 0, 5, 7~20, 100, 1000, 10000, 100000, 1000000, …"}
            two{"n = 2,3 @integer 2, 3"}
        }
        set52{
            few{"n = 4 @integer 4"}
            many{"n = 6 @integer 6"}
            one{"n = 1,5,7,8,9,10 @integer 1, 5, 7~10"}
            other{" @integer 0, 11~25, 100, 1000, 10000, 100000, 1000000, …"}
            two{"n = 2,3 @integer 2, 3"}
        }
        set53{
            few{"n = 3,4 @integer 3, 4"}
            many{"n = 5,6 @integer 5, 6"}
            one{"n = 1 @integer 1"}
            other{" @integer 10~25, 100, 1000, 10000, 100000, 1000000, …"}
            two{"n = 2 @integer 2"}
            zero{"n = 0,7,8,9 @integer 0, 7~9"}
        }
        set6{
            one{
                "n = 0..1 or n = 11..99 @integer 0, 1, 11~24 @decimal 0.0, 1.0, 11.0,"
                " 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 2"
                "3.0, 24.0"
            }
            other{
                " @integer 2~10, 100~106, 1000, 10000, 100000, 1000000, … @decimal 0."
                "1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
        set7{
            one{
                "n = 0..2 and n != 2 @integer 0, 1 @decimal 0.0, 1.0, 0.00, 1.00, 0.0"
                "00, 1.000, 0.0000, 1.0000"
            }
            other{
                " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0."
                "9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
        set8{
            one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"}
            other{
                " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0"
                "~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
        set9{
            one{"n = 1 and v = 0 @integer 1"}
            other{
                " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0"
                "~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
            }
        }
    }
}
