1// © 2016 and later: Unicode, Inc. and others. 2// License & terms of use: http://www.unicode.org/copyright.html#License 3plurals:table(nofallback){ 4 locales{ 5 af{"set8"} 6 ak{"set6"} 7 am{"set1"} 8 ar{"set33"} 9 ars{"set33"} 10 as{"set1"} 11 asa{"set8"} 12 ast{"set4"} 13 az{"set8"} 14 be{"set26"} 15 bem{"set8"} 16 bez{"set8"} 17 bg{"set8"} 18 bh{"set6"} 19 bm{"set0"} 20 bn{"set1"} 21 bo{"set0"} 22 br{"set30"} 23 brx{"set8"} 24 bs{"set19"} 25 ca{"set4"} 26 ce{"set8"} 27 cgg{"set8"} 28 chr{"set8"} 29 ckb{"set8"} 30 cs{"set24"} 31 cy{"set34"} 32 da{"set9"} 33 de{"set4"} 34 dsb{"set22"} 35 dv{"set8"} 36 dz{"set0"} 37 ee{"set8"} 38 el{"set8"} 39 en{"set4"} 40 eo{"set8"} 41 es{"set8"} 42 et{"set4"} 43 eu{"set8"} 44 fa{"set1"} 45 ff{"set2"} 46 fi{"set4"} 47 fil{"set12"} 48 fo{"set8"} 49 fr{"set2"} 50 fur{"set8"} 51 fy{"set4"} 52 ga{"set31"} 53 gd{"set20"} 54 gl{"set4"} 55 gsw{"set8"} 56 gu{"set1"} 57 guw{"set6"} 58 gv{"set32"} 59 ha{"set8"} 60 haw{"set8"} 61 he{"set23"} 62 hi{"set1"} 63 hr{"set19"} 64 hsb{"set22"} 65 hu{"set8"} 66 hy{"set2"} 67 ia{"set4"} 68 id{"set0"} 69 ig{"set0"} 70 ii{"set0"} 71 in{"set0"} 72 io{"set4"} 73 is{"set10"} 74 it{"set4"} 75 iu{"set16"} 76 iw{"set23"} 77 ja{"set0"} 78 jbo{"set0"} 79 jgo{"set8"} 80 ji{"set4"} 81 jmc{"set8"} 82 jv{"set0"} 83 jw{"set0"} 84 ka{"set8"} 85 kab{"set2"} 86 kaj{"set8"} 87 kcg{"set8"} 88 kde{"set0"} 89 kea{"set0"} 90 kk{"set8"} 91 kkj{"set8"} 92 kl{"set8"} 93 km{"set0"} 94 kn{"set1"} 95 ko{"set0"} 96 ks{"set8"} 97 ksb{"set8"} 98 ksh{"set15"} 99 ku{"set8"} 100 kw{"set16"} 101 ky{"set8"} 102 lag{"set14"} 103 lb{"set8"} 104 lg{"set8"} 105 lkt{"set0"} 106 ln{"set6"} 107 lo{"set0"} 108 lt{"set27"} 109 lv{"set13"} 110 mas{"set8"} 111 mg{"set6"} 112 mgo{"set8"} 113 mk{"set11"} 114 ml{"set8"} 115 mn{"set8"} 116 mo{"set18"} 117 mr{"set1"} 118 ms{"set0"} 119 mt{"set28"} 120 my{"set0"} 121 nah{"set8"} 122 naq{"set16"} 123 nb{"set8"} 124 nd{"set8"} 125 ne{"set8"} 126 nl{"set4"} 127 nn{"set8"} 128 nnh{"set8"} 129 no{"set8"} 130 nqo{"set0"} 131 nr{"set8"} 132 nso{"set6"} 133 ny{"set8"} 134 nyn{"set8"} 135 om{"set8"} 136 or{"set8"} 137 os{"set8"} 138 pa{"set6"} 139 pap{"set8"} 140 pl{"set25"} 141 prg{"set13"} 142 ps{"set8"} 143 pt{"set3"} 144 pt_PT{"set4"} 145 rm{"set8"} 146 ro{"set18"} 147 rof{"set8"} 148 root{"set0"} 149 ru{"set29"} 150 rwk{"set8"} 151 sah{"set0"} 152 saq{"set8"} 153 sc{"set4"} 154 scn{"set4"} 155 sd{"set8"} 156 sdh{"set8"} 157 se{"set16"} 158 seh{"set8"} 159 ses{"set0"} 160 sg{"set0"} 161 sh{"set19"} 162 shi{"set17"} 163 si{"set5"} 164 sk{"set24"} 165 sl{"set21"} 166 sma{"set16"} 167 smi{"set16"} 168 smj{"set16"} 169 smn{"set16"} 170 sms{"set16"} 171 sn{"set8"} 172 so{"set8"} 173 sq{"set8"} 174 sr{"set19"} 175 ss{"set8"} 176 ssy{"set8"} 177 st{"set8"} 178 sv{"set4"} 179 sw{"set4"} 180 syr{"set8"} 181 ta{"set8"} 182 te{"set8"} 183 teo{"set8"} 184 th{"set0"} 185 ti{"set6"} 186 tig{"set8"} 187 tk{"set8"} 188 tl{"set12"} 189 tn{"set8"} 190 to{"set0"} 191 tr{"set8"} 192 ts{"set8"} 193 tzm{"set7"} 194 ug{"set8"} 195 uk{"set29"} 196 ur{"set4"} 197 uz{"set8"} 198 ve{"set8"} 199 vi{"set0"} 200 vo{"set8"} 201 vun{"set8"} 202 wa{"set6"} 203 wae{"set8"} 204 wo{"set0"} 205 xh{"set8"} 206 xog{"set8"} 207 yi{"set4"} 208 yo{"set0"} 209 yue{"set0"} 210 zh{"set0"} 211 zu{"set1"} 212 } 213 locales_ordinals{ 214 af{"set35"} 215 am{"set35"} 216 ar{"set35"} 217 as{"set54"} 218 az{"set52"} 219 be{"set40"} 220 bg{"set35"} 221 bn{"set54"} 222 bs{"set35"} 223 ca{"set49"} 224 ce{"set35"} 225 cs{"set35"} 226 cy{"set56"} 227 da{"set35"} 228 de{"set35"} 229 dsb{"set35"} 230 el{"set35"} 231 en{"set47"} 232 es{"set35"} 233 et{"set35"} 234 eu{"set35"} 235 fa{"set35"} 236 fi{"set35"} 237 fil{"set37"} 238 fr{"set37"} 239 fy{"set35"} 240 ga{"set37"} 241 gd{"set50"} 242 gl{"set35"} 243 gsw{"set35"} 244 gu{"set53"} 245 he{"set35"} 246 hi{"set53"} 247 hr{"set35"} 248 hsb{"set35"} 249 hu{"set38"} 250 hy{"set37"} 251 ia{"set35"} 252 id{"set35"} 253 in{"set35"} 254 is{"set35"} 255 it{"set44"} 256 iw{"set35"} 257 ja{"set35"} 258 ka{"set45"} 259 kk{"set43"} 260 km{"set35"} 261 kn{"set35"} 262 ko{"set35"} 263 ky{"set35"} 264 lo{"set37"} 265 lt{"set35"} 266 lv{"set35"} 267 mk{"set51"} 268 ml{"set35"} 269 mn{"set35"} 270 mo{"set37"} 271 mr{"set48"} 272 ms{"set37"} 273 my{"set35"} 274 nb{"set35"} 275 ne{"set39"} 276 nl{"set35"} 277 or{"set55"} 278 pa{"set35"} 279 pl{"set35"} 280 prg{"set35"} 281 ps{"set35"} 282 pt{"set35"} 283 ro{"set37"} 284 root{"set35"} 285 ru{"set35"} 286 sc{"set44"} 287 scn{"set44"} 288 sd{"set35"} 289 sh{"set35"} 290 si{"set35"} 291 sk{"set35"} 292 sl{"set35"} 293 sq{"set46"} 294 sr{"set35"} 295 sv{"set36"} 296 sw{"set35"} 297 ta{"set35"} 298 te{"set35"} 299 th{"set35"} 300 tk{"set42"} 301 tl{"set37"} 302 tr{"set35"} 303 uk{"set41"} 304 ur{"set35"} 305 uz{"set35"} 306 vi{"set37"} 307 yue{"set35"} 308 zh{"set35"} 309 zu{"set35"} 310 } 311 rules{ 312 set0{ 313 other{ 314 " @integer 0~15, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1." 315 "5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 316 } 317 } 318 set1{ 319 one{"i = 0 or n = 1 @integer 0, 1 @decimal 0.0~1.0, 0.00~0.04"} 320 other{ 321 " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 1.1~2." 322 "6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 323 } 324 } 325 set10{ 326 one{ 327 "t = 0 and i % 10 = 1 and i % 100 != 11 or t != 0 @integer 1, 21, 31," 328 " 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1~1.6, 10.1, 100.1, 100" 329 "0.1, …" 330 } 331 other{ 332 " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" 333 ", 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 100.0, 1000.0, 10000.0, 1" 334 "00000.0, 1000000.0, …" 335 } 336 } 337 set11{ 338 one{ 339 "v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != " 340 "11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1" 341 ", 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …" 342 } 343 other{ 344 " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" 345 ", 0.2~1.0, 1.2~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000." 346 "0, …" 347 } 348 } 349 set12{ 350 one{ 351 "v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 1" 352 "0 != 4,6,9 @integer 0~3, 5, 7, 8, 10~13, 15, 17, 18, 20, 21, 100, 10" 353 "00, 10000, 100000, 1000000, … @decimal 0.0~0.3, 0.5, 0.7, 0.8, 1.0~1" 354 ".3, 1.5, 1.7, 1.8, 2.0, 2.1, 10.0, 100.0, 1000.0, 10000.0, 100000.0," 355 " 1000000.0, …" 356 } 357 other{ 358 " @integer 4, 6, 9, 14, 16, 19, 24, 26, 104, 1004, … @decimal 0.4, 0." 359 "6, 0.9, 1.4, 1.6, 1.9, 2.4, 2.6, 10.4, 100.4, 1000.4, …" 360 } 361 } 362 set13{ 363 one{ 364 "n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != " 365 "11 or v != 2 and f % 10 = 1 @integer 1, 21, 31, 41, 51, 61, 71, 81, " 366 "101, 1001, … @decimal 0.1, 1.0, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 1" 367 "0.1, 100.1, 1000.1, …" 368 } 369 other{ 370 " @integer 2~9, 22~29, 102, 1002, … @decimal 0.2~0.9, 1.2~1.9, 10.2, " 371 "100.2, 1000.2, …" 372 } 373 zero{ 374 "n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19 @intege" 375 "r 0, 10~20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 1000000, … @de" 376 "cimal 0.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 100.0, 1000.0, " 377 "10000.0, 100000.0, 1000000.0, …" 378 } 379 } 380 set14{ 381 one{"i = 0,1 and n != 0 @integer 1 @decimal 0.1~1.6"} 382 other{ 383 " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 2.0~3." 384 "5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 385 } 386 zero{"n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000"} 387 } 388 set15{ 389 one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} 390 other{ 391 " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0." 392 "9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 393 } 394 zero{"n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000"} 395 } 396 set16{ 397 one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} 398 other{ 399 " @integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" 400 "~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 401 } 402 two{"n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000"} 403 } 404 set17{ 405 few{ 406 "n = 2..10 @integer 2~10 @decimal 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, " 407 "9.0, 10.0, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00" 408 } 409 one{"i = 0 or n = 1 @integer 0, 1 @decimal 0.0~1.0, 0.00~0.04"} 410 other{ 411 " @integer 11~26, 100, 1000, 10000, 100000, 1000000, … @decimal 1.1~1" 412 ".9, 2.1~2.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 413 } 414 } 415 set18{ 416 few{ 417 "v != 0 or n = 0 or n != 1 and n % 100 = 1..19 @integer 0, 2~16, 101," 418 " 1001, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1" 419 "000000.0, …" 420 } 421 one{"i = 1 and v = 0 @integer 1"} 422 other{" @integer 20~35, 100, 1000, 10000, 100000, 1000000, …"} 423 } 424 set19{ 425 few{ 426 "v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f" 427 " % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, " 428 "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" 429 "0.2, 100.2, 1000.2, …" 430 } 431 one{ 432 "v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != " 433 "11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1" 434 ", 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, …" 435 } 436 other{ 437 " @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" 438 ", 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0," 439 " 1000000.0, …" 440 } 441 } 442 set2{ 443 one{"i = 0,1 @integer 0, 1 @decimal 0.0~1.5"} 444 other{ 445 " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 2.0~3." 446 "5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 447 } 448 } 449 set20{ 450 few{ 451 "n = 3..10,13..19 @integer 3~10, 13~19 @decimal 3.0, 4.0, 5.0, 6.0, 7" 452 ".0, 8.0, 9.0, 10.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 3.00" 453 } 454 one{ 455 "n = 1,11 @integer 1, 11 @decimal 1.0, 11.0, 1.00, 11.00, 1.000, 11.0" 456 "00, 1.0000" 457 } 458 other{ 459 " @integer 0, 20~34, 100, 1000, 10000, 100000, 1000000, … @decimal 0." 460 "0~0.9, 1.1~1.6, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 461 } 462 two{ 463 "n = 2,12 @integer 2, 12 @decimal 2.0, 12.0, 2.00, 12.00, 2.000, 12.0" 464 "00, 2.0000" 465 } 466 } 467 set21{ 468 few{ 469 "v = 0 and i % 100 = 3..4 or v != 0 @integer 3, 4, 103, 104, 203, 204" 470 ", 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, … @decimal" 471 " 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 472 } 473 one{ 474 "v = 0 and i % 100 = 1 @integer 1, 101, 201, 301, 401, 501, 601, 701," 475 " 1001, …" 476 } 477 other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"} 478 two{ 479 "v = 0 and i % 100 = 2 @integer 2, 102, 202, 302, 402, 502, 602, 702," 480 " 1002, …" 481 } 482 } 483 set22{ 484 few{ 485 "v = 0 and i % 100 = 3..4 or f % 100 = 3..4 @integer 3, 4, 103, 104, " 486 "203, 204, 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, … " 487 "@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," 488 " 6.3, 6.4, 7.3, 7.4, 10.3, 100.3, 1000.3, …" 489 } 490 one{ 491 "v = 0 and i % 100 = 1 or f % 100 = 1 @integer 1, 101, 201, 301, 401," 492 " 501, 601, 701, 1001, … @decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, " 493 "7.1, 10.1, 100.1, 1000.1, …" 494 } 495 other{ 496 " @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" 497 ", 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0," 498 " 1000000.0, …" 499 } 500 two{ 501 "v = 0 and i % 100 = 2 or f % 100 = 2 @integer 2, 102, 202, 302, 402," 502 " 502, 602, 702, 1002, … @decimal 0.2, 1.2, 2.2, 3.2, 4.2, 5.2, 6.2, " 503 "7.2, 10.2, 100.2, 1000.2, …" 504 } 505 } 506 set23{ 507 many{ 508 "v = 0 and n != 0..10 and n % 10 = 0 @integer 20, 30, 40, 50, 60, 70," 509 " 80, 90, 100, 1000, 10000, 100000, 1000000, …" 510 } 511 one{"i = 1 and v = 0 @integer 1"} 512 other{ 513 " @integer 0, 3~17, 101, 1001, … @decimal 0.0~1.5, 10.0, 100.0, 1000." 514 "0, 10000.0, 100000.0, 1000000.0, …" 515 } 516 two{"i = 2 and v = 0 @integer 2"} 517 } 518 set24{ 519 few{"i = 2..4 and v = 0 @integer 2~4"} 520 many{ 521 "v != 0 @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1" 522 "000000.0, …" 523 } 524 one{"i = 1 and v = 0 @integer 1"} 525 other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"} 526 } 527 set25{ 528 few{ 529 "v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 3" 530 "2~34, 42~44, 52~54, 62, 102, 1002, …" 531 } 532 many{ 533 "v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v =" 534 " 0 and i % 100 = 12..14 @integer 0, 5~19, 100, 1000, 10000, 100000, " 535 "1000000, …" 536 } 537 one{"i = 1 and v = 0 @integer 1"} 538 other{ 539 " @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000" 540 ".0, …" 541 } 542 } 543 set26{ 544 few{ 545 "n % 10 = 2..4 and n % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~4" 546 "4, 52~54, 62, 102, 1002, … @decimal 2.0, 3.0, 4.0, 22.0, 23.0, 24.0," 547 " 32.0, 33.0, 102.0, 1002.0, …" 548 } 549 many{ 550 "n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14 @integer 0, 5~19, 10" 551 "0, 1000, 10000, 100000, 1000000, … @decimal 0.0, 5.0, 6.0, 7.0, 8.0," 552 " 9.0, 10.0, 11.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 553 } 554 one{ 555 "n % 10 = 1 and n % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81," 556 " 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, 81.0" 557 ", 101.0, 1001.0, …" 558 } 559 other{" @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.1, 1000.1, …"} 560 } 561 set27{ 562 few{ 563 "n % 10 = 2..9 and n % 100 != 11..19 @integer 2~9, 22~29, 102, 1002, " 564 "… @decimal 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 22.0, 102.0, 1002" 565 ".0, …" 566 } 567 many{"f != 0 @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.1, 1000.1, …"} 568 one{ 569 "n % 10 = 1 and n % 100 != 11..19 @integer 1, 21, 31, 41, 51, 61, 71," 570 " 81, 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 71.0, " 571 "81.0, 101.0, 1001.0, …" 572 } 573 other{ 574 " @integer 0, 10~20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 100000" 575 "0, … @decimal 0.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 100.0, " 576 "1000.0, 10000.0, 100000.0, 1000000.0, …" 577 } 578 } 579 set28{ 580 few{ 581 "n = 0 or n % 100 = 2..10 @integer 0, 2~10, 102~107, 1002, … @decimal" 582 " 0.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 102.0, 1002.0, …" 583 } 584 many{ 585 "n % 100 = 11..19 @integer 11~19, 111~117, 1011, … @decimal 11.0, 12." 586 "0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …" 587 } 588 one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} 589 other{ 590 " @integer 20~35, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0" 591 ".9, 1.1~1.7, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 592 } 593 } 594 set29{ 595 few{ 596 "v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 3" 597 "2~34, 42~44, 52~54, 62, 102, 1002, …" 598 } 599 many{ 600 "v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100" 601 " = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …" 602 } 603 one{ 604 "v = 0 and i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 6" 605 "1, 71, 81, 101, 1001, …" 606 } 607 other{ 608 " @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000" 609 ".0, …" 610 } 611 } 612 set3{ 613 one{"i = 0..1 @integer 0, 1 @decimal 0.0~1.5"} 614 other{ 615 " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 2.0~3." 616 "5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 617 } 618 } 619 set30{ 620 few{ 621 "n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99 @integer 3, 4, 9" 622 ", 23, 24, 29, 33, 34, 39, 43, 44, 49, 103, 1003, … @decimal 3.0, 4.0" 623 ", 9.0, 23.0, 24.0, 29.0, 33.0, 34.0, 103.0, 1003.0, …" 624 } 625 many{ 626 "n != 0 and n % 1000000 = 0 @integer 1000000, … @decimal 1000000.0, 1" 627 "000000.00, 1000000.000, …" 628 } 629 one{ 630 "n % 10 = 1 and n % 100 != 11,71,91 @integer 1, 21, 31, 41, 51, 61, 8" 631 "1, 101, 1001, … @decimal 1.0, 21.0, 31.0, 41.0, 51.0, 61.0, 81.0, 10" 632 "1.0, 1001.0, …" 633 } 634 other{ 635 " @integer 0, 5~8, 10~20, 100, 1000, 10000, 100000, … @decimal 0.0~0." 636 "9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, …" 637 } 638 two{ 639 "n % 10 = 2 and n % 100 != 12,72,92 @integer 2, 22, 32, 42, 52, 62, 8" 640 "2, 102, 1002, … @decimal 2.0, 22.0, 32.0, 42.0, 52.0, 62.0, 82.0, 10" 641 "2.0, 1002.0, …" 642 } 643 } 644 set31{ 645 few{ 646 "n = 3..6 @integer 3~6 @decimal 3.0, 4.0, 5.0, 6.0, 3.00, 4.00, 5.00," 647 " 6.00, 3.000, 4.000, 5.000, 6.000, 3.0000, 4.0000, 5.0000, 6.0000" 648 } 649 many{ 650 "n = 7..10 @integer 7~10 @decimal 7.0, 8.0, 9.0, 10.0, 7.00, 8.00, 9." 651 "00, 10.00, 7.000, 8.000, 9.000, 10.000, 7.0000, 8.0000, 9.0000, 10.0" 652 "000" 653 } 654 one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} 655 other{ 656 " @integer 0, 11~25, 100, 1000, 10000, 100000, 1000000, … @decimal 0." 657 "0~0.9, 1.1~1.6, 10.1, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 658 } 659 two{"n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000"} 660 } 661 set32{ 662 few{ 663 "v = 0 and i % 100 = 0,20,40,60,80 @integer 0, 20, 40, 60, 80, 100, 1" 664 "20, 140, 1000, 10000, 100000, 1000000, …" 665 } 666 many{ 667 "v != 0 @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1" 668 "000000.0, …" 669 } 670 one{ 671 "v = 0 and i % 10 = 1 @integer 1, 11, 21, 31, 41, 51, 61, 71, 101, 10" 672 "01, …" 673 } 674 other{" @integer 3~10, 13~19, 23, 103, 1003, …"} 675 two{ 676 "v = 0 and i % 10 = 2 @integer 2, 12, 22, 32, 42, 52, 62, 72, 102, 10" 677 "02, …" 678 } 679 } 680 set33{ 681 few{ 682 "n % 100 = 3..10 @integer 3~10, 103~110, 1003, … @decimal 3.0, 4.0, 5" 683 ".0, 6.0, 7.0, 8.0, 9.0, 10.0, 103.0, 1003.0, …" 684 } 685 many{ 686 "n % 100 = 11..99 @integer 11~26, 111, 1011, … @decimal 11.0, 12.0, 1" 687 "3.0, 14.0, 15.0, 16.0, 17.0, 18.0, 111.0, 1011.0, …" 688 } 689 one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} 690 other{ 691 " @integer 100~102, 200~202, 300~302, 400~402, 500~502, 600, 1000, 10" 692 "000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.1, 100.0, 1000" 693 ".0, 10000.0, 100000.0, 1000000.0, …" 694 } 695 two{"n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000"} 696 zero{"n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000"} 697 } 698 set34{ 699 few{"n = 3 @integer 3 @decimal 3.0, 3.00, 3.000, 3.0000"} 700 many{"n = 6 @integer 6 @decimal 6.0, 6.00, 6.000, 6.0000"} 701 one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} 702 other{ 703 " @integer 4, 5, 7~20, 100, 1000, 10000, 100000, 1000000, … @decimal " 704 "0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0," 705 " …" 706 } 707 two{"n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000"} 708 zero{"n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000"} 709 } 710 set35{ 711 other{" @integer 0~15, 100, 1000, 10000, 100000, 1000000, …"} 712 } 713 set36{ 714 one{ 715 "n % 10 = 1,2 and n % 100 != 11,12 @integer 1, 2, 21, 22, 31, 32, 41," 716 " 42, 51, 52, 61, 62, 71, 72, 81, 82, 101, 1001, …" 717 } 718 other{" @integer 0, 3~17, 100, 1000, 10000, 100000, 1000000, …"} 719 } 720 set37{ 721 one{"n = 1 @integer 1"} 722 other{" @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, …"} 723 } 724 set38{ 725 one{"n = 1,5 @integer 1, 5"} 726 other{" @integer 0, 2~4, 6~17, 100, 1000, 10000, 100000, 1000000, …"} 727 } 728 set39{ 729 one{"n = 1..4 @integer 1~4"} 730 other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"} 731 } 732 set4{ 733 one{"i = 1 and v = 0 @integer 1"} 734 other{ 735 " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" 736 "~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 737 } 738 } 739 set40{ 740 few{ 741 "n % 10 = 2,3 and n % 100 != 12,13 @integer 2, 3, 22, 23, 32, 33, 42," 742 " 43, 52, 53, 62, 63, 72, 73, 82, 83, 102, 1002, …" 743 } 744 other{" @integer 0, 1, 4~17, 100, 1000, 10000, 100000, 1000000, …"} 745 } 746 set41{ 747 few{ 748 "n % 10 = 3 and n % 100 != 13 @integer 3, 23, 33, 43, 53, 63, 73, 83," 749 " 103, 1003, …" 750 } 751 other{" @integer 0~2, 4~16, 100, 1000, 10000, 100000, 1000000, …"} 752 } 753 set42{ 754 few{ 755 "n % 10 = 6,9 or n = 10 @integer 6, 9, 10, 16, 19, 26, 29, 36, 39, 10" 756 "6, 1006, …" 757 } 758 other{ 759 " @integer 0~5, 7, 8, 11~15, 17, 18, 20, 100, 1000, 10000, 100000, 10" 760 "00000, …" 761 } 762 } 763 set43{ 764 many{ 765 "n % 10 = 6 or n % 10 = 9 or n % 10 = 0 and n != 0 @integer 6, 9, 10," 766 " 16, 19, 20, 26, 29, 30, 36, 39, 40, 100, 1000, 10000, 100000, 10000" 767 "00, …" 768 } 769 other{" @integer 0~5, 7, 8, 11~15, 17, 18, 21, 101, 1001, …"} 770 } 771 set44{ 772 many{"n = 11,8,80,800 @integer 8, 11, 80, 800"} 773 other{" @integer 0~7, 9, 10, 12~17, 100, 1000, 10000, 100000, 1000000, …"} 774 } 775 set45{ 776 many{"i = 0 or i % 100 = 2..20,40,60,80 @integer 0, 2~16, 102, 1002, …"} 777 one{"i = 1 @integer 1"} 778 other{" @integer 21~36, 100, 1000, 10000, 100000, 1000000, …"} 779 } 780 set46{ 781 many{ 782 "n % 10 = 4 and n % 100 != 14 @integer 4, 24, 34, 44, 54, 64, 74, 84," 783 " 104, 1004, …" 784 } 785 one{"n = 1 @integer 1"} 786 other{" @integer 0, 2, 3, 5~17, 100, 1000, 10000, 100000, 1000000, …"} 787 } 788 set47{ 789 few{ 790 "n % 10 = 3 and n % 100 != 13 @integer 3, 23, 33, 43, 53, 63, 73, 83," 791 " 103, 1003, …" 792 } 793 one{ 794 "n % 10 = 1 and n % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81," 795 " 101, 1001, …" 796 } 797 other{" @integer 0, 4~18, 100, 1000, 10000, 100000, 1000000, …"} 798 two{ 799 "n % 10 = 2 and n % 100 != 12 @integer 2, 22, 32, 42, 52, 62, 72, 82," 800 " 102, 1002, …" 801 } 802 } 803 set48{ 804 few{"n = 4 @integer 4"} 805 one{"n = 1 @integer 1"} 806 other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"} 807 two{"n = 2,3 @integer 2, 3"} 808 } 809 set49{ 810 few{"n = 4 @integer 4"} 811 one{"n = 1,3 @integer 1, 3"} 812 other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"} 813 two{"n = 2 @integer 2"} 814 } 815 set5{ 816 one{ 817 "n = 0,1 or i = 0 and f = 1 @integer 0, 1 @decimal 0.0, 0.1, 1.0, 0.0" 818 "0, 0.01, 1.00, 0.000, 0.001, 1.000, 0.0000, 0.0001, 1.0000" 819 } 820 other{ 821 " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.2~0." 822 "9, 1.1~1.8, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 823 } 824 } 825 set50{ 826 few{"n = 3,13 @integer 3, 13"} 827 one{"n = 1,11 @integer 1, 11"} 828 other{" @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …"} 829 two{"n = 2,12 @integer 2, 12"} 830 } 831 set51{ 832 many{ 833 "i % 10 = 7,8 and i % 100 != 17,18 @integer 7, 8, 27, 28, 37, 38, 47," 834 " 48, 57, 58, 67, 68, 77, 78, 87, 88, 107, 1007, …" 835 } 836 one{ 837 "i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81," 838 " 101, 1001, …" 839 } 840 other{" @integer 0, 3~6, 9~19, 100, 1000, 10000, 100000, 1000000, …"} 841 two{ 842 "i % 10 = 2 and i % 100 != 12 @integer 2, 22, 32, 42, 52, 62, 72, 82," 843 " 102, 1002, …" 844 } 845 } 846 set52{ 847 few{ 848 "i % 10 = 3,4 or i % 1000 = 100,200,300,400,500,600,700,800,900 @inte" 849 "ger 3, 4, 13, 14, 23, 24, 33, 34, 43, 44, 53, 54, 63, 64, 73, 74, 10" 850 "0, 1003, …" 851 } 852 many{ 853 "i = 0 or i % 10 = 6 or i % 100 = 40,60,90 @integer 0, 6, 16, 26, 36," 854 " 40, 46, 56, 106, 1006, …" 855 } 856 one{ 857 "i % 10 = 1,2,5,7,8 or i % 100 = 20,50,70,80 @integer 1, 2, 5, 7, 8, " 858 "11, 12, 15, 17, 18, 20~22, 25, 101, 1001, …" 859 } 860 other{ 861 " @integer 9, 10, 19, 29, 30, 39, 49, 59, 69, 79, 109, 1000, 10000, 1" 862 "00000, 1000000, …" 863 } 864 } 865 set53{ 866 few{"n = 4 @integer 4"} 867 many{"n = 6 @integer 6"} 868 one{"n = 1 @integer 1"} 869 other{" @integer 0, 5, 7~20, 100, 1000, 10000, 100000, 1000000, …"} 870 two{"n = 2,3 @integer 2, 3"} 871 } 872 set54{ 873 few{"n = 4 @integer 4"} 874 many{"n = 6 @integer 6"} 875 one{"n = 1,5,7,8,9,10 @integer 1, 5, 7~10"} 876 other{" @integer 0, 11~25, 100, 1000, 10000, 100000, 1000000, …"} 877 two{"n = 2,3 @integer 2, 3"} 878 } 879 set55{ 880 few{"n = 4 @integer 4"} 881 many{"n = 6 @integer 6"} 882 one{"n = 1,5,7..9 @integer 1, 5, 7~9"} 883 other{" @integer 0, 10~24, 100, 1000, 10000, 100000, 1000000, …"} 884 two{"n = 2,3 @integer 2, 3"} 885 } 886 set56{ 887 few{"n = 3,4 @integer 3, 4"} 888 many{"n = 5,6 @integer 5, 6"} 889 one{"n = 1 @integer 1"} 890 other{" @integer 10~25, 100, 1000, 10000, 100000, 1000000, …"} 891 two{"n = 2 @integer 2"} 892 zero{"n = 0,7,8,9 @integer 0, 7~9"} 893 } 894 set6{ 895 one{ 896 "n = 0..1 @integer 0, 1 @decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, " 897 "0.0000, 1.0000" 898 } 899 other{ 900 " @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0." 901 "9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 902 } 903 } 904 set7{ 905 one{ 906 "n = 0..1 or n = 11..99 @integer 0, 1, 11~24 @decimal 0.0, 1.0, 11.0," 907 " 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 2" 908 "3.0, 24.0" 909 } 910 other{ 911 " @integer 2~10, 100~106, 1000, 10000, 100000, 1000000, … @decimal 0." 912 "1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 913 } 914 } 915 set8{ 916 one{"n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000"} 917 other{ 918 " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" 919 "~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 920 } 921 } 922 set9{ 923 one{"n = 1 or t != 0 and i = 0,1 @integer 1 @decimal 0.1~1.6"} 924 other{ 925 " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0" 926 ", 2.0~3.4, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …" 927 } 928 } 929 } 930} 931