Serbian stemming algorithm

Links to resources

Here is a sample of vocabulary, with the stemmed forms that will be generated with the algorithm.

word stem          word stem
ambasade
ambasadi
abdominalna
abdominalno
abdominalnih
abdominalnim
abdominalnog
abdominalnoj
abdominalnom
abdominalnu
abeceda
abecede
abecedi
abecedni
abecednih
abecednim
abecedno
abecednog
abecednom
abecedom
abecedu
abecendom
ablendovanje
ablenduje
ablenduju
ablendujući
abnormalan
abnormalije
abnormalijom
abnormalna
abnormalne
abnormalni
abnormalnih
abnormalnim
abnormalno
abnormalnog
abnormalnom
abnormalnost
abnormalnosti
abnormalnostima
abnormalnu
ambasad
ambasad
abdominaln
abdominaln
abdominaln
abdominaln
abdominaln
abdominaln
abdominaln
abdominaln
abeced
abeced
abeced
abecedn
abecedn
abecedn
abecedn
abecedn
abecedn
abeced
abeced
abecend
ablendovanj
ablenduj
ablenduj
ablenduj
abnormaln
abnormalij
abnormalij
abnormaln
abnormaln
abnormaln
abnormaln
abnormaln
abnormaln
abnormaln
abnormaln
abnormaln
abnormalnost
abnormalnost
abnormaln
obustavila
obustavile
obustavili
obustavilo
obustavio
ocenjivala
ocenjivali
ocenjivan
ocenjivana
ocenjivane
ocenjivani
ocenjivano
ocenjivanja
ocenjivanje
ocenjivanju
ocenjivao
ocenjivati
ocenjuje
ocenjujem
ocenjujemo
ocenjuješ
ocenjujete
ocenjuju
ocenjujući
očajan
očajna
očajne
očajni
očajno
padobrana
padobranaca
padobranci
padobrancima
padobranom
padobranskim
padobransku
padobranu
paganska
paganske
paganski
paganskih
obustavi
obustavi
obustavi
obustavi
obustavi
ocenjiva
ocenjiva
ocenjiva
ocenjiva
ocenjiva
ocenjiva
ocenjiva
ocenjivanj
ocenjivanj
ocenjivanj
ocenjiva
ocenjiva
ocenjuj
ocenjuj
ocenjuj
ocenjuj
ocenjuj
ocenjuj
ocenjuj
očajn
očajn
očajn
očajn
očajn
padobran
padobranc
padobranc
padobranc
padobran
padobransk
padobransk
padobran
pagansk
pagansk
pagansk
pagansk

The stemming algorithm

The Serbian language is a Slavic language (Indo-European) of the South Slavic subgroup. It is highly inflected and uses similar rules for morphological derivation and flexion as other Slavic languages, especially ones derived from the Serbo-Croatian language used in the former Yugoslavia. Because of this highly inflected characteristic a stemmer for Serbian language will have many more rules then stemmers for less inflected languages.

Serbian Stemmer described in this document is based on the Croatian Stemmer which is published under the GNU Lesser General Public License. Mark Regions, Morphological Changes (Step_1) and Stemming (Step_2) routines are based on the Croatian Stemming Algorithm. In addition, some of the existing rules for Morphological Changes and Stemming (Step_1 and Step_2 among lists) have been modified and new rules have been added for the needs of the Serbian Stemmer.

Latin alphabet in Serbian includes the following letters with diacritics:

č   ć   đ   š   ž

The following letters are vowels:

a   e   i   o   u

There is also letter - r - that isn't a vowel but it is sometimes used for syllabification.

Main Routines of Serbian Stemming Algorithm are:

  1. Conversion of Cyrillic alphabet to Latin alphabet

    The Serbian language uses both Cyrillic and Latin alphabets, but these days most people use the Latin alphabet on their PCs, Phones, etc. This algorithm is developed mostly for the purposes of the Information Retrieval, therefore the first thing it does is to convert Cyrillic letters to Latin.

  2. Prelude

    In Serbian language there are two dialects: Ekavian and Ijekavian. For example words:

    • senka (Ekavian)
    • sjenka (Ijekavian)
    have the same meaning (Shadow), also words:
    • mleko (Ekavian)
    • mlijeko (Ijekavian)
    have the same meaning (Milk) but are spelled differently and because mostly used dialect in Serbia is Ekavian the next thing to do is to replace Ijekavian dialect with it.

    These days it is also common, although not valid, to use combination of letters "d" and "j" instead of a single letter "đ". For example people will more often write "Novak Djoković" instead of "Novak Đoković" and because this algorithm is developed with Information Retrieval in mind they should be treated as the same terms.

  3. Mark Regions

    R1 is either:

    1. a region after the first vowel if there are at least two letters outside of it, otherwise it is a region after the first non-vowel following a vowel,
    2. a region after the first "r" if there are at least two letters outside of it, otherwise it is a region after the first non-"r" following an "r".

    Note that every suffix which the stemmer can remove contains at least one vowel, so in the degenerate case of an input which contains no vowels there is nothing to be done. The Snowball implementation of this stemmer sets R1 to be a zero length region at the end of the word if the input contains no vowels and no "r".

    In Serbian language there are some words in which "r" letter is used for syllabification and in such words vowels can appear at the very end - for example word "grmlje".

    So before algorithm decide what will R1 be, it needs to look if and where "r" letter occurs and where is the first vowel. If it finds "r" that occurred before the first vowel and there is at least one letter between them this means that "r" is used for syllabification and R1 is 2), otherwise R1 is 1).

    For example:

    • "tr|go|va|čki" - in this word "tr" is the first syllable which means that "r" is used for syllabification and R1 = "govački"
    • "tre|ne|rka" - in this word there is an "r" before the first vowel but there isn't any letters between them which means that "r" isn't used for syllabification and R1 = "nerka".
    • "r|ta|njski" - in this word "r" is the first syllable but if we use "tanjski" as R1 it won't left enough letters outside of it, so we need to shrink it down to a region after the first non-"r" following an "r" which is in this case = "anjski".
    • "a|vi|on" - similar to the previous case but with a vowel instead of an "r".
    R2 isn't really a region, it is more a test routine that is used to check for letters with diacritics and is used later to apply certain rules in stemming. It is used because people these days tend to use letters without diacritics (instead of the proper ones with diacritics) and we need to take this into account also.

  4. Morphological Changes

    Very last thing to do, before any stemming is done, are morphological changes. These changes are applied so we get the same stems for different forms of a word.

    For example words:

    • "pravilan" (Masculine, Singular)
    • "pravilna" (Feminine, Singular)
    • "pravilno" (Neuter, Singular)
    should have the same stem. To get that result the algorithm will first change word "pravilan" (Masculine, Singular) to "pravilni" (Masculine, Plural) and after that the word will be stemmed.

  5. Stemming

    There are two steps for stemming. The first contains most of the rules and is the primary stemming routine and the second one will try to stem the word only if the first one failed to do so - whether it was because there were no rules that could be applied or the rule overlapped the R1 region. The second step contains a few rules that will do proper stemming for most words that couldn't be stemmed using the rules from the first step.

The full algorithm in Snowball

/* Stemmer for Serbian language, based on:
 *
 * Ljubesic, Nikola. Pandzic, Ivan. Stemmer for Croatian
 * http://nlp.ffzg.hr/resources/tools/stemmer-for-croatian/
 *
 * authors: Stefan Petkovic and Dragan Ivanovic
 * emails: petkovic8 at gmail.com and dragan.ivanovic at uns.ac.rs
 * version: 1.0 (20.04.2019)
*/

routines (
    cyr_to_lat
    prelude
    mark_regions
    R1 R2
    Step_1
    Step_2
    Step_3
)

externals ( stem )

integers ( p1 p2 p3 )

groupings ( v ca sa rg )

stringescapes {}

/* special characters - Unicode codepoints */

/* serbian cyrillic */

stringdef cyrA    '{U+0430}'
stringdef cyrB    '{U+0431}'
stringdef cyrV    '{U+0432}'
stringdef cyrG    '{U+0433}'
stringdef cyrD    '{U+0434}'
stringdef cyrDx   '{U+0452}'
stringdef cyrE    '{U+0435}'
stringdef cyrZh   '{U+0436}'
stringdef cyrZ    '{U+0437}'
stringdef cyrI    '{U+0438}'
stringdef cyrJ    '{U+0458}'
stringdef cyrK    '{U+043A}'
stringdef cyrL    '{U+043B}'
stringdef cyrLJ   '{U+0459}'
stringdef cyrM    '{U+043C}'
stringdef cyrN    '{U+043D}'
stringdef cyrNJ   '{U+045A}'
stringdef cyrO    '{U+043E}'
stringdef cyrP    '{U+043F}'
stringdef cyrR    '{U+0440}'
stringdef cyrS    '{U+0441}'
stringdef cyrT    '{U+0442}'
stringdef cyrCy   '{U+045B}'
stringdef cyrU    '{U+0443}'
stringdef cyrF    '{U+0444}'
stringdef cyrH    '{U+0445}'
stringdef cyrC    '{U+0446}'
stringdef cyrCx   '{U+0447}'
stringdef cyrDzx  '{U+045F}'
stringdef cyrSx   '{U+0448}'

/* serbian latin with diacritics */

stringdef cx    '{U+010D}' // small c with caron
stringdef cy    '{U+0107}' // small c with acute
stringdef zx    '{U+017E}' // small z with caron
stringdef sx    '{U+0161}' // small s with caron
stringdef dx    '{U+0111}' // small d with stroke

define v 'aeiou' 
define sa '{cx}{cy}{zx}{sx}{dx}'
define ca 'bvgdzjklmnprstfhc' + sa
define rg 'r'


define cyr_to_lat as (
    
    do repeat goto (
        [substring] among (
            '{cyrA}'    (<- 'a')
            '{cyrB}'    (<- 'b')
            '{cyrV}'    (<- 'v')
            '{cyrG}'    (<- 'g')
            '{cyrD}'    (<- 'd')
            '{cyrDx}'   (<- '{dx}')
            '{cyrE}'    (<- 'e')
            '{cyrZh}'   (<- '{zx}')
            '{cyrZ}'    (<- 'z')
            '{cyrI}'    (<- 'i')
            '{cyrJ}'    (<- 'j')
            '{cyrK}'    (<- 'k')
            '{cyrL}'    (<- 'l')
            '{cyrLJ}'   (<- 'lj')
            '{cyrM}'    (<- 'm')
            '{cyrN}'    (<- 'n')
            '{cyrNJ}'   (<- 'nj')
            '{cyrO}'    (<- 'o')
            '{cyrP}'    (<- 'p')
            '{cyrR}'    (<- 'r')
            '{cyrS}'    (<- 's')
            '{cyrT}'    (<- 't')
            '{cyrCy}'   (<- '{cy}')
            '{cyrU}'    (<- 'u')
            '{cyrF}'    (<- 'f')
            '{cyrH}'    (<- 'h')
            '{cyrC}'    (<- 'c')
            '{cyrCx}'   (<- '{cx}')
            '{cyrDzx}'  (<- 'd{zx}')
            '{cyrSx}'   (<- '{sx}')
        )
    )
        
)

define prelude as (

    do repeat goto (
        ca ['ije'] ca <- 'e' 
    )

    do repeat goto (
        ca ['je'] ca <- 'e' 
    )
        
    do repeat goto (
        ['dj'] <- '{dx}' 
    )
        
)

define mark_regions as (

    $p3 = 0
    
    do (
        gopast sa setmark p3
    )
    
    $p1 = limit
    $p2 = 0
    
    do (
        gopast v setmark p1
    )
    do (
        gopast 'r' setmark p2
        $(p1 - p2 > 1) ($p1 = p2)
    )
    ($p1 < 2) (
        ($p1 == p2 gopast 'r' gopast non-rg) or ($p1 != p2 gopast v gopast non-v)
        setmark p1
    )
    
)

backwardmode (

    define R1 as $p1 <= cursor
    define R2 as $p3 == 0

    define Step_1 as (
        [substring] among (
            'lozi'
            'lozima'        (<-'loga')
            'pesi'
            'pesima'        (<-'peh')
            'vojci'         (<-'vojka')
            'bojci'         (<-'bojka')
            'jaci'
            'jacima'        (<-'jak')
            '{cx}ajan'      (<-'{cx}ajni')
            'cajan'         (R2 <-'cajni')
            'eran'          (<-'erni')
            'laran'         (<-'larni')
            'esan'          (<-'esni')
            'anjac'         (<-'anjca')
            'ajac'
            'ajaca'         (<-'ajca')
            'ljaca'
            'ljac'          (<-'ljca')
            'ejac'
            'ejaca'         (<-'ejca')
            'ojac'
            'ojaca'         (<-'ojca')
            'ajaka'         (<-'ajka')
            'ojaka'         (<-'ojka')
            '{sx}aca'
            '{sx}ac'        (<-'{sx}ca')
            'inzima'
            'inzi'          (<-'ing')
            'tvenici'       (<-'tvenik')
            'tetici'
            'teticima'      (<-'tetika')
            'nstava'        (<-'nstva')
            'nicima'        (<-'nik')
            'ticima'        (<-'tik')
            'zicima'        (<-'zik')
            'snici'         (<-'snik')
            'kuse'          (<-'kusi')
            'kusan'         (<-'kusni')
            'kustava'       (<-'kustva')
            'du{sx}an'      (<-'du{sx}ni')
            'dusan'         (R2 <-'dusni')
            'antan'         (<-'antni')
            'bilan'         (<-'bilni')
            'tilan'         (<-'tilni')
            'avilan'        (<-'avilni')
            'silan'         (<-'silni')
            'gilan'         (<-'gilni')
            'rilan'         (<-'rilni')
            'nilan'         (<-'nilni')
            'alan'          (<-'alni')
            'ozan'          (<-'ozni')
            'rave'          (<-'ravi')
            'stavan'        (<-'stavni')
            'pravan'        (<-'pravni')
            'tivan'         (<-'tivni')
            'sivan'         (<-'sivni')
            'atan'          (<-'atni')
            'enat'          (<-'enta')
            'tetan'         (<-'tetni')
            'pletan'        (<-'pletni')
            '{sx}ave'       (<-'{sx}avi')
            'save'          (R2 <-'savi')
            'anata'         (<-'anta')
            'a{cx}ak'
            'a{cx}aka'      (<-'a{cx}ka')
            'acak'
            'acaka'         (R2 <-'acka')
            'u{sx}ak'       (<-'u{sx}ka')
            'usak'          (R2 <-'uska')
            'atak'
            'ataka'
            'atci'
            'atcima'        (<-'atka')
            'etak'
            'etaka'         (<-'etka')
            'itak'
            'itaka'
            'itci'          (<-'itka')
            'otak'
            'otaka'         (<-'otka')
            'utak'
            'utaka'
            'utci'
            'utcima'        (<-'utka')
            'eskan'         (<-'eskna')
            'ti{cx}an'      (<-'ti{cx}ni')
            'tican'         (R2 <-'ticni')
            'ojsci'         (<-'ojska')
            'esama'         (<-'esma')
            'metar'
            'metara'        (<-'metra')
            'centar'
            'centara'       (<-'centra')
            'istar'
            'istara'        (<-'istra')
            'o{sx}{cy}u'    (<-'osti')
            'oscu'          (R2 <-'osti')
            'daba'          (<-'dba')
            '{cx}cima'
            '{cx}ci'        (<-'{cx}ka')
            'mac'
            'maca'          (<-'mca')
            'naca'
            'nac'           (<-'nca')
            'voljan'        (<-'voljni')
            'anaka'         (<-'anki')
            'vac'
            'vaca'          (<-'vca')
            'saca'
            'sac'           (<-'sca')
            'raca'
            'rac'           (<-'rca')
            'aoca'
            'alaca'
            'alac'          (<-'alca')
            'elaca'
            'elac'          (<-'elca')
            'olaca'
            'olac'
            'olce'          (<-'olca')
            'njac'
            'njaca'         (<-'njca')
            'ekata'
            'ekat'          (<-'ekta')
            'izam'
            'izama'         (<-'izma')
            'jebe'          (<-'jebi')
            'baci'          (<-'baci')
            'a{sx}an'       (<-'a{sx}ni')
            'asan'          (R2 <-'asni')
        )
    )
	
    define Step_2 as (
        [substring] R1 among (
            'skijima'
            'skijega'
            'skijemu'
            'skijem'
            'skega'
            'skemu'
            'skem'
            'skijim'
            'skijih'
            'skijoj'
            'skijeg'
            'skiji'
            'skije'
            'skija'
            'skoga'
            'skome'
            'skomu'
            'skima'
            'skog'
            'skom'
            'skim'
            'skih'
            'skoj'
            'ski'
            'ske'
            'sko'
            'ska'
            'sku'           (<-'sk')
            '{sx}kijima'
            '{sx}kijega'
            '{sx}kijemu'
            '{sx}kijem'
            '{sx}kega'
            '{sx}kemu'
            '{sx}kem'
            '{sx}kijim'
            '{sx}kijih'
            '{sx}kijoj'
            '{sx}kijeg'
            '{sx}kiji'
            '{sx}kije'
            '{sx}kija'
            '{sx}koga'
            '{sx}kome'
            '{sx}komu'
            '{sx}kima'
            '{sx}kog'
            '{sx}kom'
            '{sx}kim'
            '{sx}kih'
            '{sx}koj'
            '{sx}ki'
            '{sx}ke'
            '{sx}ko'
            '{sx}ka'
            '{sx}ku'        (<-'{sx}k')
            'stvima'
            'stvom'
            'stvo'
            'stva'
            'stvu'          (<-'stv')
            '{sx}tvima'
            '{sx}tvom'
            '{sx}tvo'
            '{sx}tva'
            '{sx}tvu'       (<-'{sx}tv')
            'tanijama'
            'tanijima'
            'tanijom'
            'tanija'
            'taniju'
            'tanije'
            'taniji'        (<-'tanij')
            'manijama'
            'manijima'
            'manijom'
            'manija'
            'maniju'
            'manije'
            'maniji'        (<-'manij')
            'panijama'
            'panijima'
            'panijom'
            'panija'
            'paniju'
            'panije'
            'paniji'        (<-'panij')
            'ranijama'
            'ranijima'
            'ranijom'
            'ranija'
            'raniju'
            'ranije'
            'raniji'        (<-'ranij')
            'ganijama'
            'ganijima'
            'ganijom'
            'ganija'
            'ganiju'
            'ganije'
            'ganiji'        (<-'ganij')
            'aninom'
            'anina'
            'aninu'
            'anine'
            'anima'
            'anin'
            'anom'
            'anu'
            'ani'
            'ana'
            'ane'           (<-'an')
            'inima'
            'inama'
            'inom'
            'ina'
            'ine'
            'ini'
            'inu'
            'ino'           (<-'in')
            'onovima'
            'onova'
            'onove'
            'onovi'
            'onima'
            'onom'
            'ona'
            'one'
            'oni'
            'onu'           (<-'on')
            'nijima'
            'nijega'
            'nijemu'
            'nijeg'
            'nijem'
            'nega'
            'nemu'
            'neg'
            'nem'
            'nijim'
            'nijih'
            'nijoj'
            'niji'
            'nije'
            'nija'
            'niju'
            'nima'
            'nome'
            'nomu'
            'noga'
            'noj'
            'nom'
            'nih'
            'nim'
            'nog'
            'no'
            'ne'
            'na'
            'nu'
            'ni'            (<-'n')
            'a{cy}oga'
            'a{cy}ome'
            'a{cy}omu'
            'a{cy}ega'
            'a{cy}emu'
            'a{cy}ima'
            'a{cy}oj'
            'a{cy}ih'
            'a{cy}om'
            'a{cy}eg'
            'a{cy}em'
            'a{cy}og'
            'a{cy}uh'
            'a{cy}im'
            'a{cy}e'
            'a{cy}a'        (<-'a{cy}')
            'e{cy}oga'
            'e{cy}ome'
            'e{cy}omu'
            'e{cy}ega'
            'e{cy}emu'
            'e{cy}ima'
            'e{cy}oj'
            'e{cy}ih'
            'e{cy}om'
            'e{cy}eg'
            'e{cy}em'
            'e{cy}og'
            'e{cy}uh'
            'e{cy}im'
            'e{cy}e'
            'e{cy}a'        (<-'e{cy}')
            'u{cy}oga'
            'u{cy}ome'
            'u{cy}omu'
            'u{cy}ega'
            'u{cy}emu'
            'u{cy}ima'
            'u{cy}oj'
            'u{cy}ih'
            'u{cy}om'
            'u{cy}eg'
            'u{cy}em'
            'u{cy}og'
            'u{cy}uh'
            'u{cy}im'
            'u{cy}e'
            'u{cy}a'        (<-'u{cy}')
            'ugovima'
            'ugovi'
            'ugove'
            'ugova'         (<-'ugov')
            'ugama'
            'ugom'
            'uga'
            'uge'
            'ugi'
            'ugu'
            'ugo'           (<-'ug')
            'logama'
            'logom'
            'loga'
            'logu'
            'loge'          (<-'log')
            'govima'
            'gama'
            'govi'
            'gove'
            'gova'
            'gom'
            'ga'
            'ge'
            'gi'
            'gu'
            'go'            (<-'g')
            'rarijem'
            'rarija'
            'rariju'
            'rario'         (<-'rari')
            'otijem'
            'otija'
            'otiju'
            'otio'          (<-'oti')
            'sijem'
            'sija'
            'siju'
            'sio'           (<-'si')
            'lijem'
            'lija'
            'liju'
            'lio'           (<-'li')
            'uju{cy}i'
            'ujemo'
            'ujete'
            'ujmo'
            'ujem'
            'uje{sx}'
            'uje'
            'uju'           (<-'uj')
            'cajevima'
            'cajevi'
            'cajeva'
            'cajeve'
            'cajama'
            'cajima'
            'cajem'
            'caja'
            'caje'
            'caji'
            'caju'          (<-'caj')
            '{cx}ajevima'
            '{cx}ajevi'
            '{cx}ajeva'
            '{cx}ajeve'
            '{cx}ajama'
            '{cx}ajima'
            '{cx}ajem'
            '{cx}aja'
            '{cx}aje'
            '{cx}aji'
            '{cx}aju'       (<-'{cx}aj')
            '{cy}ajevima'
            '{cy}ajevi'
            '{cy}ajeva'
            '{cy}ajeve'
            '{cy}ajama'
            '{cy}ajima'
            '{cy}ajem'
            '{cy}aja'
            '{cy}aje'
            '{cy}aji'
            '{cy}aju'       (<-'{cy}aj')
            '{dx}ajevima'
            '{dx}ajevi'
            '{dx}ajeva'
            '{dx}ajeve'
            '{dx}ajama'
            '{dx}ajima'
            '{dx}ajem'
            '{dx}aja'
            '{dx}aje'
            '{dx}aji'
            '{dx}aju'       (<-'{dx}aj')
            'lajevima'
            'lajevi'
            'lajeva'
            'lajeve'
            'lajama'
            'lajima'
            'lajem'
            'laja'
            'laje'
            'laji'
            'laju'          (<-'laj')
            'rajevima'
            'rajevi'
            'rajeva'
            'rajeve'
            'rajama'
            'rajima'
            'rajem'
            'raja'
            'raje'
            'raji'
            'raju'          (<-'raj')
            'bijima'
            'bijama'
            'bijom'
            'bija'
            'bije'
            'biji'
            'biju'
            'bijo'          (<-'bij')
            'cijima'
            'cijama'
            'cijom'
            'cija'
            'cije'
            'ciji'
            'ciju'
            'cijo'          (<-'cij')
            'dijima'
            'dijama'
            'dijom'
            'dija'
            'dije'
            'diji'
            'diju'
            'dijo'          (<-'dij')
            'lijima'
            'lijama'
            'lijom'
            'lije'
            'liji'
            'lijo'          (<-'lij')
            'nijama'
            'nijom'
            'nijo'          (<-'nij')
            'mijima'
            'mijama'
            'mijom'
            'mija'
            'mije'
            'miji'
            'miju'
            'mijo'          (<-'mij')
            '{zx}ijima'
            '{zx}ijama'
            '{zx}ijom'
            '{zx}ija'
            '{zx}ije'
            '{zx}iji'
            '{zx}iju'
            '{zx}ijo'       (<-'{zx}ij')
            'gijima'
            'gijama'
            'gijom'
            'gija'
            'gije'
            'giji'
            'giju'
            'gijo'          (<-'gij')
            'fijima'
            'fijama'
            'fijom'
            'fija'
            'fije'
            'fiji'
            'fiju'
            'fijo'          (<-'fij')
            'pijima'
            'pijama'
            'pijom'
            'pija'
            'pije'
            'piji'
            'piju'
            'pijo'          (<-'pij')
            'rijima'
            'rijama'
            'rijom'
            'rija'
            'rije'
            'riji'
            'riju'
            'rijo'          (<-'rij')
            'sijima'
            'sijama'
            'sijom'
            'sije'
            'siji'
            'sijo'          (<-'sij')
            'tijima'
            'tijama'
            'tijom'
            'tija'
            'tije'
            'tiji'
            'tiju'
            'tijo'          (<-'tij')
            'zijima'
            'zijama'
            'zijom'
            'zija'
            'zije'
            'ziji'
            'ziju'
            'zijo'          (<-'zij')
            'nalima'
            'nalama'
            'nalom'
            'nala'
            'nale'
            'nali'
            'nalu'
            'nalo'          (<-'nal')
            'ijalima'
            'ijalama'
            'ijalom'
            'ijala'
            'ijale'
            'ijali'
            'ijalu'
            'ijalo'         (<-'ijal')
            'ozilima'
            'ozilom'
            'ozila'
            'ozile'
            'ozilu'
            'ozili'         (<-'ozil')
            'olovima'
            'olovi'
            'olova'
            'olove'         (<-'olov')
            'olima'
            'olom'
            'ola'
            'olu'
            'ole'
            'oli'           (<-'ol')
            'lemama'
            'lemima'
            'lemom'
            'lema'
            'leme'
            'lemi'
            'lemu'
            'lemo'          (<-'lem')
            'ramama'
            'ramom'
            'rama'
            'rame'
            'rami'
            'ramu'
            'ramo'          (<-'ram')
            'arama'
            'arima'
            'arom'
            'aru'
            'ara'
            'are'
            'ari'           (<-'ar')
            'drama'
            'drima'
            'drom'
            'dru'
            'dra'
            'dre'
            'dri'           (<-'dr')
            'erama'
            'erima'
            'erom'
            'eru'
            'era'
            'ere'
            'eri'           (<-'er')
            'orama'
            'orima'
            'orom'
            'oru'
            'ora'
            'ore'
            'ori'           (<-'or')
            'esima'
            'esom'
            'ese'
            'esa'
            'esu'           (<-'es')
            'isima'
            'isom'
            'ise'
            'isa'
            'isu'           (<-'is')
            'ta{sx}ama'
            'ta{sx}ima'
            'ta{sx}om'
            'ta{sx}em'
            'ta{sx}a'
            'ta{sx}u'
            'ta{sx}i'
            'ta{sx}e'       (<-'ta{sx}')
            'na{sx}ama'
            'na{sx}ima'
            'na{sx}om'
            'na{sx}em'
            'na{sx}a'
            'na{sx}u'
            'na{sx}i'
            'na{sx}e'       (<-'na{sx}')
            'ja{sx}ama'
            'ja{sx}ima'
            'ja{sx}om'
            'ja{sx}em'
            'ja{sx}a'
            'ja{sx}u'
            'ja{sx}i'
            'ja{sx}e'       (<-'ja{sx}')
            'ka{sx}ama'
            'ka{sx}ima'
            'ka{sx}om'
            'ka{sx}em'
            'ka{sx}a'
            'ka{sx}u'
            'ka{sx}i'
            'ka{sx}e'       (<-'ka{sx}')
            'ba{sx}ama'
            'ba{sx}ima'
            'ba{sx}om'
            'ba{sx}em'
            'ba{sx}a'
            'ba{sx}u'
            'ba{sx}i'
            'ba{sx}e'       (<-'ba{sx}')
            'ga{sx}ama'
            'ga{sx}ima'
            'ga{sx}om'
            'ga{sx}em'
            'ga{sx}a'
            'ga{sx}u'
            'ga{sx}i'
            'ga{sx}e'       (<-'ga{sx}')
            'va{sx}ama'
            'va{sx}ima'
            'va{sx}om'
            'va{sx}em'
            'va{sx}a'
            'va{sx}u'
            'va{sx}i'
            'va{sx}e'       (<-'va{sx}')
            'e{sx}ima'
            'e{sx}ama'
            'e{sx}om'
            'e{sx}em'
            'e{sx}i'
            'e{sx}e'
            'e{sx}a'
            'e{sx}u'        (<-'e{sx}')
            'i{sx}ima'
            'i{sx}ama'
            'i{sx}om'
            'i{sx}em'
            'i{sx}i'
            'i{sx}e'
            'i{sx}a'
            'i{sx}u'        (<-'i{sx}')
            'ikatima'
            'ikatom'
            'ikata'
            'ikate'
            'ikati'
            'ikatu'
            'ikato'         (<-'ikat')
            'latima'
            'latom'
            'lata'
            'late'
            'lati'
            'latu'
            'lato'          (<-'lat')
            'etama'
            'etima'
            'etom'
            'eta'
            'ete'
            'eti'
            'etu'
            'eto'           (<-'et')
            'estima'
            'estama'
            'estom'
            'esta'
            'este'
            'esti'
            'estu'
            'esto'          (<-'est')
            'istima'
            'istama'
            'istom'
            'ista'
            'iste'
            'isti'
            'istu'
            'isto'          (<-'ist')
            'kstima'
            'kstama'
            'kstom'
            'ksta'
            'kste'
            'ksti'
            'kstu'
            'ksto'          (<-'kst')
            'ostima'
            'ostama'
            'ostom'
            'osta'
            'oste'
            'osti'
            'ostu'
            'osto'          (<-'ost')
            'i{sx}tima'
            'i{sx}tem'
            'i{sx}ta'
            'i{sx}te'
            'i{sx}tu'       (<-'i{sx}t')
            'ovasmo'
            'ovaste'
            'ovahu'
            'ovati'
            'ova{sx}e'
            'ovali'
            'ovala'
            'ovale'
            'ovalo'
            'ovat'
            'ovah'
            'ovao'          (<-'ova')
            'avijemu'
            'avijima'
            'avijega'
            'avijeg'
            'avijem'
            'avemu'
            'avega'
            'aveg'
            'avem'
            'avijim'
            'avijih'
            'avijoj'
            'avoga'
            'avome'
            'avomu'
            'avima'
            'avama'
            'aviji'
            'avije'
            'avija'
            'aviju'
            'avim'
            'avih'
            'avoj'
            'avom'
            'avog'
            'avi'
            'ava'
            'avu'
            'ave'
            'avo'           (<-'av')
            'evijemu'
            'evijima'
            'evijega'
            'evijeg'
            'evijem'
            'evemu'
            'evega'
            'eveg'
            'evem'
            'evijim'
            'evijih'
            'evijoj'
            'evoga'
            'evome'
            'evomu'
            'evima'
            'evama'
            'eviji'
            'evije'
            'evija'
            'eviju'
            'evim'
            'evih'
            'evoj'
            'evom'
            'evog'
            'evi'
            'eva'
            'evu'
            'eve'
            'evo'           (<-'ev')
            'ivijemu'
            'ivijima'
            'ivijega'
            'ivijeg'
            'ivijem'
            'ivemu'
            'ivega'
            'iveg'
            'ivem'
            'ivijim'
            'ivijih'
            'ivijoj'
            'ivoga'
            'ivome'
            'ivomu'
            'ivima'
            'ivama'
            'iviji'
            'ivije'
            'ivija'
            'iviju'
            'ivim'
            'ivih'
            'ivoj'
            'ivom'
            'ivog'
            'ivi'
            'iva'
            'ivu'
            'ive'
            'ivo'           (<-'iv')
            'ovijemu'
            'ovijima'
            'ovijega'
            'ovijeg'
            'ovijem'
            'ovemu'
            'ovega'
            'oveg'
            'ovijim'
            'ovijih'
            'ovijoj'
            'ovoga'
            'ovome'
            'ovomu'
            'ovima'
            'oviji'
            'ovije'
            'ovija'
            'oviju'
            'ovim'
            'ovih'
            'ovoj'
            'ovom'
            'ovog'
            'ovi'
            'ova'
            'ovu'
            'ove'
            'ovo'           (<-'ov')
            'movima'
            'movom'
            'mova'
            'movu'
            'move'
            'movi'          (<-'mov')
            'lovima'
            'lovom'
            'lova'
            'lovu'
            'love'
            'lovi'          (<-'lov')
            'elijemu'
            'elijima'
            'elijega'
            'elijeg'
            'elijem'
            'elemu'
            'elega'
            'eleg'
            'elem'
            'elijim'
            'elijih'
            'elijoj'
            'eloga'
            'elome'
            'elomu'
            'elima'
            'eliji'
            'elije'
            'elija'
            'eliju'
            'elim'
            'elih'
            'eloj'
            'elom'
            'elog'
            'eli'
            'ela'
            'elu'
            'ele'
            'elo'           (<-'el')
            'anjijemu'
            'anjijima'
            'anjijega'
            'anjijeg'
            'anjijem'
            'anjemu'
            'anjega'
            'anjeg'
            'anjem'
            'anjijim'
            'anjijih'
            'anjijoj'
            'anjoga'
            'anjome'
            'anjomu'
            'anjima'
            'anjiji'
            'anjije'
            'anjija'
            'anjiju'
            'anjim'
            'anjih'
            'anjoj'
            'anjom'
            'anjog'
            'anja'
            'anje'
            'anji'
            'anjo'
            'anju'          (<-'anj')
            'enjijemu'
            'enjijima'
            'enjijega'
            'enjijeg'
            'enjijem'
            'enjemu'
            'enjega'
            'enjeg'
            'enjem'
            'enjijim'
            'enjijih'
            'enjijoj'
            'enjoga'
            'enjome'
            'enjomu'
            'enjima'
            'enjiji'
            'enjije'
            'enjija'
            'enjiju'
            'enjim'
            'enjih'
            'enjoj'
            'enjom'
            'enjog'
            'enja'
            'enje'
            'enji'
            'enjo'
            'enju'          (<-'enj')
            '{sx}njijemu'
            '{sx}njijima'
            '{sx}njijega'
            '{sx}njijeg'
            '{sx}njijem'
            '{sx}njemu'
            '{sx}njega'
            '{sx}njeg'
            '{sx}njem'
            '{sx}njijim'
            '{sx}njijih'
            '{sx}njijoj'
            '{sx}njoga'
            '{sx}njome'
            '{sx}njomu'
            '{sx}njima'
            '{sx}njiji'
            '{sx}njije'
            '{sx}njija'
            '{sx}njiju'
            '{sx}njim'
            '{sx}njih'
            '{sx}njoj'
            '{sx}njom'
            '{sx}njog'
            '{sx}nja'
            '{sx}nje'
            '{sx}nji'
            '{sx}njo'
            '{sx}nju'       (<-'{sx}nj')
            'anemu'
            'anega'
            'aneg'
            'anem'          (<-'an')
            'enemu'
            'enega'
            'eneg'
            'enem'          (<-'en')
            '{sx}nemu'
            '{sx}nega'
            '{sx}neg'
            '{sx}nem'       (<-'{sx}n')
            '{cx}inama'
            '{cx}inome'
            '{cx}inomu'
            '{cx}inoga'
            '{cx}inima'
            '{cx}inog'
            '{cx}inom'
            '{cx}inim'
            '{cx}inih'
            '{cx}inoj'
            '{cx}ina'
            '{cx}inu'
            '{cx}ini'
            '{cx}ino'
            '{cx}ine'       (<-'{cx}in')
            'ro{sx}iv{sx}i'
            'ro{sx}ismo'
            'ro{sx}iste'
            'ro{sx}i{sx}e'
            'ro{sx}imo'
            'ro{sx}ite'
            'ro{sx}iti'
            'ro{sx}ili'
            'ro{sx}ila'
            'ro{sx}ilo'
            'ro{sx}ile'
            'ro{sx}im'
            'ro{sx}i{sx}'
            'ro{sx}it'
            'ro{sx}ih'
            'ro{sx}io'      (<-'ro{sx}i')
            'o{sx}ijemu'
            'o{sx}ijima'
            'o{sx}ijega'
            'o{sx}ijeg'
            'o{sx}ijem'
            'o{sx}emu'
            'o{sx}ega'
            'o{sx}eg'
            'o{sx}em'
            'o{sx}ijim'
            'o{sx}ijih'
            'o{sx}ijoj'
            'o{sx}oga'
            'o{sx}ome'
            'o{sx}omu'
            'o{sx}ima'
            'o{sx}iji'
            'o{sx}ije'
            'o{sx}ija'
            'o{sx}iju'
            'o{sx}im'
            'o{sx}ih'
            'o{sx}oj'
            'o{sx}om'
            'o{sx}og'
            'o{sx}i'
            'o{sx}a'
            'o{sx}u'
            'o{sx}e'        (<-'o{sx}')
            'evitijima'
            'evitijega'
            'evitijemu'
            'evitijem'
            'evitega'
            'evitemu'
            'evitem'
            'evitijim'
            'evitijih'
            'evitijoj'
            'evitijeg'
            'evitiji'
            'evitije'
            'evitija'
            'evitoga'
            'evitome'
            'evitomu'
            'evitima'
            'evitog'
            'evitom'
            'evitim'
            'evitih'
            'evitoj'
            'eviti'
            'evite'
            'evito'
            'evita'
            'evitu'         (<-'evit')
            'ovitijima'
            'ovitijega'
            'ovitijemu'
            'ovitijem'
            'ovitega'
            'ovitemu'
            'ovitem'
            'ovitijim'
            'ovitijih'
            'ovitijoj'
            'ovitijeg'
            'ovitiji'
            'ovitije'
            'ovitija'
            'ovitoga'
            'ovitome'
            'ovitomu'
            'ovitima'
            'ovitog'
            'ovitom'
            'ovitim'
            'ovitih'
            'ovitoj'
            'oviti'
            'ovite'
            'ovito'
            'ovita'
            'ovitu'         (<-'ovit')
            'astijima'
            'astijega'
            'astijemu'
            'astijem'
            'astega'
            'astemu'
            'astem'
            'astijim'
            'astijih'
            'astijoj'
            'astijeg'
            'astiji'
            'astije'
            'astija'
            'astoga'
            'astome'
            'astomu'
            'astima'
            'astog'
            'astom'
            'astim'
            'astih'
            'astoj'
            'asti'
            'aste'
            'asto'
            'asta'
            'astu'          (<-'ast')
            'kijemu'
            'kijima'
            'kijega'
            'kijeg'
            'kijem'
            'kemu'
            'kega'
            'keg'
            'kem'
            'kijim'
            'kijih'
            'kijoj'
            'koga'
            'kome'
            'komu'
            'kima'
            'kiji'
            'kije'
            'kija'
            'kiju'
            'kim'
            'kih'
            'koj'
            'kom'
            'kog'
            'kov'
            'ki'
            'ka'
            'ku'
            'ke'
            'ko'            (<-'k')
            'evaju{cy}i'
            'evasmo'
            'evaste'
            'evajmo'
            'evajte'
            'evaju'
            'evala'
            'evale'
            'evali'
            'evalo'
            'evamo'
            'evana'
            'evane'
            'evani'
            'evano'
            'evate'
            'evati'
            'eva{sx}e'
            'evahu'
            'evah'
            'evaj'
            'evam'
            'evan'
            'evao'
            'evat'
            'evav'
            'eva{sx}'       (<-'eva')
            'avaju{cy}i'
            'avasmo'
            'avaste'
            'avajmo'
            'avajte'
            'avaju'
            'avala'
            'avale'
            'avali'
            'avalo'
            'avamo'
            'avana'
            'avane'
            'avani'
            'avano'
            'avate'
            'avati'
            'ava{sx}e'
            'avahu'
            'avah'
            'avaj'
            'avam'
            'avan'
            'avao'
            'avat'
            'avav'
            'ava{sx}'       (<-'ava')
            'ivaju{cy}i'
            'ivasmo'
            'ivaste'
            'ivajmo'
            'ivajte'
            'ivaju'
            'ivala'
            'ivale'
            'ivali'
            'ivalo'
            'ivamo'
            'ivana'
            'ivane'
            'ivani'
            'ivano'
            'ivate'
            'ivati'
            'iva{sx}e'
            'ivahu'
            'ivah'
            'ivaj'
            'ivam'
            'ivan'
            'ivao'
            'ivat'
            'ivav'
            'iva{sx}'       (<-'iva')
            'uvaju{cy}i'
            'uvasmo'
            'uvaste'
            'uvajmo'
            'uvajte'
            'uvaju'
            'uvala'
            'uvale'
            'uvali'
            'uvalo'
            'uvamo'
            'uvana'
            'uvane'
            'uvani'
            'uvano'
            'uvate'
            'uvati'
            'uva{sx}e'
            'uvahu'
            'uvah'
            'uvaj'
            'uvam'
            'uvan'
            'uvao'
            'uvat'
            'uvav'
            'uva{sx}'       (<-'uva')
            'irujemo'
            'irujete'
            'iruju{cy}i'
            'iraju{cy}i'
            'irivat'
            'irujem'
            'iruje{sx}'
            'irujmo'
            'irujte'
            'irav{sx}i'
            'irasmo'
            'iraste'
            'irati'
            'iramo'
            'irate'
            'iraju'
            'ira{sx}e'
            'irahu'
            'irala'
            'iralo'
            'irali'
            'irale'
            'iruje'
            'iruju'
            'iruj'
            'iral'
            'iran'
            'iram'
            'ira{sx}'
            'irat'
            'irah'
            'irao'          (<-'ir')
            'a{cx}ismo'
            'a{cx}iste'
            'a{cx}iti'
            'a{cx}imo'
            'a{cx}ite'
            'a{cx}i{sx}e'
            'a{cx}e{cy}i'
            'a{cx}ila'
            'a{cx}ilo'
            'a{cx}ili'
            'a{cx}ile'
            'a{cx}ena'
            'a{cx}eno'
            'a{cx}eni'
            'a{cx}ene'
            'a{cx}io'
            'a{cx}im'
            'a{cx}i{sx}'
            'a{cx}it'
            'a{cx}ih'
            'a{cx}en'
            'a{cx}i'
            'a{cx}e'        (<-'a{cx}')
            'a{cx}av{sx}i'
            'a{cx}asmo'
            'a{cx}aste'
            'a{cx}ahu'
            'a{cx}ati'
            'a{cx}amo'
            'a{cx}ate'
            'a{cx}a{sx}e'
            'a{cx}ala'
            'a{cx}alo'
            'a{cx}ali'
            'a{cx}ale'
            'a{cx}aju'
            'a{cx}ana'
            'a{cx}ano'
            'a{cx}ani'
            'a{cx}ane'
            'a{cx}ao'
            'a{cx}am'
            'a{cx}a{sx}'
            'a{cx}at'
            'a{cx}ah'
            'a{cx}an'       (<-'a{cx}a')
            'nuv{sx}i'
            'nusmo'
            'nuste'
            'nu{cy}i'
            'nimo'
            'nite'
            'nemo'
            'nete'
            'nula'
            'nulo'
            'nule'
            'nuli'
            'nuto'
            'nuti'
            'nuta'
            'ne{sx}'
            'nuo'
            'nut'           (<-'n')
            'niv{sx}i'
            'nismo'
            'niste'
            'niti'
            'nila'
            'nilo'
            'nile'
            'nili'
            'ni{sx}'
            'nio'           (<-'ni')
            'aju{cy}i'
            'av{sx}i'
            'asmo'
            'ajmo'
            'ajte'
            'ajem'
            'aloj'
            'amo'
            'ate'
            'aje'
            'aju'
            'ati'
            'a{sx}e'
            'ahu'
            'ala'
            'ali'
            'ale'
            'alo'
            'ano'
            'at'
            'ah'
            'ao'
            'aj'
            'an'
            'am'
            'a{sx}'         (<-'a')
            'uraju{cy}i'
            'urasmo'
            'uraste'
            'urajmo'
            'urajte'
            'uramo'
            'urate'
            'uraju'
            'urati'
            'ura{sx}e'
            'urahu'
            'urala'
            'urali'
            'urale'
            'uralo'
            'urana'
            'urano'
            'urani'
            'urane'
            'ural'
            'urat'
            'urah'
            'urao'
            'uraj'
            'uran'
            'uram'
            'ura{sx}'       (<-'ur')
            'astajasmo'
            'astajaste'
            'astajahu'
            'astajati'
            'astajemo'
            'astajete'
            'astaja{sx}e'
            'astajali'
            'astaju{cy}i'
            'astajala'
            'astajalo'
            'astajale'
            'astajmo'
            'astajao'
            'astajem'
            'astaje{sx}'
            'astajat'
            'astajah'
            'astajte'
            'astaje'
            'astaju'        (<-'astaj')
            'istajasmo'
            'istajaste'
            'istajahu'
            'istajati'
            'istajemo'
            'istajete'
            'istaja{sx}e'
            'istajali'
            'istaju{cy}i'
            'istajala'
            'istajalo'
            'istajale'
            'istajmo'
            'istajao'
            'istajem'
            'istaje{sx}'
            'istajat'
            'istajah'
            'istajte'
            'istaje'
            'istaju'        (<-'istaj')
            'ostajasmo'
            'ostajaste'
            'ostajahu'
            'ostajati'
            'ostajemo'
            'ostajete'
            'ostaja{sx}e'
            'ostajali'
            'ostaju{cy}i'
            'ostajala'
            'ostajalo'
            'ostajale'
            'ostajmo'
            'ostajao'
            'ostajem'
            'ostaje{sx}'
            'ostajat'
            'ostajah'
            'ostajte'
            'ostaje'
            'ostaju'        (<-'ostaj')
            'alama'
            'alima'
            'alom'
            'alu'
            'al'            (<-'a')
            'ajevima'
            'ajevi'
            'ajeva'
            'ajeve'
            'ajama'
            'ajima'
            'aja'
            'aji'           (<-'aj')
            'astadosmo'
            'astadoste'
            'astado{sx}e'
            'astanemo'
            'astademo'
            'astanete'
            'astadete'
            'astanimo'
            'astanite'
            'astanila'
            'astav{sx}i'
            'astanem'
            'astadem'
            'astane{sx}'
            'astade{sx}'
            'astadoh'
            'astade'
            'astati'
            'astane'
            'astanu'
            'astadu'
            'astala'
            'astali'
            'astalo'
            'astale'
            'astat'
            'astao'         (<-'asta')
            'istadosmo'
            'istadoste'
            'istado{sx}e'
            'istanemo'
            'istademo'
            'istanete'
            'istadete'
            'istanimo'
            'istanite'
            'istanila'
            'istav{sx}i'
            'istanem'
            'istadem'
            'istane{sx}'
            'istade{sx}'
            'istadoh'
            'istade'
            'istati'
            'istane'
            'istanu'
            'istadu'
            'istala'
            'istali'
            'istalo'
            'istale'
            'istat'
            'istao'         (<-'ista')
            'ostadosmo'
            'ostadoste'
            'ostado{sx}e'
            'ostanemo'
            'ostademo'
            'ostanete'
            'ostadete'
            'ostanimo'
            'ostanite'
            'ostanila'
            'ostav{sx}i'
            'ostanem'
            'ostadem'
            'ostane{sx}'
            'ostade{sx}'
            'ostadoh'
            'ostade'
            'ostati'
            'ostane'
            'ostanu'
            'ostadu'
            'ostala'
            'ostali'
            'ostalo'
            'ostale'
            'ostat'
            'ostao'         (<-'osta')
            'tasmo'
            'taste'
            'tajmo'
            'tajte'
            'tav{sx}i'
            'tati'
            'tamo'
            'tate'
            'taju'
            'tala'
            'talo'
            'tale'
            'tali'
            'tana'
            'tano'
            'tani'
            'tane'
            'tan'
            'taj'
            'tao'
            'tam'
            'ta{sx}'
            'tat'
            'tah'           (<-'ta')
            'injasmo'
            'injaste'
            'injati'
            'injemo'
            'injete'
            'injali'
            'injala'
            'injalo'
            'injale'
            'inja{sx}e'
            'injahu'
            'injem'
            'inje{sx}'
            'injat'
            'injah'
            'injao'         (<-'inj')
            'astemo'
            'astete'
            'astimo'
            'astite'
            'astu{cy}i'
            'aste{sx}'
            'asli'
            'asla'
            'aslo'
            'asle'          (<-'as')
            'iv{sx}i'
            'ie{cy}i'
            'ismo'
            'imo'
            'ite'
            'iti'
            'ili'
            'ila'
            'ilo'
            'ile'
            'im'
            'i{sx}'
            'it'
            'ih'
            'io'            (<-'i')
            'ijemo'
            'ijete'
            'ijem'
            'ije{sx}'
            'ijmo'
            'ijte'
            'iju'
            'ije'
            'ij'
            'ilu'           (<-'i')
            'lu{cx}ujete'
            'lu{cx}uju{cy}i'
            'lu{cx}ujemo'
            'lu{cx}ujem'
            'lu{cx}uje{sx}'
            'lu{cx}ismo'
            'lu{cx}iste'
            'lu{cx}ujmo'
            'lu{cx}ujte'
            'lu{cx}uje'
            'lu{cx}uju'
            'lu{cx}i{sx}e'
            'lu{cx}iti'
            'lu{cx}imo'
            'lu{cx}ite'
            'lu{cx}ila'
            'lu{cx}ilo'
            'lu{cx}ili'
            'lu{cx}ile'
            'lu{cx}ena'
            'lu{cx}eno'
            'lu{cx}eni'
            'lu{cx}ene'
            'lu{cx}uj'
            'lu{cx}io'
            'lu{cx}en'
            'lu{cx}im'
            'lu{cx}i{sx}'
            'lu{cx}it'
            'lu{cx}ih'
            'lu{cx}e'
            'lu{cx}i'       (<-'lu{cx}')
            'jetismo'
            'jetiste'
            'jeti{sx}e'
            'jetimo'
            'jetite'
            'jetiti'
            'jetili'
            'jetila'
            'jetilo'
            'jetile'
            'jetim'
            'jeti{sx}'
            'jetit'
            'jetih'
            'jetio'         (<-'jeti')
            'emo'
            'em'
            'e{sx}'
            'elama'
            'el'            (<-'e')
            'ilama'
            'ilima'
            'ilom'
            'il'            (<-'i')
            'atijega'
            'atijemu'
            'atijima'
            'atijeg'
            'atijem'
            'atega'
            'atemu'
            'ateg'
            'atem'
            'atijih'
            'atijim'
            'atima'
            'atoga'
            'atome'
            'atomu'
            'atiji'
            'atije'
            'atija'
            'atiju'
            'atoj'
            'atog'
            'atom'
            'atim'
            'atih'
            'ata'
            'atu'
            'ato'           (<-'at')
            'etav{sx}i'
            'etu{cy}i'
            'etemo'
            'etimo'
            'etem'
            'ete{sx}'       (<-'et')
            'lucujuci'
            'lucujemo'
            'lucujete'
            'lucujem'
            'lucujes'
            'lucujmo'
            'lucujte'
            'lucismo'
            'luciste'
            'luciti'
            'lucite'
            'lucise'
            'lucuje'
            'lucuju'
            'lucila'
            'lucile'
            'lucili'
            'lucilo'
            'lucena'
            'luceni'
            'lucene'
            'luceno'
            'lucimo'
            'lucim'
            'lucis'
            'lucih'
            'lucit'
            'lucio'
            'lucuj'
            'lucen'
            'luce'
            'luci'          (R2 <-'luc')
            'snjijima'
            'snjijemu'
            'snjijega'
            'snjijim'
            'snjijih'
            'snjijeg'
            'snjijoj'
            'snjiji'
            'snjija'
            'snjije'
            'snjiju'
            'snjima'
            'snjemu'
            'snjomu'
            'snjome'
            'snjega'
            'snjoga'
            'snjih'
            'snjim'
            'snjem'
            'snjom'
            'snjeg'
            'snjog'
            'snjoj'
            'snja'
            'snje'
            'snji'
            'snjo'
            'snju'          (R2 <-'snj')
            'osijima'
            'osijemu'
            'osijega'
            'snjijem'
            'osijih'
            'osijim'
            'osijem'
            'osijeg'
            'osijoj'
            'osima'
            'osemu'
            'osomu'
            'osome'
            'osega'
            'osoga'
            'osija'
            'osije'
            'osiji'
            'osiju'
            'osih'
            'osim'
            'osem'
            'osom'
            'oseg'
            'osog'
            'osoj'
            'osa'
            'ose'
            'osi'
            'osu'           (R2 <-'os')
            'acismo'
            'aciste'
            'acima'
            'acimo'
            'acome'
            'acomu'
            'acite'
            'aciti'
            'acise'
            'acila'
            'acile'
            'acili'
            'acilo'
            'acega'
            'acene'
            'aceci'
            'aceni'
            'acemu'
            'acena'
            'aceno'
            'acoga'
            'acoj'
            'acih'
            'acem'
            'acom'
            'acen'
            'acog'
            'acit'
            'acio'
            'aceg'
            'acim'
            'acuh'
            'acis'
            'ace'
            'aca'
            'aci'           (R2 <-'ac')
            'ecome'
            'ecoga'
            'ecemu'
            'ecima'
            'ecega'
            'ecomu'
            'ecoj'
            'ecuh'
            'ecom'
            'ecog'
            'eceg'
            'ecih'
            'ecem'
            'ecim'
            'eca'
            'ece'           (R2 <-'ec')
            'ucomu'
            'ucome'
            'ucima'
            'ucoga'
            'ucega'
            'ucemu'
            'ucih'
            'ucog'
            'uceg'
            'ucom'
            'ucem'
            'ucim'
            'ucuh'
            'ucoj'
            'uca'
            'uce'           (R2 <-'uc')
            'rosismo'
            'rosivsi'
            'rosiste'
            'rositi'
            'rosili'
            'rosise'
            'rosite'
            'rosilo'
            'rosimo'
            'rosile'
            'rosila'
            'rosit'
            'rosis'
            'rosio'
            'rosim'
            'rosih'         (R2 <-'rosi')
            'acavsi'
            'acaste'
            'acasmo'
            'acaju'
            'acane'
            'acate'
            'acali'
            'acani'
            'acati'
            'acale'
            'acahu'
            'acase'
            'acano'
            'acamo'
            'acalo'
            'acana'
            'acala'
            'acam'
            'acan'
            'acao'
            'acas'
            'acat'
            'acah'          (R2 <-'aca')
            'jasima'
            'jasama'
            'jasem'
            'jasom'
            'jase'
            'jasi'
            'jasa'
            'jasu'          (R2 <-'jas')
            'tasima'
            'tasama'
            'tasem'
            'tasom'
            'tase'
            'tasa'
            'tasu'
            'tasi'          (R2 <-'tas')
            'gasima'
            'gasama'
            'gasem'
            'gasom'
            'gasi'
            'gasu'
            'gase'
            'gasa'          (R2 <-'gas')
            'nasama'
            'nasima'
            'nasem'
            'nasom'
            'nasu'
            'nasi'
            'nase'
            'nasa'          (R2 <-'nas')
            'kasama'
            'kasima'
            'kasom'
            'kasem'
            'kasi'
            'kasu'
            'kase'
            'kasa'          (R2 <-'kas')
            'vasama'
            'vasima'
            'vasom'
            'vasem'
            'vasi'
            'vase'
            'vasa'
            'vasu'          (R2 <-'vas')
            'basama'
            'basima'
            'basom'
            'basem'
            'basi'
            'base'
            'basu'
            'basa'          (R2 <-'bas')
            'astuci'
            'astes'         (R2 <-'as')
            'cinima'
            'cinome'
            'cinama'
            'cinomu'
            'cinoga'
            'cinom'
            'cinih'
            'cinim'
            'cinog'
            'cinoj'
            'cino'
            'cini'
            'cinu'
            'cine'
            'cina'          (R2 <-'cin')
            'astajase'
            'astajuci'
            'astajes'       (R2 <-'astaj')
            'istajase'
            'istajuci'
            'istajes'       (R2 <-'istaj')
            'ostajase'
            'ostajuci'
            'ostajes'       (R2 <-'ostaj')
            'astadose'
            'astades'
            'astanes'
            'astavsi'       (R2 <-'asta')
            'istadose'
            'istades'
            'istanes'
            'istavsi'       (R2 <-'ista')
            'ostadose'
            'ostades'
            'ostanes'
            'ostavsi'       (R2 <-'osta')
            'avajuci'
            'avase'
            'avas'          (R2 <-'ava')
            'evajuci'
            'evase'
            'evas'          (R2 <-'eva')
            'ivajuci'
            'ivase'
            'ivas'          (R2 <-'iva')
            'uvajuci'
            'uvase'
            'uvas'          (R2 <-'uva')
            'ovase'         (R2 <-'ova')
            'jetise'
            'jetis'         (R2 <-'jeti')
            'injase'
            'injes'         (R2 <-'inj')
            'istem'         (R2 <-'ist')
            'esama'
            'esem'
            'esi'           (R2 <-'es')
            'etavsi'
            'etuci'
            'etes'          (R2 <-'et')
            'isama'
            'isem'
            'isi'           (R2 <-'is')
            'irajuci'
            'irujuci'
            'irujes'
            'iravsi'
            'irase'
            'iras'          (R2 <-'ir')
            'urajuci'
            'urase'
            'uras'          (R2 <-'ur')
            'ujuci'
            'ujes'          (R2 <-'uj')
            'nivsi'
            'nis'           (R2 <-'ni')
            'snega'
            'snemu'
            'snem'
            'sneg'          (R2 <-'sn')
            'tavsi'
            'tas'           (R2 <-'ta')
            'ajuci'
            'avsi'
            'ase'
            'as'            (R2 <-'a')
            'ijes'
            'ivsi'
            'ieci'
            'is'            (R2 <-'i')
            'es'            (R2 <-'e')
            'nuvsi'
            'nuci'
            'nes'           (R2 <-'n')
        )
    )
    
    define Step_3 as (
        [substring] R1 among (
            'enom'
            'enoj'
            'enog'
            'enim'
            'enih'
            'anoj'
            'anog'
            'anim'
            'anih'
            'ost'
            'eno'
            'eni'
            'oga'
            'ima'
            'enu'
            'ena'
            'ama'
            'ano'
            'ani'
            'om'
            'og'
            'u'
            'o'
            'i'
            'e'
            'a'             (<-'')
        )
    )
)

define stem as (
    do cyr_to_lat
    do prelude
    do mark_regions
    backwards (
        do Step_1
        do (Step_2 or Step_3)
    )
)