/* 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)
    )
)
