﻿// ***************************************************************************
// *
// * 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"}
        azb{"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"}
        sdh{"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, …"
            }
        }
    }
}
