This module contains data on various types of numbers in ස්පාඤ්ඤ.

Number Cardinal Apocopated cardinal ක්‍රමසූචක Apocopated ordinal ක්‍රමසූචක abbreviation Multiplier Distributive Collective Fractional Wikipedia link
0 cero cero, ceroésimo 0.º cero
1 uno un primero primer 1.º simple sendos uno
2 dos segundo 2.º doble ambos medio, mitad dos
3 tres tercero tercer 3.º triple tercio tres
4 cuatro cuarto 4.º cuádruple cuarto cuatro
5 cinco quinto 5.º quíntuple quinto cinco
6 seis sexto 6.º séxtuple sexto seis
7 siete séptimo, sétimo 7.º séptuple séptimo, sétimo siete
8 ocho octavo 8.º óctuple octavo ocho
9 nueve noveno 9.º nónuple noveno nueve
10 diez décimo 10.º décuplo décimo diez
11 once undécimo, decimoprimero, décimo primero decimoprimer, décimo primer 11.º undécuplo onceavo, undécimo once
12 doce duodécimo, decimosegundo, décimo segundo, doceno 12.º duodécuplo doceavo, duodécimo doce
13 trece decimotercero, décimo tercero decimotercer, décimo tercer 13.º treceavo trece
14 catorce decimocuarto, décimo cuarto 14.º catorceavo catorce
15 quince decimoquinto, décimo quinto 15.º quinceavo quince
16 dieciséis decimosexto, décimo sexto 16.º dieciseisavo dieciséis
17 diecisiete decimoséptimo, décimo séptimo 17.º diecisieteavo diecisiete
18 dieciocho decimoctavo, décimo octavo 18.º dieciochoavo, dieciochavo dieciocho
19 diecinueve decimonoveno, décimo noveno 19.º diecinueveavo diecinueve
20 veinte vigésimo 20.º veinteavo, vigésimo veinte
21 veintiuno veintiún vigesimoprimero, vigésimo primero vigesimoprimer, vigésimo primer 21.º veintiunavo veintiuno
22 veintidós vigesimosegundo, vigésimo segundo 22.º veintidosavo veintidós
23 veintitrés vigesimotercero, vigésimo tercero vigesimotercer, vigésimo tercer 23.º veintitresavo veintitrés
24 veinticuatro vigesimocuarto, vigésimo cuarto 24.º veinticuatroavo veinticuatro
25 veinticinco vigesimoquinto, vigésimo quinto 25.º veinticincoavo veinticinco
26 veintiséis vigesimosexto, vigésimo sexto 26.º veintiseisavo veintiséis
27 veintisiete vigesimoséptimo, vigésimo séptimo 27.º veintisieteavo veintisiete
28 veintiocho vigesimoctavo, vigésimo octavo 28.º veintiochoavo, veintiochavo veintiocho
29 veintinueve vigesimonoveno, vigésimo noveno 29.º veintinueveavo veintinueve
30 treinta trigésimo 30.º treintavo, trigésimo treinta
31 treinta y uno treinta y ún trigésimo primero trigésimo primer 31.º treintaiunavo treinta y uno
32 treinta y dos trigésimo segundo 32.º treintaidosavo treinta y dos
33 treinta y tres trigésimo tercero trigésimo tercer 33.º treintaitresavo treinta y tres
34 treinta y cuatro trigésimo cuarto 34.º treintaicuatroavo treinta y cuatro
35 treinta y cinco trigésimo quinto 35.º treintaicincoavo treinta y cinco
36 treinta y seis trigésimo sexto 36.º treintaiseisavo treinta y seis
37 treinta y siete trigésimo séptimo 37.º treintaisieteavo treinta y siete
38 treinta y ocho trigésimo octavo 38.º treintaiochoavo, treintaiochavo treinta y ocho
39 treinta y nueve trigésimo noveno 39.º treintainueveavo treinta y nueve
40 cuarenta cuadragésimo 40.º cuarentavo, cuadragésimo cuarenta
41 cuarenta y uno cuarenta y ún cuadragésimo primero cuadragésimo primer 41.º cuarentaiunavo cuarenta y uno
42 cuarenta y dos cuadragésimo segundo 42.º cuarentaidosavo cuarenta y dos
43 cuarenta y tres cuadragésimo tercero cuadragésimo tercer 43.º cuarentaitresavo cuarenta y tres
44 cuarenta y cuatro cuadragésimo cuarto 44.º cuarentaicuatroavo cuarenta y cuatro
45 cuarenta y cinco cuadragésimo quinto 45.º cuarentaicincoavo cuarenta y cinco
46 cuarenta y seis cuadragésimo sexto 46.º cuarentaiseisavo cuarenta y seis
47 cuarenta y siete cuadragésimo séptimo 47.º cuarentaisieteavo cuarenta y siete
48 cuarenta y ocho cuadragésimo octavo 48.º cuarentaiochoavo, cuarentaiochavo cuarenta y ocho
49 cuarenta y nueve cuadragésimo noveno 49.º cuarentainueveavo cuarenta y nueve
50 cincuenta quincuagésimo 50.º cincuentavo, quincuagésimo cincuenta
51 cincuenta y uno cincuenta y ún quincuagésimo primero quincuagésimo primer 51.º cincuentaiunavo cincuenta y uno
52 cincuenta y dos quincuagésimo segundo 52.º cincuentaidosavo cincuenta y dos
53 cincuenta y tres quincuagésimo tercero quincuagésimo tercer 53.º cincuentaitresavo cincuenta y tres
54 cincuenta y cuatro quincuagésimo cuarto 54.º cincuentaicuatroavo cincuenta y cuatro
55 cincuenta y cinco quincuagésimo quinto 55.º cincuentaicincoavo cincuenta y cinco
56 cincuenta y seis quincuagésimo sexto 56.º cincuentaiseisavo cincuenta y seis
57 cincuenta y siete quincuagésimo séptimo 57.º cincuentaisieteavo cincuenta y siete
58 cincuenta y ocho quincuagésimo octavo 58.º cincuentaiochoavo, cincuentaiochavo cincuenta y ocho
59 cincuenta y nueve quincuagésimo noveno 59.º cincuentainueveavo cincuenta y nueve
60 sesenta sexagésimo 60.º sesentavo, sexagésimo sesenta
61 sesenta y uno sesenta y ún sexagésimo primero sexagésimo primer 61.º sesentaiunavo sesenta y uno
62 sesenta y dos sexagésimo segundo 62.º sesentaidosavo sesenta y dos
63 sesenta y tres sexagésimo tercero sexagésimo tercer 63.º sesentaitresavo sesenta y tres
64 sesenta y cuatro sexagésimo cuarto 64.º sesentaicuatroavo sesenta y cuatro
65 sesenta y cinco sexagésimo quinto 65.º sesentaicincoavo sesenta y cinco
66 sesenta y seis sexagésimo sexto 66.º sesentaiseisavo sesenta y seis
67 sesenta y siete sexagésimo séptimo 67.º sesentaisieteavo sesenta y siete
68 sesenta y ocho sexagésimo octavo 68.º sesentaiochoavo, sesentaiochavo sesenta y ocho
69 sesenta y nueve sexagésimo noveno 69.º sesentainueveavo sesenta y nueve
70 setenta septuagésimo 70.º setentavo, septuagésimo setenta
71 setenta y uno setenta y ún septuagésimo primero septuagésimo primer 71.º setentaiunavo setenta y uno
72 setenta y dos septuagésimo segundo 72.º setentaidosavo setenta y dos
73 setenta y tres septuagésimo tercero septuagésimo tercer 73.º setentaitresavo setenta y tres
74 setenta y cuatro septuagésimo cuarto 74.º setentaicuatroavo setenta y cuatro
75 setenta y cinco septuagésimo quinto 75.º setentaicincoavo setenta y cinco
76 setenta y seis septuagésimo sexto 76.º setentaiseisavo setenta y seis
77 setenta y siete septuagésimo séptimo 77.º setentaisieteavo setenta y siete
78 setenta y ocho septuagésimo octavo 78.º setentaiochoavo, setentaiochavo setenta y ocho
79 setenta y nueve septuagésimo noveno 79.º setentainueveavo setenta y nueve
80 ochenta octogésimo 80.º ochentavo, octogésimo ochenta
81 ochenta y uno ochenta y ún octogésimo primero octogésimo primer 81.º ochentaiunavo ochenta y uno
82 ochenta y dos octogésimo segundo 82.º ochentaidosavo ochenta y dos
83 ochenta y tres octogésimo tercero octogésimo tercer 83.º ochentaitresavo ochenta y tres
84 ochenta y cuatro octogésimo cuarto 84.º ochentaicuatroavo ochenta y cuatro
85 ochenta y cinco octogésimo quinto 85.º ochentaicincoavo ochenta y cinco
86 ochenta y seis octogésimo sexto 86.º ochentaiseisavo ochenta y seis
87 ochenta y siete octogésimo séptimo 87.º ochentaisieteavo ochenta y siete
88 ochenta y ocho octogésimo octavo 88.º ochentaiochoavo, ochentaiochavo ochenta y ocho
89 ochenta y nueve octogésimo noveno 89.º ochentainueveavo ochenta y nueve
90 noventa nonagésimo 90.º noventavo, nonagésimo noventa
91 noventa y uno noventa y ún nonagésimo primero nonagésimo primer 91.º noventaiunavo noventa y uno
92 noventa y dos nonagésimo segundo 92.º noventaidosavo noventa y dos
93 noventa y tres nonagésimo tercero nonagésimo tercer 93.º noventaitresavo noventa y tres
94 noventa y cuatro nonagésimo cuarto 94.º noventaicuatroavo noventa y cuatro
95 noventa y cinco nonagésimo quinto 95.º noventaicincoavo noventa y cinco
96 noventa y seis nonagésimo sexto 96.º noventaiseisavo noventa y seis
97 noventa y siete nonagésimo séptimo 97.º noventaisieteavo noventa y siete
98 noventa y ocho nonagésimo octavo 98.º noventaiochoavo, noventaiochavo noventa y ocho
99 noventa y nueve nonagésimo noveno 99.º noventainueveavo noventa y nueve
100 cien, (before lower numerals) ciento centésimo 100.º céntuplo centésimo, centavo, céntimo cien
101 ciento uno ciento un centésimo primero centésimo primer 101.º centésimo primero ciento uno
200 doscientos ducentésimo 200.º ducentésimo doscientos
300 trescientos tricentésimo 300.º tricentésimo trescientos
400 cuatrocientos cuadringentésimo 400.º cuadringentésimo cuatrocientos
500 quinientos quingentésimo 500.º quingentésimo quinientos
600 seiscientos sexcentésimo 600.º sexcentésimo seiscientos
700 setecientos septingentésimo 700.º septingentésimo setecientos
800 ochocientos octingentésimo 800.º octingentésimo ochocientos
900 novecientos noningentésimo 900.º noningentésimo novecientos
1,000 mil milésimo 1000.º milésimo
2,000 dos mil dosmilésimo 2000.º dosmilésimo
3,000 tres mil tresmilésimo 3000.º tresmilésimo
4,000 cuatro mil cuatromilésimo 4000.º cuatromilésimo
5,000 cinco mil cincomilésimo 5000.º cincomilésimo
6,000 seis mil seismilésimo 6000.º seismilésimo
7,000 siete mil sietemilésimo 7000.º sietemilésimo
8,000 ocho mil ochomilésimo 8000.º ochomilésimo
9,000 nueve mil nuevemilésimo 9000.º nuevemilésimo
10,000 diez mil diezmilésimo 10 000.º diezmilésimo
20,000 veinte mil veintemilésimo 20 000.º veintemilésimo
21,000 veintiún mil veintiunmilésimo 21 000.º veintiunmilésimo
100,000 cien mil cienmilésimo 100 000.º cienmilésimo
200,000 doscientos mil doscientosmilésimo 200 000.º doscientosmilésimo
1,000,000 (106) un millón millonésimo 1 000 000.º millonésimo millón
2,000,000 (2 × 106) dos millones dosmillonésimo 2 000 000.º dosmillonésimo
10,000,000 (107) diez millones diezmillonésimo 10 000 000.º diezmillonésimo
100,000,000 (108) cien millones cienmillonésimo 100 000 000.º cienmillonésimo
1,000,000,000 (109) mil millones, un millardo milmillonésimo, millardésimo milmillonésimo, millardésimo millardo
1012 un billón billonésimo billonésimo billón
1018 un trillón trillonésimo trillonésimo trillón
1024 un cuatrillón cuatrillonésimo cuatrillonésimo cuatrillón
1030 un quintillón quintillonésimo quintillonésimo quintillón
1036 un sextillón sextillonésimo sextillonésimo sextillón
1042 un septillón septillonésimo septillonésimo septillón
1048 un octillón octillonésimo octillonésimo octillón
1054 un nonillón nonillonésimo nonillonésimo
1060 un decillón decillonésimo decillonésimo
1066 un undecillón undecillonésimo undecillonésimo undecillón
1072 un duodecillón duodecillonésimo duodecillonésimo duodecillón
1078 un tredecillón tredecillonésimo tredecillonésimo tredecillón
1084 un cuatrodecillón cuatrodecillonésimo cuatrodecillonésimo cuatrodecillón
1090 un quindecillón quindecillonésimo quindecillonésimo quindecillón
1096 un sexdecillón sexdecillonésimo sexdecillonésimo sexdecillón
10102 un septendecillón septendecillonésimo septendecillonésimo septendecillón
10108 un octodecillón octodecillonésimo octodecillonésimo octodecillón
10114 un novendecillón novendecillonésimo novendecillonésimo novendecillón
10120 un vigintillón vigintillonésimo vigintillonésimo vigintillón

local export = {numbers = {}}

local m_numutils = require("Module:number list/utils")
local power_of = m_numutils.power_of

export.additional_number_types = {
	{key = "apocopated_cardinal", after = "cardinal"},
	{key = "apocopated_ordinal", after = "ordinal"},
}

local numbers = export.numbers

local function make_number(num, number)
	local numstr = m_numutils.format_fixed(num)
	number.wplink = number.wplink or type(num) == "number" and num < 1000 and number.cardinal or nil
	number.ordinal_abbr = number.ordinal_abbr or #numstr < 10 and m_numutils.add_thousands_separator(numstr, " ") .. ".º" or nil
	numbers[num] = number
end

local function make_simple_number(num, cardinal, ordinal, fractional, wplink)
	make_number(num, {
		cardinal = cardinal,
		ordinal = ordinal,
		fractional = fractional or ordinal,
		wplink = wplink,
	})
end

make_number(0, {
	cardinal = "cero",
	ordinal = { "cero", "ceroésimo" },
})

make_number(1, {
	cardinal = "uno",
	apocopated_cardinal = "un",
	ordinal = "primero",
	apocopated_ordinal = "primer",
	multiplier = "simple",
	distributive = "sendos",
})

make_number(2, {
	cardinal = "dos",
	ordinal = "segundo",
	multiplier = "doble",
	fractional = { "medio", "mitad" },
	collective = "ambos",
})

make_number(3, {
	cardinal = "tres",
	ordinal = "tercero",
	apocopated_ordinal = "tercer",
	multiplier = "triple",
	fractional = "tercio",
})

make_number(4, {
	cardinal = "cuatro",
	ordinal = "cuarto",
	multiplier = "cuádruple",
	fractional = "cuarto",
})

make_number(5, {
	cardinal = "cinco",
	ordinal = "quinto",
	multiplier = "quíntuple",
	fractional = "quinto",
})

make_number(6, {
	cardinal = "seis",
	ordinal = "sexto",
	multiplier = "séxtuple",
	fractional = "sexto",
})

make_number(7, {
	cardinal = "siete",
	ordinal = {"séptimo", "sétimo" },
	multiplier = "séptuple",
	fractional = {"séptimo", "sétimo" },
})

make_number(8, {
	cardinal = "ocho",
	ordinal = "octavo",
	multiplier = "óctuple",
	fractional = "octavo",
})

make_number(9, {
	cardinal = "nueve",
	ordinal = "noveno",
	multiplier = "nónuple",
	fractional = "noveno",
})

make_number(10, {
	cardinal = "diez",
	ordinal = "décimo",
	multiplier = "décuplo",
	fractional = "décimo",
})

make_number(11, {
	cardinal = "once",
	ordinal = { "undécimo", "decimoprimero", "décimo primero" },
	apocopated_ordinal = { "decimoprimer", "décimo primer" },
	multiplier = "undécuplo",
	fractional = {"onceavo", "undécimo"},
})

make_number(12, {
	cardinal = "doce",
	ordinal = { "duodécimo", "decimosegundo", "décimo segundo", "doceno" },
	multiplier = "duodécuplo",
	fractional = {"doceavo", "duodécimo"},
})

-- Do 13 through 19
for i, cardinal in ipairs {
	"trece", "catorce", "quince", "dieciséis", "diecisiete", "dieciocho", "diecinueve"
} do
	local num = i + 13 - 1
	local ones = num - 10
	local ordinal
	if num == 17 then
		-- Special-case because of alternative ordinal [[sétimo]], which appears not in use in compound ordinals.
		ordinal = {"decimoséptimo", "décimo séptimo"}
	elseif num == 18 then
		-- Special-case because of single-word form [[decimoctavo]].
		ordinal = {"decimoctavo", "décimo octavo"}
	else
		local ones_ordinal = numbers[ones].ordinal
		ordinal = {"decimo" .. ones_ordinal, "décimo " .. ones_ordinal}
	end
	local apocopated_ordinal
	if num == 13 then
		apocopated_ordinal = {"decimotercer", "décimo tercer"}
	end
	local fractional
	if num == 16 then
		fractional = "dieciseisavo"
	elseif num == 18 then
		-- https://www.rae.es/dpd/fraccionarios, point 4 allows -ochavo
		fractional = {"dieciochoavo", "dieciochavo"}
	else
		fractional = cardinal .. "avo"
	end
	make_number(num, {
		cardinal = cardinal,
		ordinal = ordinal,
		apocopated_ordinal = apocopated_ordinal,
		fractional = fractional,
	})
end

-- Do 20 through 29. We handle separately from 30 through 99 because of various special cases.
make_simple_number(20, "veinte", "vigésimo", {"veinteavo", "vigésimo"})
for ones = 1, 9 do
	local num = 20 + ones
	local ones_cardinal = numbers[ones].cardinal

	local cardinal
	if num == 22 then
		cardinal = "veintidós"
	elseif num == 23 then
		cardinal = "veintitrés"
	elseif num == 26 then
		cardinal = "veintiséis"
	else
		-- veintiuno, veinticuatro, etc.
		cardinal = "veinti" .. ones_cardinal
	end

	local ordinal
	if num == 27 then
		-- Special-case because of alternative ordinal [[sétimo]], which appears not in use in compound ordinals.
		ordinal = {"vigesimoséptimo", "vigésimo séptimo"}
	elseif num == 28 then
		-- Special-case because of single-word form [[vigesimoctavo]].
		ordinal = {"vigesimoctavo", "vigésimo octavo"}
	else
		local ones_ordinal = numbers[ones].ordinal
		ordinal = {"vigesimo" .. ones_ordinal, "vigésimo " .. ones_ordinal}
	end

	local fractional
	if num == 21 then
		-- Non-even multiples of ten less than 100 use only -avo.
		fractional = "veintiunavo"
	elseif num == 28 then
		-- https://www.rae.es/dpd/fraccionarios, point 4 allows -ochavo
		fractional = {"veintiochoavo", "veintiochavo"}
	else
		fractional = "veinti" .. ones_cardinal .. "avo"
	end

	local apocopated_cardinal, apocopated_ordinal
	if num == 21 then
		apocopated_cardinal = "veintiún"
		apocopated_ordinal = {"vigesimoprimer", "vigésimo primer"}
	elseif num == 23 then
		apocopated_ordinal = {"vigesimotercer", "vigésimo tercer"}
	end

	make_number(num, {
		cardinal = cardinal,
		apocopated_cardinal = apocopated_cardinal,
		ordinal = ordinal,
		apocopated_ordinal = apocopated_ordinal,
		fractional = fractional,
	})
end

-- Do 30 through 99.
for i, cardinal_and_ordinal in ipairs {
	{ "treinta", "trigésimo" },
	{ "cuarenta", "cuadragésimo" },
	{ "cincuenta", "quincuagésimo" },
	{ "sesenta", "sexagésimo" },
	{ "setenta", "septuagésimo" },
	{ "ochenta", "octogésimo" },
	{ "noventa", "nonagésimo" },
} do
	local tens_cardinal, tens_ordinal = unpack(cardinal_and_ordinal)
	local tens = (i + 2) * 10
	make_number(tens, {
		cardinal = tens_cardinal,
		ordinal = tens_ordinal,
		fractional = {tens_cardinal .. "vo", tens_ordinal},
	})
	for ones = 1, 9 do
		local ones_cardinal = numbers[ones].cardinal
		local ones_ordinal
		if ones == 7 then
			-- [[sétimo]] appears not in use in compound ordinals
			ones_ordinal = "séptimo"
		else
			ones_ordinal = numbers[ones].ordinal
		end
		local cardinal = tens_cardinal .. " y " .. ones_cardinal
		local ordinal = tens_ordinal .. " " .. ones_ordinal
		local apocopated_cardinal, apocopated_ordinal
		if ones == 1 then
			apocopated_cardinal = tens_cardinal .. " y ún"
		end
		if ones == 1 or ones == 3 then
			apocopated_ordinal = ordinal:gsub("ero$", "er")
		end

		local fractional_base = tens_cardinal .. "i"
		if ones == 1 then
			-- Non-even multiples of ten less than 100 use only -avo.
			fractional = fractional_base .. "unavo"
		elseif ones == 8 then
			-- https://www.rae.es/dpd/fraccionarios, point 4 allows -ochavo
			fractional = {fractional_base .. "ochoavo", fractional_base .. "ochavo"}
		else
			fractional = fractional_base .. ones_cardinal .. "avo"
		end

		make_number(tens + ones, {
			cardinal = cardinal,
			apocopated_cardinal = apocopated_cardinal,
			ordinal = ordinal,
			apocopated_ordinal = apocopated_ordinal,
			fractional = fractional,
		})
	end
end

make_number(100, {
	cardinal = {"cien", "ciento<q:before lower numerals>"},
	ordinal = "centésimo",
	multiplier = "céntuplo",
	fractional = {"centésimo", "centavo", "céntimo"},
	wplink = "cien",
})

make_number(101, {
	cardinal = "ciento uno",
	apocopated_cardinal = "ciento un",
	ordinal = "centésimo primero",
	apocopated_ordinal = "centésimo primer",
	fractional = "centésimo primero",
})

-- Generate 200 through 900 by 100.
for i, cardinal_and_ordinal in ipairs {
	{ "doscientos", "ducentésimo" },
	{ "trescientos", "tricentésimo" },
	{ "cuatrocientos", "cuadringentésimo" },
	{ "quinientos", "quingentésimo" },
	{ "seiscientos", "sexcentésimo" },
	{ "setecientos", "septingentésimo" },
	{ "ochocientos", "octingentésimo" },
	{ "novecientos", "noningentésimo" },
} do
	local cardinal, ordinal = unpack(cardinal_and_ordinal)
	-- Formerly listed doscientosavo, trescientosavo, etc. first as fractional forms; but these forms do not exist per
	-- the RAE https://www.rae.es/dpd/fraccionarios, and are very rare in Google Ngrams.
	make_simple_number((i + 1) * 100, cardinal, ordinal)
end

make_simple_number(1000, "mil", "milésimo", "milésimo")

-- Generate 2000 through 10000 by 1000.
for i = 2000, 10000, 1000 do
	local base = i / 1000
	local base_cardinal = numbers[base].cardinal
	make_simple_number(i, base_cardinal .. " mil", base_cardinal .. "milésimo")
end

make_simple_number(20000, "veinte mil", "veintemilésimo")
make_simple_number(21000, "veintiún mil", "veintiunmilésimo")
make_simple_number(100000, "cien mil", "cienmilésimo")
make_simple_number(200000, "doscientos mil", "doscientosmilésimo")
make_simple_number(1000000, "[[un]] [[millón]]<link:millón>", "millonésimo", nil, "millón")
make_simple_number(2000000, "[[dos]] [[millón|millones]]", "dosmillonésimo")
make_simple_number(10000000, "[[diez]] [[millón|millones]]", "diezmillonésimo")
make_simple_number(100000000, "[[cien]] [[millón|millones]]", "cienmillonésimo")
make_simple_number(power_of(9), {"mil millones", "[[un]] [[millardo]]<link:millardo>"}, {"milmillonésimo", "millardésimo"}, nil, "millardo")

local function make_large_number(power, cardinal, nowplink)
	local ordinal = cardinal:gsub("ón$", "onésimo")
	make_simple_number(power_of(power), ("[[un]] [[%s]]<link:%s>"):format(cardinal, cardinal), ordinal, nil,
		not nowplink and cardinal or nil)
end

make_large_number(12, "billón")
make_large_number(18, "trillón")
make_large_number(24, "cuatrillón")
make_large_number(30, "quintillón")
make_large_number(36, "sextillón")
make_large_number(42, "septillón")
make_large_number(48, "octillón")
make_large_number(54, "nonillón", "nowplink") -- no Spanish Wikipedia entry for [[nonillón]]
make_large_number(60, "decillón", "nowplink") -- no Spanish Wikipedia entry for [[decillón]]
make_large_number(66, "undecillón")
make_large_number(72, "duodecillón")
make_large_number(78, "tredecillón")
make_large_number(84, "cuatrodecillón")
make_large_number(90, "quindecillón")
make_large_number(96, "sexdecillón")
make_large_number(102, "septendecillón")
make_large_number(108, "octodecillón")
make_large_number(114, "novendecillón")
make_large_number(120, "vigintillón")

return export
"https://si.wiktionary.org/w/index.php?title=Module:number_list/data/es&oldid=40353" වෙතින් සම්ප්‍රවේශනය කෙරිණි