from typing import List

ne_and_n: List[str] = ["abdomen", "abdomine", "abolitione", "absolutione", "absone", "abstine", "acclamatione",
                       "accone", "accusatione", "acerne", "acesten", "acheron", "achillan", "actione", "acumen",
                       "acumine", "ademptione", "adfectione", "adfirmatione", "adjectione", "adjunctione", "adline",
                       "administratione", "admiratione", "admone", "admurmuratione", "adoptione", "adoratione",
                       "adsectatione", "adsensione", "adseveratione", "adsuetudine", "adulatione", "adulterine",
                       "advocatione", "aegeaten", "aegritudine", "aemiliane", "aemulatione", "aene", "aenean",
                       "aequiparatione", "aesernine", "aestimatione", "aeterne", "affectatione", "africane",
                       "agamemnon", "agamemnone", "agasone", "agerine", "agitatione", "agmen", "agmine", "agne",
                       "agnine", "agnitione", "agon", "agone", "ahene", "ain", "albane", "albine", "aleone",
                       "alexandrine", "alienatione", "aliene", "alioquin", "alipten", "alisone", "allocutione", "alne",
                       "alpine", "altercatione", "alterne", "altitudine", "alumne", "amane", "amaritudine", "amazon",
                       "amazone", "ambitione", "ambrone", "amerine", "amne", "amoene", "amphion", "amphione",
                       "amplitudine", "an", "anagnosten", "androgyne", "anien", "aniene", "animadversione", "anione",
                       "anne", "annon", "anteambulone", "antelucane", "antepone", "antiochene", "antiopen", "apennine",
                       "apion", "apione", "apolline", "appellatione", "appennine", "appiane", "applicatione", "appone",
                       "aquilone", "aquitane", "arausione", "arcane", "ardalione", "argumentatione", "argyranchen",
                       "arietine", "ariobarzane", "arion", "arione", "aristomene", "aristophane", "aristoxene", "arne",
                       "arretine", "artabane", "artaxian", "arulene", "arundine", "arverne", "asculane", "asiane",
                       "asine", "asinine", "aspersione", "atquin", "attamen", "attine", "auctione", "aufidiene",
                       "autumne", "aventine", "averne", "avocatione", "bactriane", "baiane", "balatrone", "basiatione",
                       "beatitudine", "bene", "benigne", "biduane", "bithyne", "bolane", "bone", "borean", "bosphorane",
                       "brundisine", "bubone", "buccone", "cachinne", "cacumen", "cacumine", "caelamen", "caelamine",
                       "caeliane", "caepione", "calagurritane", "calene", "caligine", "calone", "calypsone", "camine",
                       "campane", "cane", "canine", "cantamen", "cantamine", "cantatione", "cantione", "capitoline",
                       "capitone", "caprine", "captatione", "carbone", "cardine", "carmen", "carmine", "carne",
                       "carthagine", "cassivellaune", "castigatione", "catacecaumene", "catone", "catonine", "caudine",
                       "caune", "caupone", "cautione", "cavarine", "cbelen", "cecropiden", "celebratione", "cenatione",
                       "censorine", "centene", "centumgemine", "centurione", "cephison", "cerne", "certamen",
                       "certamine", "cervine", "cessione", "chaon", "charon", "christiane", "cicerone", "cicone",
                       "cincinne", "circumpadane", "cisrhenane", "cithaeron", "cithaerone", "citreagine", "clandestine",
                       "clane", "claritudine", "clmene", "clmenen", "cn", "coccine", "coemptione", "coercitione",
                       "cogitatione", "cognatione", "cognitione", "cognomen", "cognomine", "collatine", "collatione",
                       "collectione", "colline", "colone", "colophon", "colophone", "cometen", "comissatione",
                       "commagene", "commemine", "commemoratione", "commilitone", "commone", "commutatione",
                       "comparatione", "comploratione", "compone", "comprecatione", "compressione", "computatione",
                       "conceptione", "concine", "concione", "concubine", "concursione", "condicione", "cone",
                       "confarreatione", "confessione", "confine", "confirmatione", "confusione", "conjunctione",
                       "conjuratione", "conlocatione", "consensione", "conservatione", "consobrine", "consone",
                       "conspiratione", "consternatione", "constitutione", "consuetudine", "consultatione",
                       "consummatione", "contagione", "contemne", "contemplatione", "contemptione", "contentione",
                       "contermine", "contestatione", "contine", "continuatione", "contione", "conversatione", "copone",
                       "coriolane", "cornicen", "cornicine", "corniculane", "corruptione", "cotidiane", "cottidiane",
                       "crabrone", "crassitudine", "crastine", "creon", "crepidine", "crimen", "criminatione",
                       "crimine", "crine", "crispine", "culmen", "culmine", "cumane", "cunctatione", "cunne",
                       "cupidine", "curatione", "curvamen", "curvamine", "cycne", "damnatione", "dardane", "dardaniden",
                       "datione", "daune", "decerne", "decessione", "deciane", "declamatione", "declinatione",
                       "decumane", "decurione", "dedicatione", "deditione", "deductione", "defectione", "defensione",
                       "definitione", "dein", "delectatione", "delfin", "delfine", "deliberatione", "deline",
                       "deliratione", "delphin", "delphine", "deminutione", "demonstratione", "demosthene", "depone",
                       "deprecatione", "designatione", "desine", "desperatione", "destinatione", "desuetudine",
                       "detestatione", "detine", "detruncatione", "deucalione", "devotione", "dicione", "dictione",
                       "didone", "dignatione", "digne", "dilatione", "dimicatione", "diogene", "dircen", "diremptione",
                       "direptione", "disceptatione", "discerne", "discessione", "discrimen", "discrimine", "dispone",
                       "dispositione", "disputatione", "disquisitione", "dissensione", "dissimilitudine",
                       "dissimulatione", "dissolutione", "dissone", "distributione", "disturbatione", "diurne",
                       "diutine", "diuturne", "divinatione", "divine", "divisione", "dnasten", "dominatione", "domine",
                       "domitiane", "domuitione", "dracone", "drusiane", "dubitatione", "ducene", "dulcedine",
                       "duodevicene", "duovicene", "eburne", "eburone", "edictione", "efflagitatione", "effrene",
                       "egene", "egestione", "ejulatione", "eleaten", "electione", "elephantine", "elephantinen",
                       "eleusine", "emine", "emissione", "emptione", "en", "endmion", "endmione", "enuptione",
                       "epulone", "eridane", "eruptione", "euclione", "euhadne", "euhadnen", "eumene", "eune",
                       "evectione", "eversione", "examen", "examine", "exceptione", "exclamatione", "excursione",
                       "excusatione", "exercitatione", "exercitione", "exhortatione", "exin", "existimatione",
                       "exorbitatione", "exordinatione", "expeditione", "explicatione", "exploratione", "expone",
                       "expositione", "expugnatione", "exsecratione", "exspectatione", "externe", "exundatione",
                       "factione", "farcimen", "farcimine", "fatigatione", "faune", "favone", "feminine", "ferine",
                       "fescennine", "festinatione", "fidicen", "fidicine", "fine", "firmitudine", "flamen", "flamine",
                       "flaminine", "florentine", "fluentisone", "flumen", "flumine", "foramen", "foramine", "formiane",
                       "formidine", "forsan", "forsitan", "fortitudine", "fragmen", "fragmine", "fraterne", "frene",
                       "frontone", "fucine", "fuligine", "fullone", "fulmen", "fulmine", "fune", "ganeone", "gargane",
                       "gelotiane", "gemine", "generatione", "genuine", "germane", "germen", "germine", "gestamen",
                       "gestamine", "gestatione", "gesticulatione", "gigne", "gluten", "glutine", "gorgone", "gotone",
                       "gracchane", "gramen", "gramine", "grandine", "gratulatione", "grine", "hacine", "haeccine",
                       "haecine", "haesitatione", "haine", "harundine", "hebetudine", "hegione", "hejulatione",
                       "hermen", "hesterne", "hiberne", "hicine", "hierone", "hippodromon", "hirundine", "hispane",
                       "hispone", "histrione", "hoccine", "hocine", "hodierne", "homine", "humane", "iason", "iasone",
                       "idolon", "idymen", "igne", "ilion", "illine", "imagine", "imitatione", "immine", "impetigine",
                       "impone", "impune", "in", "inambulatione", "inamoene", "inclinatione", "inculcatione",
                       "inculpatione", "incumulatione", "incursione", "indignatione", "indigne", "inferne",
                       "informatione", "ingigne", "inhumane", "inopine", "inquisitione", "insigne", "insone",
                       "intentione", "intercessione", "interfectione", "intermissione", "interne", "internecione",
                       "internicione", "interpellatione", "interpone", "interpretatione", "interrogatione", "intestine",
                       "inundatione", "isthmon", "ixion", "ixione", "jactatione", "jane", "javolene", "juliane",
                       "junone", "jurisdictione", "jussione", "juvene", "labeone", "labicane", "labiene", "lacedaemon",
                       "lacedaemone", "lacon", "lacone", "lalagen", "lamentatione", "lanugine", "laocoon",
                       "laomedontiaden", "largitione", "lassitudine", "latine", "latione", "latitudine", "latrone",
                       "laudatione", "lectione", "legatione", "legione", "lemanne", "lene", "lenone", "leone", "lesbon",
                       "libertine", "libidine", "libone", "liburne", "licitatione", "limen", "limine", "line",
                       "lingone", "liquamen", "liquamine", "lolliane", "longitudine", "lubidine", "lucrine", "lucumone",
                       "lumen", "lumine", "luscine", "lusitane", "lyden", "macedone", "machinatione", "magne",
                       "magnitudine", "maligne", "mancine", "manciniane", "mancipatione", "mane", "mansuetudine",
                       "margine", "marine", "masculine", "materne", "matutine", "medicamen", "medicamine",
                       "meditatione", "memine", "memnon", "memnone", "mentione", "mererione", "meridiane", "messaline",
                       "midan", "milone", "miseratione", "missione", "mitigatione", "moderatione", "modulatione",
                       "molitione", "mone", "monitione", "montane", "mrone", "mucrone", "mulione", "multitudine",
                       "mundane", "munitione", "murrine", "mutatione", "narbone", "narratione", "natione",
                       "navigatione", "ne", "nebulone", "necessitudine", "nepotine", "neptune", "nerone", "neroniane",
                       "nioben", "nocturne", "nomen", "nomentane", "nomine", "non", "nonane", "none", "nonne",
                       "norbane", "nostin", "notatione", "numantine", "numen", "numine", "nysigene", "oblectatione",
                       "obligatione", "obline", "oblivione", "obscene", "observatione", "obsidione", "obtestatione",
                       "obtine", "obtrectatione", "occane", "occasione", "occine", "occisione", "occultatione",
                       "occupatione", "oceane", "octone", "offensione", "omen", "omine", "omne", "opinione", "oportune",
                       "oppidane", "oppone", "opportune", "opprobratione", "oppugnatione", "optine", "optione",
                       "oratione", "orcine", "orciniane", "ordine", "origine", "orion", "orione", "orne", "osculatione",
                       "ostentatione", "othone", "pactione", "paean", "paeane", "paene", "palaemon", "palaemone",
                       "pane", "panne", "paphon", "passene", "paterne", "patrone", "paupertine", "pausanian", "pavone",
                       "pedone", "peliden", "pensione", "percussione", "perduellione", "peregrinatione", "peregrine",
                       "pergamon", "permagne", "permane", "permutatione", "peropportune", "persuasione", "pertine",
                       "pertractatione", "perturbatione", "petitione", "phaethon", "phoeben", "pine", "pisone",
                       "pladen", "plane", "plasten", "platone", "plene", "pluton", "plutone", "poene", "poesin",
                       "polemone", "pollione", "pomponiane", "pomptine", "pone", "populatione", "portione", "portune",
                       "possessione", "postpone", "postulatione", "potatione", "potione", "praecine", "praecone",
                       "praedicatione", "praedictione", "praedone", "praefatione", "praegnatione", "praegressione",
                       "praemine", "praeponderatione", "praepone", "praescriptione", "praetoriane", "prasine",
                       "primane", "pristine", "privigne", "procuratione", "proditione", "profane", "profectione",
                       "professione", "progigne", "promissione", "prone", "propagine", "propone", "proscriptione",
                       "prosterne", "prurigine", "psychen", "publicane", "pugione", "pugne", "pulchritudine", "putamen",
                       "putamine", "quadragene", "quaestione", "quartadecumane", "quin", "quine", "quintadecumane",
                       "quintane", "quirine", "quotidiane", "ratione", "raucisone", "reatine", "rebellione",
                       "receptione", "recognitione", "reconciliatione", "recordatione", "recusatione", "redemptione",
                       "refectione", "regimen", "regimine", "regine", "regione", "relatione", "religione", "remane",
                       "renone", "repentine", "repone", "reprehensione", "resegmen", "resegmine", "resone",
                       "respiratione", "resupine", "retine", "rhene", "rhodane", "rhodopen", "rhoecogene", "robigine",
                       "rogatione", "rogitatione", "romane", "rubigine", "rufine", "rumine", "rusticatione", "sabine",
                       "saguntine", "salutatione", "sanctione", "sane", "sanguine", "sardiane", "sarracene", "satin",
                       "saturne", "saturnine", "scipione", "secerne", "secessione", "sectione", "seditione", "sejane",
                       "sejunctione", "semen", "semine", "semisomne", "sempiterne", "sene", "senecione", "senen",
                       "sepone", "septentrione", "serene", "seriphon", "sermone", "sibylline", "significatione",
                       "silane", "silene", "similitudine", "simulatione", "sin", "sine", "sinon", "sinone", "siren",
                       "sirene", "sobrine", "solamen", "solamine", "solitudine", "sollemne", "sollicitudine", "somne",
                       "sone", "spadone", "spartane", "specimen", "specimine", "sperne", "sponsione", "sracusane",
                       "stamen", "stamine", "statione", "sterne", "strabone", "sturne", "suavisaviatione", "substerne",
                       "sullane", "sumen", "sumine", "superne", "superstitione", "supine", "supplicatione", "suppone",
                       "suppositione", "suspicione", "sustine", "synanchen", "taciturne", "tamen", "tarentine",
                       "tarquine", "taune", "tegimen", "tegimine", "tegmen", "tegmine", "temptamen", "temptamine",
                       "tene", "tenedon", "teneritudine", "tergemine", "termine", "terne", "terrene", "testudine",
                       "tiberine", "tibicen", "tibicine", "tigrane", "tigurine", "tirone", "trajane", "tranione",
                       "tranne", "transalpine", "translatione", "transmarine", "transmine", "transpone",
                       "transtiberine", "trebellene", "trecene", "trepidatione", "tribune", "tricene", "trigemine",
                       "trione", "triton", "tritone", "trojane", "tuberone", "tubicen", "tubicine", "tuditane", "tun",
                       "turbatione", "turbine", "turpitudine", "tutidane", "tydiden", "typhon", "typhone", "tyrrhene",
                       "uligine", "ultione", "unctione", "une", "unetvicesimane", "unguedine", "urbane", "uredine",
                       "usucapione", "usurpatione", "vacatione", "vacillatione", "vaesane", "valetudine", "valitudine",
                       "vane", "variane", "varrone", "vastatione", "vastitudine", "vaticinatione", "vectatione",
                       "velamen", "velamine", "veline", "venatione", "venditione", "veneratione", "verberone", "verne",
                       "vesane", "veterane", "vibulane", "vibulene", "vicene", "vicesimane", "vicine", "vimen",
                       "vimine", "vipstane", "viragine", "virgine", "visione", "vitelliane", "volumen", "volumine",
                       "volusene", "volutatione", "vonone", "voragine", "vulcane", "vulpine", "zenone"]

# Manually added
ne_and_n += ["fison", "fisone"]

ve = ["Achive", "Aedue", "Argive", "Atticue", "Augustue", "Balbue", "Batave", "Britannicue", "Brutue", "Dominue",
      "Germanue", "Holue", "Jove", "Latinue", "Marobodue", "Modestue", "Polue", "Priscue", "Quadratue", "Quintue",
      "Regulue", "Superbue", "ablue", "abnue", "absolve", "absque", "acerve", "adflue", "adlue", "admove", "adnue",
      "adoptive", "adsidue", "adtribue", "adusque", "advolve", "aeditue", "aeque", "aestive", "alve", "ambigue",
      "amicue", "amove", "angue", "annue", "antique", "argue", "astrue", "atque", "avarue", "ave", "bove", "calve",
      "captive", "cave", "cerve", "circumflue", "circumvolve", "cive", "clave", "clive", "clue", "coargue", "comminue",
      "commove", "concave", "conclave", "conflue", "congrue", "conive", "conjunctive", "constitue", "construe",
      "consue", "contorque", "coque", "corrue", "corve", "cuicumque", "cuicunque", "cuique", "cujuscumque",
      "cujuscunque", "cujusque", "cultue", "curve", "decoque", "deflue", "delinque", "deminue", "demove", "denique",
      "derelinque", "derue", "destitue", "destrue", "detorque", "devolve", "devove", "difflue", "dilue", "diminue",
      "dimove", "dirue", "dissolve", "distingue", "distribue", "dive", "divue", "efflue", "elue", "emove", "eque",
      "erue", "evolve", "exsolve", "exspue", "exstingue", "exstrue", "extingue", "extorque", "extrue", "exue",
      "famulue", "fave", "ferue", "ferve", "festive", "fetue", "flave", "flue", "fove", "fugitive", "fulve", "furtive",
      "genetive", "genitive", "grue", "historicue", "ignave", "imbue", "imminue", "implue", "incultue", "incurve",
      "indue", "inerrative", "influe", "ingrue", "inimicue", "inique", "innue", "instingue", "institue", "instrue",
      "insue", "intempestive", "interflue", "interlue", "internecive", "intorque", "involve", "irrue", "itaque",
      "laeve", "langue", "lascive", "latue", "lave", "lectue", "linque", "lique", "litue", "longinque", "lue", "metue",
      "milve", "minue", "move", "native", "nave", "neque", "nerve", "neve", "nive", "nove", "oblique", "obrue",
      "obstrue", "obvolve", "octave", "ornatue", "ove", "parve", "patrue", "pave", "pediseque", "penue", "perantique",
      "percoque", "perflue", "perinique", "perlue", "permove", "persolve", "pleraeque", "pleraque", "plerarumque",
      "plerasque", "plerique", "plerisque", "plerorumque", "plerosque", "plerumque", "plue", "pollue", "populue",
      "praecave", "praecipue", "praeflue", "praeparve", "praestrue", "praeterflue", "prave", "primitive", "proave",
      "proflue", "promiscue", "promove", "propinque", "prorue", "prostitue", "proterve", "provolve", "pullue",
      "quacumque", "quacunque", "quaecumque", "quaecunque", "quaeque", "quamcumque", "quamcunque", "quamque",
      "quantulumcumque", "quantuluscumque", "quaque", "quarumcumque", "quarumcunque", "quarumque", "quascumque",
      "quascunque", "quasque", "quemcumque", "quemcunque", "quemque", "quibuscumque", "quibuscunque", "quibusque",
      "quicumque", "quicunque", "quidque", "quinque", "quique", "quisque", "quocumque", "quocunque", "quodcumque",
      "quodcunque", "quodque", "quoicumque", "quoicunque", "quoique", "quojuscumque", "quojuscunque", "quojusque",
      "quoque", "quorumcumque", "quorumcunque", "quorumque", "quoscumque", "quoscunque", "quosque", "quotienscumque",
      "quousque", "recurve", "refove", "relinque", "relique", "remove", "renue", "resolve", "respue", "restitue",
      "retorque", "retribue", "revolve", "rive", "rue", "rusticue", "saeve", "salve", "senectue", "serve", "sextue",
      "sibilue", "simulatque", "sive", "sociue", "solve", "statue", "strenue", "strue", "suave", "subflave", "sublue",
      "submove", "subrue", "substitue", "substrue", "sue", "superflue", "superstrue", "tingue", "torque", "torve",
      "tribue", "truncue", "ubicumque", "ubique", "undecumque", "undique", "ungue", "urgue", "usque", "utcumque",
      "uterque", "utique", "utraeque", "utramque", "utraque", "utrarumque", "utrasque", "utrimque", "utrique",
      "utrisque", "utriusque", "utroque", "utrorumque", "utrosque", "utrumque", "vacive", "vicinue", "vive", "volve",
      "votive", "vove"]


# Do not reverse the tokens
latin_replacements = [
    (r'\bmecum\b', 'me cum'),
    (r'\btecum\b', 'te cum'),
    (r'\bsecum\b', 'se cum'),
    (r'\bnobiscum\b', 'nobis cum'),
    (r'\bvobiscum\b', 'vobis cum'),
    (r'\bquocum\b', 'quo cum'),
    (r'\bquacum\b', 'qua cum'),
    (r'\bquicum\b', 'qui cum'),
    (r'\bquibuscum\b', 'quibus cum'),
    (r'\bsodes\b', 'si audes'),
    (r'\bsatin\b', 'satis ne'),
    (r'\bscin\b', 'scis ne'),
    (r'\bsultis\b', 'si vultis'),
    (r'\bsimilist\b', 'similis est'),
    (r'\bqualist\b', 'qualis est')
]
