import enchant

class WordDict:

    ## Language dictionary
    enchantment = enchant.Dict("en")

    ## Words to exclude. Useless, meaningless words (nicknames etc.)
    EXCLUDING_WORDS = ['', 'a', 'an', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
                       'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
                       'w', 'x', 'y', 'z', 'de', 'la', 'th', 'st',
                       'sokaede', 'datasstho', 'dinovember', 'ennard', 'fangleforever',
                       'icogan', 'lisqar', 'brynjar', 'pinkgermy', 'pokegraph',
                       'semaine', 'artdex', 'desseliade', 'oras',
                       'collab', 'simiak', 'simiart',
                       'alolan', 'alola', 'alolaform', 'megaaltaria', 'oraspokemon',
                       'orasspoilers', 'corpish', 'thecrocki', 'mammochon',
                       'chibipaint', 'gobou', 'chiniti', 'foret', 'axoloto', 'eoko',
                       'whirlm', 'viridium', 'megagallade', 'sugimoristyle', 'pokemonoras',
                       'alled', 'arora', 'beltiger', 'beltigre', 'incinenroar',
                       'littenfinalevolution', 'robingroot', 'sirene', 'waitochan',
                       'decidueyefanart', 'genvii', 'pokettomonsuta', 'primarina_fanart',
                       'primarinafanart', 'primarinapokemon', 'sirenee', 'thgen',
                       'vecotrs', 'pokemonalola', 'pokemontorracat', 'pokemonbrionne',
                       'primarina_fanart', '#teampopplio', 'cnintendo', 'kalos',
                       'painttoolsai', 'volcanionpokemon', 'waito_chan', 'legenday',
                       'pokemonfanrt', 'ub03', 'ue03', 'ultraente', 'pokmeonwhite',
                       'possermongo', 'nitw', 'angeac', 'brontosmash', 'btsfire',
                       'stgenerationpokemon', 'stgenpokemon', 'alolaash', 'shinymimikyu',
                       'alolaforms', 'alolamarowak', 'alolanexeggutor', 'alolanmeowth',
                       'alolanraichu', 'alolanraticate', 'alolanrattata', 'pulseraz',
                       'alolansandshrew', 'alolapokemon', 'ashgreninja', 'pokemonsm',
                       'professorkukui', 'alolaregion', 'waito chan', 'anipoke', 'maeborowski',
                       'alolakanto', 'animu', 'ashmostaza', 'elmostaza', 'mostaza',
                       'pokemonsolyluna', 'pueblopaleta', 'alolamarowak', 'cappysupermarioodyssey',
                       'alolanexeggutor', 'alolanmarowak', 'alolanmeowth', 'ashketcumxy',
                       'alolanraichu', 'alolanraticate', 'alolanrattata', 'ashandmay',
                       'alolansandshrew', 'alolanvulpix', 'alolapokemon', 'alolarattata',
                       'movimientosz', 'rotomdex', 'solyluna', 'movimientosz', 'pokeani',
                       'sonicsthanniversary', 'lumiosecity', 'punichan', 'shinygyarados',
                       'pokemonthanniversary', 'clemontcitron', 'orbotandcubot', 'mephilesthedark',
                       'cubixrobotsforeveryone', 'cubot', 'dialbolic', 'escargoon', 'hoshinokaabii',
                       'kinnikuman', 'kirbyrightbackatya', 'teltelboy', 'cilan', 'traceysketchitt',
                       'cosmoseedrian', 'sonicthanniversary', 'puffytopianman', 'holo',
                       'holosexual', 'peachyaesthetic', 'f2upage', 'f2upagecode',
                       'kawaiiadorable', 'kawaiicute', 'customboxf2u', 'f2u_custom_box',
                       'f2u_custom_box_code', 'f2uaesthetic', 'f2uaesthetics', 'glunkus',
                       'f2ucode', 'f2ucustombox', 'f2ucustomboxcode', 'f2u_code', 'noeryn',
                       'f2u_codes', 'f2u_coding', 'f2u_custom_box', 'f2u_custom_box_code',
                       'f2ucode', 'f2ucodes', 'f2ucoding', 'f2ucustombox', 'f2u code',
                       'f2u coding', 'f2u codes', 'custom box code f2u', 'f2uaesthetic',
                       'f2ucustomboxcode', 'f2unoncorecode', 'f2u_code', 'f2u custom box',
                       'f2u custom box', 'f2u custom box code', 'customboxcodef2u', 'vaxxed',
                       'f2udeco', 'f2udecor', 'f2udecoration', 'f2upagedeco', 'f2upagedecor',
                       'f2upagedecoration', 'f2upagedecorations', 'f2u deco', 'f2u decor',
                       'f2u decoration', 'f2u page deco', 'f2u page decor', 'f2u page decoration',
                       'pagecode f2u', 'adorablekawaii', 'dacoding', 'ftucode', 'pinkkittty',
                       'dacode', 'codeing', 'monikaddlc', 'monikadokidoki', 'canthelpit',
                       'monikadokidokiliteratureclub', 'dokidokiliteratureclub', 'sorcererz',
                       'positivityaesthetic', 'codingf2u', 'movivation', 'lonliness', 'gorillazstupot',
                       'wkmdarkiplier', 'darkiplier', 'trico', 'bmth', 'thats', 'acegangreengang',
                       '2d_gorillaz', '2dgorillaz', 'gorillaz2d', 'gorillazphase5', 'dividers f2u',
                       'dividers_f2u', 'gorillazmurdoc', 'gorillaznoodle', 'gorillazphase1',
                       'gorillazrussel', 'murdocniccals', 'phase1', 'russelhobbs', 'noodle gorillaz',
                       'noodlegorillaz', 'murdocgorillaz', 'stuartharoldtusspot', 'stuarttusspot',
                       'dividerf2u', 'gorillaz 2d', '2d gorillaz', 'murdocfaustniccals', 'murdocniccals',
                       'f2u icon', 'f2uavatar', 'f2uicon', 'f2upixel', 'gorillaz2dmurdoc',
                       'cutekawaii', 'rejet', 'antisjws', 'sjws', 'interent', 'obessed', 'judement',
                       'antisjwtears', 'patriach', 'radfems', 'fashoin_accesory', 'mra',
                       'sjwstupidity', 'makealolagreatagain', 'fckvoltron', 'fckyouvoltron',
                       'bludgeoningangeldokurochan', 'kamillo', 'priosn', 'neno', 'nepnewyear',
                       'hollowoods', 'akyura', 'shootins', 'theyre', 'antagonicforces',
                       'alimarije', 'alonely', 'alpin', 'axispowershetalia', 'bartek', 'bluesripes',
                       'bokunopico', 'borti', 'cartoonystyle', 'cloack', 'commmission',
                       'daegel', 'desing', 'devillish', 'dicovery', 'dokurochan', 'drakehest',
                       'drawtober2018', 'eldafer', 'elsiwen', 'erkens', 'farrosianhorse',
                       'fashoin accesory', 'fivenightsatfreddys', 'fivenightsatfreddysbonnie',
                       'fivenightsatfreddyschica', 'fivenightsatfreddysfoxy', 'flowyhair',
                       'gelvira', 'harpg', 'harukatenoh', 'johara', 'kmriley',
                       'lekha', 'letraset', 'lgbptqq', 'mehen', 'mlpfriendshipismagic',
                       'obidian', 'ocink', 'ozul', 'peopele', 'petrat', 'pillowa', 'pinkamena',
                       'renevene', 'rodri', 'rufell', 'seadraz', 'secretlysyllan', 'siverhair',
                       'smbol', 'socialjustic', 'stabillofineliners', 'stupidty', 'tarian',
                       'thesmia', 'tombowmarkers', 'villainess', 'vinnizir', 'vivdcolors',
                       'yhh', 'zencarius', 'zodiaquearies', 'aaa', 'swegu', 'cuteme',
                       '4a3a6a', 'ateez', 'angsttohirlarity', 'respec', 'rossome', 'saveblaz',
                       'artemysfireheart', 'bebmoments', 'birbmomlol', 'bralex', 'ccsr',
                       'christmaspartyk', 'cleverlytriedtohidesagadirshindlegsbehindtherail',
                       'ddheehofanbook', 'datzoub', 'drawdinovember', 'dressageguysamirite',
                       'dressageguysamirite', 'eefbackontrackofthezsstoryline', 'faff00', 'fe',
                       'foxygotdaswega', 'freddyfusebearro150', 'grillbisdonewithyourshiz',
                       'hailtoalla', 'incon', 'ishipstormskkys', 'itspaardytime', 'n0110',
                       'nimbatherfinest', 'swagadir', 'sagadir', 'shiiiiiiiiiit', 'sorrig',
                       'stretchsdin', 'supportcsotonyiworld', 'swagadirtrot', 'teamchacal',
                       'teampopplioprotectionsquad', 'tox', 'teamdhenebrian', 'teamkvannie',
                       'thesummonengh', 'teamchampa', 'tickleeblushing', 'unf', 'zdrazona',
                       'ddeye', 'dd eye', 'jg', 'xpixel', 'xwallpaper', 'grzes', 'ricohpentax',
                       'xicon', 'xavatar', 'xpixels', 'xpixelart', 'xpx', '5 nights at freddys',
                       'rd', 'sb', 'vme', 'ce', '212thattackbattalion', 'rg', 'hu',
                       'yo', 'mmf', 'dcg', 'ds', '3dtransportaviationartkaridismilitary',
                       'fabu', 'thtfs', 'dantonis', 'stlegion', 'naf', 'pointadopts',
                       'freddicaismyonlyship', 'fronnie4ever', 'faebells', 'footnoot',
                       'freddlings', 'gorudenfuriza', 'nday', 'naotoshishida', 'neckbewbs',
                       'showyourhheart', 'sonataco', 'soulesolari', 'spiclypeus',
                       'splatoonmarie', 'symphogearaxz', 'teamangst', 'teamjarin',
                       'teammustache', 'teamsunshine', 'teamzoom', 'tenkochabashira',
                       'undertaleundine', 'au', 'af', 'aa', 'aaa', 'aaaaaaa', 'abblejack',
                       'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaabbbbbe', 'aaaaabbbbbbbeee',
                       'aacrell', 'aacrellarts', 'aadavy', 'aah', 'aapricity', 'abaddon',
                       'abbysidian', 'abe', 'abelyfe', 'abeandbooty', 'abebabe', 'abels',
                       'abelsia', 'abethebabe', 'abethebae', 'abifail', 'ableism', 'abnett',
                       'absar', 'absarnaeem', 'abstrakt', 'acclasi', 'aceo', 'acerolapokemon',
                       'achor', 'acs', 'acsmitty', 'acsmitty', 'acuppacrylics', 'adagaki aki',
                       'adalet', 'adalisk', 'adamai', 'adaxleon', 'adaxleonleonxada',
                       'adeleexarchopoulos', 'adelis', 'adira', 'admiralskaya', 'adngel',
                       'adopatable', 'adoptableadopt', 'adoptableadoptables', 'adoptableauction',
                       'adoptablebatch', 'adoptablecharacter', 'adoptablecustom', 'adoptabledesign',
                       'adoptablehorsesinc', 'adoptablehrsesinc', 'adoptableoc', 'adoptableopen',
                       'adoptableoutfit', 'adoptablepaypal', 'adoptables', 'adoptablesopen',
                       'adoptablespoints', 'adoptadoptable', 'adoptauction', 'adoptsadoptables',
                       'adoraalyowo', 'adorabat', 'adorannie', 'adorble', 'adorelee',
                       'adorkablemarina', 'adotable', 'adotps', 'adrianna', 'ae', 'afromimus',
                       'ahis', 'ahmap', 'aho', 'ahoge', 'aitha', 'aj', 'ajcc', 'ajshep',
                       'akabane karma', 'akabanekarma', 'steadler', 'alip', 'altera', 'altin',
                       'amedot', 'amedotfanart', 'amedottrash', 'amres', 'amrod', 'animebusto',
                       'arenaferox', 'artstagram', 'asfa', 'ashamin', 'assassinationclasroom',
                       'asshholes', 'asthetic', 'atago', 'bangtangboys', 'bebinator', 'benoski',
                       'bfii', 'bi', 'bigitta', 'biteof', 'bl', 'bonta', 'breathoffireer',
                       'brigandor', 'bulbasaurus', 'burgham', 'ca', 'cadash', 'cantame', 'cantar',
                       'canterlot', 'canterlotcastle', 'canvasare', 'cc', 'chandlerriggs',
                       'charis', 'charmybee', 'clonewarsoc', 'closed species adoptable',
                       'closedspeciesadoptable', 'clothingadoptable', 'cloverly', 'cm',
                       'colores', 'comision', 'comission', 'comlink', 'comm', 'commanderviken',
                       'comonwealth', 'copic', 'copicmarker', 'corentin', 'corrin', 'corr',
                       'cosclay', 'createcous', 'cs', 'ct', 'db', 'dc', 'dd', 'deltarunefanart',
                       'deltaruneundertale', 'deltasuchus', 'able', 'destroyah', 'dewpelt',
                       'determinationundertalefrisk', 'determination undertale', 'divaoverwatch',
                       'diva overwatch', 'doe', 'doggo', 'doggo undertale', 'gt', 'ken', 'tic',
                       'dun', 'emf', 'en', 'ext', 'ex', 'fa', 'ff', 'fab', 'fairy tail', 'em',
                       'fantart', 'fantasty', 'fatalis', 'fatego', 'fer', 'fin', 'finis', 'fir',
                       'hr', 'hp', 'fl', 'fordo', 'ed', 'ft', 'gashapon', 'hid', 'gencon',
                       'genocideundertale', 'getdunkedon', 'gonnaendjarin', 'goo', 'lit', 'gotto',
                       'grandis', 'grantgustin', 'ha', 'hairupdo', 'er', 'harestar', 'hash', 'com',
                       'helovia', 'mo', 'doth', 'hippocamp', 'ho', 'hue', 'rod', 'imperialis',
                       'cert', 'inexpectatus', 'inexpectus', 'ingen', 'ingenfiles', 'nae', 'ingens',
                       'inpired', 'ab', 'irate', 'um', 'itill', 'ivis', 'jargar', 'jarin', 'nun',
                       'jarinwhy', 'ma', 'mac', 'majorasmask', 'diam', 'markiv', 'markivarmor',
                       'mar', 'marshmellow', 'maso', 'ch', 'val', 'megalograptoidea', 'rapt', 'rag',
                       'megami', 'megarachne', 'menashe', 'mendozensis', 'ma', 'mercurycode',
                       'dactyl', 'sec', 'metasepia', 'metasequoia', 'metie', 'yr', 'mg', 'mm',
                       'chi', 'midcretaceous', 'midguard', 'mi', 'minkin', 'minreal', 'mlor',
                       'ml', 'pf', 'sh', 'mp', 'mt', 'gm', 'mu', 'lo', 'iota', 'ya', 'nuwasmite',
                       'oldenberg', 'orbot', 'overwatchanniversary', 'overwatchcharacter',
                       'overwatchmercy', 'overwatchnsfw', 'overwatchnude', 'overwatchtracer',
                       'overwatchwidowmaker', 'pg', 'pa', 'es', 'papyrus undertale',
                       'papyrusundertale', 'parasuchus', 're', 'pegas', 'om', 'pentocopterus'
                       'hop', 'picarto', 'picartostream', 'platensis', 'pl', 'pm', 'portrat',
                       'pr', 'cop', 'don', 'cur', 'rum', 'pt', 'rainfallbases', 'tho', 'regalis',
                       'rev', 'rm', 'rs', 'septiceyesam', 'sf', 'sim', 'ska', 'oi', 'gr', 'kl',
                       'stallon', 'subangularis', 'summicron', 'talie', 'ta', 'tamme', 'tanitisis',
                       'tanitisisstock', 'tau', 'est', 'ti', 'tobio', 'toby fox', 'tobyfox',
                       'tombe', 'tombus', 'tonnagisgrumpy', 'toon', 'toon link', 'toonlink',
                       'usu', 'tor', 'dew', 'tovi', 'tr', 'tricera', 'triology',
                       'undertale anniversary', 'under tale anniversary', 'undertale art',
                       'undertale asriel', 'undertale au', 'undertale au comic', 'undertale chara',
                       'undertale comic', 'undertale dreemurr', 'undertale fanart',
                       'undertale fanfiction', 'undertale flowey', 'undertale frisk',
                       'undertale game', 'undertale gaster', 'undertale genocide',
                       'undertale god of hyperdeath', 'undertale grillby', 'undertale papyrus',
                       'undertale sans', 'undertale sans and frisk', 'undertale undyne',
                       'undertalealphys', 'undertaleannoyingdog', 'undertaleasgore',
                       'undertaleasriel', 'undertaleasrieldreemurr', 'undertalecomic',
                       'undertaledogamy', 'undertaledogaressa', 'undertaledoggo', 'undertaledummy',
                       'undertalefanart', 'undertalefancomic', 'undertaleflowey', 'undertalefrisk',
                       'undertalegame', 'undertalegenociderun', 'undertalegif', 'undertalegreaterdog',
                       'undertaleicon', 'undertalelesserdog' , 'undertalemettaton',
                       'undertaleomegaflowey', 'undertalepapyrus', 'undertalepixel',
                       'undertalepixelart', 'undertalepixels', 'undertalesans', 'undertalespoilers',
                       'undertaletoby', 'undertaletoriel', 'undertaletrash', 'undertaleundertale',
                       'undertaleundyne', 'undertaleundynetheundying', 'universalis', 'vex', 'updog',
                       'valeor', 'validor', 'vancover', 'eon', 'vaporwave aesthetic',
                       'vaporwaveaesthetic', 'vaporwaveaesthetics', 'vaporwavestyle', 'vend', 'vol',
                       'wattpadbookcover', 'wattpadcover', 'wattpadcoverbook', 'wattpadcovers',
                       'wattpadgraphic', 'wattpadgraphics', 'wattpadportada', 'wattpadportadas', 
                       'wattpadtextures', 'weme', 'wentletrap', 'widowmaker fanart',
                       'widowmakerfanart', 'widowmakerhot', 'widowmakernsfw', 'widowmakeroverwatch',
                       'widowtracer', 'resurrectionoff', 'prehistorybyliam', 'kingluludeer',
                       'beerusgodofdestruction', 'horseartrpg', 'sansundertale', 'sans undertale',
                       'sans emoji', 'sans emoticon', 'sans icon', 'sans the skeleton',
                       'sans undertale', 'sansa', 'sansandfrisk', 'sansandgaster', 'sansastark',
                       'sansfrisk', 'sansicon', 'sansskeleton', 'sansspam', 'sanstheskeleton',
                       'sansundertale', 'sansxfrisk', 'sansxness', 'narutotenten',
                       'seasonmylittlepony', 'jacksepticeye', 'jacksepticart', 'jacksepticeye',
                       'jacksepticeye twothumbsup', 'jacksepticeyeart', 'jacksepticeyecartoon',
                       'jacksepticeyeemoticon50', 'jacksepticeyefanart', 'jacksepticeyefanstamp',
                       'jacksepticeyelovesmarkiplier', 'jacksepticeyesean', 'jacksepticeyestamp',
                       'jacksepticeyethebestlaid', 'jacksepticeyethumbs', 'jacksepticeyexmarkiplier'
                       'sweetamoris', 'sweet amoris', 'vectormylittlepony', 'frisk the human',
                       'frisk undertale', 'friskandsans', 'friskthehuman', 'friskundertale',
                       'friskxsans', 'amour sucre edit', 'amourshipping', 'amoursucre',
                       'amoursucrecastiel', 'amoursucrelysander', 'amoursucrepack', 'amoursucrette',
                       'themramp', 'lineartlineart', 'time scar', 'timescar', 'teamfourstar',
                       'brushesdownload', 'obsidiandawn', 'supersaiyangodsupersaiyan',
                       'billsgodofdestruction', 'underswap papyrus', 'underswap sans', 'kidboo',
                       'kidbuu'
                       ]

    ## Special meaning or not-in-dictionary words. Not to exclude. (character names, urban words etc.)
    INCLUDING_WORDS = ['10s', '20s', '30s', '40s', '50s', '60s', '70s', '80s', '90s',
                       '2d', '3d', '100th', '1800s', '1890s', '1d', '1st generation',
                       '20th', '2d', '3d', '49s', '1st', '2nd', 'germy', 'pokemon',
                       'murdoc', 'badass', 'selfie', 'trollin', 'yolo', 'fronnie', 'abbathor',
                       'oekaki', 'dessin', 'dessiner', 'rubis', 'saphir', 'mousquetaire',
                       'ai', 'e3', 'zavok', 'cappy', 'cubix', 'f2u', 'ftu', 'kawaii',
                       'menhera', 'hyphema', 'fantast', 'blurple', 'positivity',
                       'antisjw', 'sjw', 'fanon', 'fanbrat', 'fanbrats', 'cis', 'aerius',
                       'cisgender', 'heterophobia', 'antiweeaboo', 'daesh', 'misandry',
                       'lgbt', 'lgbtqiap', 'lgbtqiapk', 'lgbtq', 'lgbtqa', 'lgbta', 'fujoshi',
                       'equalism', 'rekt', 'mansplaining', 'biphobia', 'oreimo', 'kirinokousaka',
                       'antagonic', 'aspergers', 'cartoony', 'ceara', 'cisphobia', 'dalibor',
                       'duende', 'flowy', 'amaru', 'hetalia', 'italophobia', 'kassy', 'kelpie',
                       'lgbtqia', 'mogai','prehistoria', 'color', 'recolor', 'recoloring',
                       'recolors', 'rikka','snouty', 'spazoid', 'symbolistic', 'terf', 'aisling',
                       'ajax', 'aladdin', 'weirdoes', 'wth', 'favorito', 'aashan', 'shooketh',
                       'abelas', 'acclamator', 'acerola',  'adamski', 'adelia',
                       'adoptie', 'adorables', 'adorbs', 'aegean', 'aeneid', 'aeon', 'aepyornis',
                       'aerotitan', 'aethiopia', 'aetiocetus', 'aetobatus',
                       'aetosaur', 'afro', 'agama', 'alanqa', 'alans', 'alterate',
                       'agni', 'agnostida', 'ahri', 'aidoru', 'aiko', 'airen', 'amazonite',
                       'alternate history of poland', 'alternate map of green ukraine',
                       'angaturama', 'ann', 'undertale', 'amphibia', 'anthro', 'anthropomorphic',
                       'appaloosa', 'april', 'arcana', 'argentinus', 'armour', 'armoured',
                       'auction adoptable', 'axe', 'azul', 'bakara', 'bandai', 'bangtan',
                       'bangtanboys', 'bara', 'bbw', 'behaviour', 'berserker', 'bewbs', 'bff',
                       'bioware', 'biromantic', 'blake', 'blanc', 'bluffs', 'boeing', 'borealis',
                       'breedable', 'breedables', 'breedings', 'colour', 'colours', 'bruh',
                       'callisto', 'capcom', 'cartoonish', 'celestia', 'cheeb', 'chib',
                       'chica', 'chichi', 'cherokee', 'christ', 'christianity', 'christmas',
                       'citrine', 'cityscape', 'collab', 'colonisation', 'cpu', 'cremello',
                       'cyber', 'cyber punk', 'december', 'demi', 'demolisher', 'digimon', 'dino',
                       'dinos', 'dinosauria', 'disneyland', 'dixie', 'dota', 'easter', 'eddsworld',
                       'elementalist', 'elias', 'espresso', 'facebook', 'fandoms', 'fangle',
                       'favourite', 'favourites', 'february', 'feedee', 'femdom', 'fishling',
                       'frappuccino', 'friesian', 'gamecube', 'gameplay', 'gif', 'gorillaz',
                       'gothic', 'grandmaster', 'greek', 'greeks', 'grey', 'halloween', 'hasbro',
                       'headshot', 'hiveswap', 'hoffer', 'humour', 'infograph', 'infographic',
                       'inkscape', 'inktober', 'instagram', 'ipad', 'isis', 'islam', 'jawless',
                       'jeevas', 'jewellery', 'judaism', 'judgement', 'july', 'kodak', 'leon',
                       'loki', 'lolita', 'lovecraft', 'lotr', 'macaron', 'manip', 'marxism',
                       'mascarade', 'mech', 'mello', 'messerschmitt', 'microsoft', 'minecraft',
                       'mosco', 'muslim', 'muslims', 'naruto', 'neptune', 'netflix', 'nikon',
                       'nintendo', 'nsfw', 'october', 'olympics', 'omg', 'ouija', 'overwatch',
                       'paleo', 'pallium', 'pansexual', 'patreon', 'paypal', 'pc', 'photoshop',
                       'pixiv', 'playstation', 'pyro', 'pyromancer', 'rainforest', 'rex',
                       'rockstar', 'rpg', 'sabino', 'sandstorm', 'sasso', 'sawfish', 'scape',
                       'sega', 'september', 'snapchat', 'starfighter', 'starship', 'storyline',
                       'thicc', 'transphobia', 'tuesday', 'tumblr', 'tv', 'ufo', 'undead',
                       'unposed', 'unsee', 'upskirt', 'vaporwave', 'vocaloid', 'vr', 'vtol',
                       'wakfu', 'wassup', 'wattpad', 'wc', 'wii', 'wikipedia', 'wtf', 'xbox',
                       'xeno', 'xiao', 'youtube', 'youtuber', 'fluttershy'
                       ]

    SCIENTIFIC_WORDS = ['albedo', 'albertensis', 'albertonykus', 'albalophosaurus',
                       'abelisaur', 'abelisauria', 'abelisaurid', 'abelisauridae',
                       'abelisauroid', 'abelisauroidea', 'abelisaurs', 'abelisaurus',
                       'acanthodian', 'acanthodians', 'acanthodii', 'acantholipan',
                       'acanthopyge', 'acastid', 'acastidae', 'achelousaurus',
                       'acherontisuchus', 'acheroraptor', 'achillobator', 'acristavus',
                       'acrochordus', 'acrophyseter', 'actinopterygian', 'actinopterygii',
                       'acutiramus', 'adelophthalmus', 'adocus', 'aegirosaurus',
                       'aegisuchus', 'aegypius', 'aegyptiacus', 'aegyptosaurus', 'aegyptosuchus',
                       'aeolosaurus', 'aerosilurante', 'alaskacephale', 'agamid', 'agamids',
                       'agilisaurus', 'acanthodes', 'alamosaurus', 'agnatha', 'agnathan',
                       'agnathans', 'alaemon', 'ailuridae', 'adcrocuta', 'albertosaurinae',
                       'albertosaurus', 'albian', 'albicetus', 'albinykus', 'alces',
                       'aleodon', 'alexandrite', 'alienochelys', 'alioramus', 'alligatorellus',
                       'alligatoroid', 'allodemus', 'allodesmus', 'allokotosaur', 'allokotosaurs',
                       'allokotosauria', 'allokotosaurian', 'allometry', 'allopleuron', 'allosauroidea',
                       'allosaurus', 'alopias', 'aloysia', 'alvarezsaur', 'alvarezsauria',
                       'alvarezsaurid', 'alvarezsauridae', 'alvarezsaurids', 'alvarezsauroid',
                       'alvarezsauroidea', 'alvarezsaurus', 'amargasaurus', 'amazonsaurus',
                       'ambulocetus', 'amebelodon', 'amebelodontid', 'amebelodontidae',
                       'americanum', 'ametrine', 'amicagraphica', 'ammonites', 'ammonitida',
                       'ammonoid', 'ammonoidea', 'ammonoids', 'amphiaspid', 'amphiaspidida',
                       'amphiaspids', 'amphicoelias', 'amphicyon', 'amplectus',
                       'amplibuteo', 'anabisetia', 'anaspid', 'anaspida', 'anatosaurus',
                       'anatosuchus', 'anatotitan', 'anchaurosaurus', 'anchiornis', 'anchiornithidae',
                       'anchisauria', 'ancylotherium', 'andalgalornis', 'andesaurus', 'andreolepis',
                       'andrias', 'angistorhinus', 'anglaspis', 'angolatitan', 'angonisaurus',
                       'ankylodocus', 'ankylopollexia', 'ankylosauria', 'ankylosaurid',
                       'ankylosaurus', 'anolis', 'anomalocarid', 'anomalocaris', 'anomodontia',
                       'anomoeodus', 'antarctosaurus', 'anubias', 'apatosaurinae', 'apatosaurus',
                       'aptian', 'aragosaurus', 'arambourgiania', 'araripesaurus', 'archaeopteryx',
                       'archaeotherium', 'archelon', 'archosaur', 'archosauria', 'archosauromorph',
                       'archosauromorpha', 'archosaurs', 'argentinosaurus', 'arthropoda', 'asprosaurus',
                       'asterolepis', 'astraspis', 'atokensis', 'atopodentatus', 'australis',
                       'australovenator', 'austroraptor', 'averostra', 'avisaurus', 'azendohsaurus',
                       'azhdarchid', 'azhdarchidae', 'azhdarchids', 'banji', 'barosaurus',
                       'barrosaensis', 'baryonyx', 'basilosaurus', 'bonitasaura', 'borogovia',
                       'borophagus', 'bothriolepis', 'brachiosaurus', 'bullatus', 'cacops',
                       'caenagnathus', 'camarasaurus', 'cambrian', 'campanian', 'camptosaurus',
                       'carcharocles', 'carcharodon', 'carcharodontosauridae', 'carcharodontosaurus',
                       'carnosaur', 'carnosauria', 'carnosaurs', 'carnotaurus', 'caulkicephalus',
                       'cedarosaurus', 'cenozoic', 'centrosaurinae', 'centrosaurus', 'cephalaspid',
                       'cephalaspis', 'cephalopod', 'cephalopods', 'cerapoda', 'ceratarges',
                       'ceratopsia', 'ceratopsian', 'ceratopsid', 'ceratopsidae', 'ceratosaurus',
                       'ceratosauria', 'chasmosaurinae', 'cheiloceras', 'chelicerata',
                       'chilesaurus', 'coelophysis', 'coelurosaur', 'coelurosauria', 'compsognathus',
                       'conspecific', 'corythosaurus', 'cristatusaurus', 'crocodilian', 'crocodylomorph',
                       'cryolophosaurus', 'daemonosaurus', 'daspletosaurus', 'deinocheirus',
                       'deinonychus', 'deinotherium', 'devonian', 'dicynodont', 'dilophosauridae',
                       'dilophosaurus', 'dimetrodon', 'dimorphodon', 'dinodontosaurus', 'diplodocid',
                       'diplodocidae', 'diplodocoid', 'diplodocoidea', 'diplodocus', 'drepanosaurus',
                       'dromaeosauridae', 'dromaeosaurid', 'dromaeosaurus', 'dryosaurus', 'edaphosaurus',
                       'edaphodon', 'edmontosaurus', 'einiosaurus', 'ekrixinatosaurus', 'elasmosaurus',
                       'elasmobranch', 'elephantidae', 'elephantid', 'elephas', 'endoskeleton', 'eocene',
                       'eodromaeus', 'erbenochile', 'europasaurus', 'europatitan', 'eurypterid',
                       'eurypterida', 'eurypterids', 'eurypterus', 'eusuchia', 'frasnian', 'fukuiraptor',
                       'galeamopus', 'galeaspida', 'galeaspid', 'gallimimus', 'germanodactylus',
                       'gharial', 'giganotosaurus', 'gigantea', 'giraffatitan', 'gorgosaurus',
                       'hadrosaur', 'hadrosaurid', 'hadrosauridae', 'hadrosauridea', 'hadrosaurs',
                       'hadrosaurus', 'hatzegopteryx', 'helicoprion', 'herrerasaurus', 'hesperosaurus',
                       'holocene', 'holotype', 'hypsilophodon', 'iguanodon', 'iguanodontia',
                       'irritator', 'isotelus', 'istiodactylus', 'jaekelopterus', 'kaatedocus',
                       'kentrosaurus', 'lepidotes', 'leptoceratops', 'leptocleidus', 'lichid',
                       'lichida', 'lichids', 'lichidae', 'lystrosaurus', 'lythronax', 'maastrichtian',
                       'machaeroprosopus', 'macronarian', 'maiasaura', 'majungasaurus', 'malerisaurus',
                       'mamenchisaurus', 'maniraptora', 'manospondylus', 'mapusaurus', 'marginocephalia',
                       'massospondylus', 'megacephalus', 'megalancosaurus', 'megalodon', 'megalosaur',
                       'megalosaurid', 'megalosauroid', 'megalosauroidea', 'megalosaurus', 'megaraptor',
                       'megaraptora', 'metriacanthosaurid', 'metriacanthosauridae', 'microraptor',
                       'mollusc', 'mosaiceratops', 'mosasaur', 'mosasaurid', 'mosasauridae',
                       'mosasaurus', 'murusraptor', 'neornithischia', 'neotheropoda', 'neovenator',
                       'neovenatorid', 'neovenatoridae', 'nicrosaurus', 'nigersaurus', 'nodosaur',
                       'nothosaurus', 'notosuchian', 'notosuchid', 'notosuchus', 'odontocete',
                       'odontochelys', 'olenoides', 'ophthalmosaurus', 'ornithomimosauria',
                       'ornithomimosaur', 'ornithomimus', 'ornithopod', 'ornithopoda', 'ornithoscelida',
                       'osteichthyes', 'osteostracan', 'osteostraci', 'otodus', 'oviraptor',
                       'oviraptorid', 'oviraptoridae', 'oviraptorosaur', 'oviraptorosauria',
                       'oxalaia', 'pachycephalosaurus', 'paluxysaurus', 'pamelaria', 'pangaea',
                       'paragus', 'paralititan', 'parasaurolophus', 'pareiasaurus', 'patagotitan',
                       'pentecopterus', 'percheron', 'phacopid', 'phacopida', 'phacopidae', 'phacopids',
                       'phacops', 'physeteroid', 'phytosaur', 'placoderm', 'plateosaurus',
                       'platybelodon', 'plesiosaur', 'pliosaur', 'pliosaurus', 'prestosuchus',
                       'proboscidea', 'proboscidean', 'proboscideans', 'proceratosaurid',
                       'prodeinotherium', 'protoceratops', 'pteraspidomorphi', 'pteraspis',
                       'pterodactylus', 'pterosaur', 'pterygotus', 'puertasaurus', 'pycnodont',
                       'pycnonemosaurus', 'qianzhousaurus', 'quetzalcoatlus', 'rapator', 'rapetosaurus',
                       'raptorial', 'rauisuchia', 'rauisuchian', 'rauisuchus', 'rhamphorhynchus',
                       'rhynchosaur', 'rhynchosauria', 'rhynchosaurs', 'rotane', 'rutiodon',
                       'ruyangosaurus', 'sarcopterygian', 'sarcosuchus', 'sarmientosaurus',
                       'saurischia', 'saurischian', 'saurischians', 'saurolophus', 'saurophaganax',
                       'sauropodomorph', 'sauropodomorpha', 'sauroposeidon', 'shringasaurus',
                       'shunosaurus', 'siats', 'sinoceratops', 'smilodon', 'spinosaur', 'spinosaurid',
                       'spinosauridae', 'spinosaurus', 'stegodon', 'stegosaur', 'stegosauria',
                       'stegosauridae', 'styracosaurus', 'suchomimus', 'supersaurus', 'synapsid',
                       'synapsida', 'tapinocephalus', 'tapuiasaurus', 'tarbosaurus', 'temnodontosaurus',
                       'temnospondyli', 'tenontosaurus', 'teraterpeton', 'terataspis', 'tetanurae',
                       'tetanuran', 'tetrapod', 'therapsid', 'therapsida', 'therizinosaurus',
                       'theropod', 'theropoda', 'theropods', 'thoracosaurus', 'thorax', 'thyreophora',
                       'titanosaur', 'titanosauria', 'titanosaurid', 'titanosaurs', 'torosaurus',
                       'torvosaurus', 'triarthrus', 'trilophosaurus', 'trilophosaurid',
                       'trilophosauridae', 'troodon', 'troodontid', 'tylosaurus', 'tyrannosaur',
                       'tyrannosaurid', 'tyrannosauridae', 'tyrannosaurinae', 'tyrannosaurus rex',
                       'utahraptor', 'velociraptor', 'wiehenvenator', 'wuerhosaurus'
                       ]
    HISTORICAL_WORDS = ['aeschylus', 'albigensian', 'amun', 'amunet', 'amunra', 'amalthea',
                        'angelia', 'anhur', 'anubis', 'apollo', 'arachne', 'arminius', 'artemis',
                        'artemys', 'asgard', 'aspis', 'ataturk', 'athena', 'augustus', 'aurelius',
                        'bastet', 'bellona', 'byzantine', 'byzantium', 'caesar', 'caligula',
                        'cassandra', 'chronos', 'churchill', 'claudius', 'cyrus', 'darwin',
                        'eos', 'ephraim', 'fenrir', 'fenris', 'freya', 'gareth', 'goliath',
                        'habsburg', 'habsburgs', 'hades', 'hannibal', 'hellenic', 'heracles',
                        'hercules', 'hitler', 'jesus', 'julius', 'lilith', 'loki', 'longus',
                        'lucifer', 'lysander', 'minerva', 'mozart', 'nazi', 'neith', 'osiris',
                        'ostrogoths', 'parthenon', 'pegasus', 'poseidon', 'ra', 'richthofen',
                        'rutherford', 'sabine', 'safavid', 'santa', 'sassanid', 'sparta', 'sumer',
                        'thanatos', 'tiki', 'valkyrie', 'versailles', 'victorian', 'visigoths',
                        'wehrmacht', 'zeno'
                       ]
    GEOGRAPHIC_WORDS = ['afghanistan', 'africa', 'african', 'africana', 'africanus',
                        'africanus', 'afrika', 'afrikaaner', 'afrikaner', 'alaska', 'albania',
                        'albanians', 'alberta', 'alabama', 'alexandria', 'algarve', 'algeria',
                        'alsace', 'altai', 'amarillo', 'america', 'american', 'americans',
                        'indian', 'amsterdam', 'anatolia', 'greece', 'china',
                        'andalusia', 'andalusian', 'andorra', 'angola', 'antarctica',
                        'aomori', 'appalachia', 'apulia', 'arab', 'arabian', 'arabians', 'arabic',
                        'arabics', 'arabs', 'aragon', 'argentina', 'arizona', 'armenia', 'armenian',
                        'artois', 'asia', 'asian', 'assyria', 'assyrian', 'assyrians', 'astara',
                        'atcham', 'athens', 'atlantic', 'atlantis', 'australia', 'australian',
                        'austria', 'azail', 'azerbaijan', 'aztec', 'bahariya', 'baikal', 'balkans',
                        'bavaria', 'belarus', 'belgium', 'bergamo', 'berlin', 'bloomsbury',
                        'bohemia', 'bosnia', 'brazil', 'brazilian', 'britain', 'british', 'columbia',
                        'canada', 'canadian', 'california', 'californian', 'cardiff', 'carpathian',
                        'carpathians', 'carthage', 'caucasus', 'celtic', 'europe', 'chile', 'chinese',
                        'japanese', 'chinle', 'cleveland', 'colombia', 'columbian', 'cracow',
                        'czechoslovakia', 'czechoslovak', 'czechrepublic', 'denmark', 'detroit',
                        'deutsch', 'deutsche', 'deutscher', 'deutschland', 'egypt', 'egyptian',
                        'england', 'english', 'espana', 'etruscan', 'etruscans', 'eurasia',
                        'eurasian', 'europa', 'european', 'falkland', 'feliz', 'flanders',
                        'florence', 'florida', 'france', 'fuji', 'gdansk', 'georgia', 'german',
                        'germanempire', 'germanic', 'germans', 'germany', 'ghana', 'halle',
                        'hannover', 'hawaii', 'helsinki', 'holland', 'honduras', 'hungary',
                        'hungarian', 'iberia', 'iberian', 'iceland', 'iran', 'iraq', 'iranian',
                        'ireland', 'irish', 'isabela', 'israel', 'italia', 'italian', 'italy',
                        'jewish', 'kazakhstan', 'korea', 'korean', 'kosovo', 'latin', 'latina',
                        'lebanese', 'lebanon', 'lisbon', 'lithuania', 'louisiana', 'luxembourg',
                        'maastricht', 'macedonia', 'madagascar', 'magyar', 'mallorca', 'manchuria',
                        'mataro', 'mediterranean', 'mesoamerica', 'mesoamerican', 'messel',
                        'mexico', 'mexican', 'milano', 'missouri', 'mongolia', 'mongolian',
                        'montana', 'montenegro', 'moscow', 'mozambique', 'netherlands',
                        'niger', 'nigeria', 'nordic', 'norse', 'norway', 'norwegen', 'norwegia',
                        'norwegian', 'norwegians', 'oceania', 'ohio', 'oregon', 'palestine',
                        'paraguay', 'paris', 'patagonia', 'peloponnesian', 'pennsylvania',
                        'persia', 'persian', 'perth', 'peru', 'philippines', 'philadelphia',
                        'phoenicia', 'phoenician', 'phoenicians', 'pomerania', 'pompeii', 'portugal',
                        'portuguese', 'quebec', 'ravenia', 'regina', 'rhine', 'rhineland', 'riga',
                        'rochester', 'romania', 'romanian', 'rome', 'russia', 'russian', 'ruthenia',
                        'sahara', 'samarkand', 'saxony', 'scandinavia', 'scandinavian', 'scotland',
                        'scottish', 'serbia', 'siberia', 'silesia', 'slavic', 'slavonia', 'slavs',
                        'slovakia', 'slovenia', 'somalia', 'spain', 'spanish', 'sucre', 'suomi',
                        'sweden', 'swiss', 'switzerland', 'sydney', 'syria', 'taiwan', 'tajikistan',
                        'tanzania', 'tatar', 'tatarstan', 'tehran', 'texas', 'thebes', 'tokyo',
                        'toronto', 'transylvania', 'turk', 'turkestan', 'turkic', 'turkish',
                        'turkism', 'turkistan', 'turkmen', 'turkmenistan', 'turks', 'uighur',
                        'uk', 'ukraine', 'ukrainian', 'uruguay', 'usa', 'utah', 'uyghur',
                        'uzbek', 'uzbekistan', 'valencia', 'venezuela', 'venice', 'vietnam',
                        'virginia', 'washington', 'wessex', 'wurttemberg', 'york', 'zambia',
                        'zanzibar', 'zealand'
                        ]
    TECHNICAL_WORDS = ['allohistory', 'balkanization', 'bokeh', 'cenomanian', 'hippocampus',
                       'html', 'jurassic', 'lyra', 'megafauna', 'mesozoic', 'miocene',
                       'napoleonic', 'neogene', 'oligocene', 'ordovician', 'ornithology',
                       'osteology', 'palaeontography', 'palaeontology', 'paleobiology',
                       'paleocene', 'paleontology', 'paleontologist', 'paleozoic',
                       'paleozoology', 'panthera', 'peridot', 'permian', 'phoenicia',
                       'pleistocene', 'pliocene', 'silurian', 'terra', 'terraforming',
                       'triassic', 'turonian', 'vexillology'
                      ]
    FANTASY_WORDS = ['alatreon', 'aldrius', 'abbathor', 'alicorn', 'alicorns', 'amonkhet',
                     'anders', 'andromon', 'angela ziegler', 'angewomon', 'asgore',
                     'asgore undertale', 'asriel', 'asuna', 'awilix', 'balduin', 'ballora',
                     'bardock', 'beerus', 'beerus god of destruction', 'bejita', 'boruto',
                     'botamo', 'briarlight', 'broly', 'buu', 'cabbit', 'cadance', 'catwoman',
                     'champa', 'chara', 'chica the chicken', 'cullen', 'cynder', 'danganronpa',
                     'deadpool', 'deathstalker', 'dragonball', 'eldarya', 'eliatrope', 'eliotrope',
                     'elven', 'evangelion', 'evangelyne', 'firestar', 'flopin', 'frieza',
                     'furiosa', 'fursona', 'gaster', 'gogeta', 'gohan', 'goku', 'goten',
                     'haikyuu', 'hogwarts', 'horridus', 'illidan', 'indoraptor', 'janemba',
                     'jayfeather', 'jiren', 'kaioken', 'karamatsu', 'katarina', 'keehl',
                     'kefla', 'korra', 'lightsaber', 'lucina', 'mandalorian', 'merlin',
                     'mjolnir', 'morax', 'nanosuit', 'napstablook', 'neptunia', 'osomatsu',
                     'r2d2', 'rwby', 'sabertooth', 'saiyajin', 'saiyan', 'samus', 'sith',
                     'skyrim', 'spiderman', 'spongebob squarepants', 'spyro', 'symbiote',
                     'tauren', 'temari', 'tenshinhan', 'thanos', 'thranduil', 'thunderclan',
                     'toriel', 'unipeg', 'vados', 'valeera', 'vegeta', 'videl', 'warcraft',
                     'warhammer', 'widowmaker', 'world of warcraft', 'wyvern', 'zelda', 'gotenks',
                     'underswap'
                     ]
    NON_ENGLISH_WORDS = ['legendarie', 'tutoriel', 'pescadora', 'bel', 'decembre',
                         'bizzarre', 'geme', 'tradicional', 'alegre', 'altay', 
                         'alterante', 'amasu', 'amaterasu', 'amatsukaze', 'amazona', 'amor',
                         'anastasios', 'antre', 'asami', 'bakunyuu', 'barroco', 'bebe',
                         'boer', 'bon', 'chibi', 'controlate', 'corazon', 'crianca', 'deco',
                         'dilong', 'fraternite', 'gardienne', 'guro', 'haruka', 'ilustracion',
                         'japon', 'kerubim', 'kunoichi', 'luftwaffe', 'mammalia', 'masashi',
                         'militar', 'monaka', 'neko', 'noire', 'numero', 'otaku', 'panzer',
                         'pferd', 'polychronis', 'reich', 'ressource', 'sakura', 'schnee',
                         'schwartze', 'sensei', 'uno', 'ursa', 'waifu', 'weiss'
                        ]
    PERSON_NAME_WORDS = ['aashirya', 'aelin', 'alcinda', 'alcione', 'alex',
                         'alexander', 'alexis', 'alfred', 'ali', 'eowyn',
                         'alicia', 'alistair', 'alois', 'alya', 'alys', 'alysa', 'amalia',
                         'amanda', 'amelia', 'amy', 'amy rose', 'anderson', 'andre', 'andrew',
                         'andrews', 'anna', 'anne', 'annie', 'antonis', 'arthur', 'asami sato',
                         'ash ketchum', 'asha', 'ben', 'betty', 'bonnie', 'brian', 'byron',
                         'camilla', 'charles', 'charlotte', 'chris', 'claire', 'david', 'diana',
                         'diane', 'donald', 'dorian', 'eleanor', 'elizabeth', 'elliot', 'elward',
                         'emil', 'emilia', 'erin', 'eva', 'evelyn', 'felix', 'fran', 'francis',
                         'frankfurt', 'fred', 'freddy', 'frederick', 'george', 'helen', 'helena',
                         'hendrik', 'henry', 'hermione', 'irene', 'isaac', 'isabella', 'jack',
                         'james', 'jane', 'janice', 'jesper', 'jon', 'jones', 'julia', 'justin',
                         'liam', 'lucas', 'lucia', 'lucy', 'luis', 'luka', 'luke', 'luna',
                         'magnus', 'mai', 'marcus', 'marie', 'mario', 'matt', 'maxwell',
                         'michael', 'miley', 'miranda', 'muhammad', 'niko', 'ophelia', 'percy',
                         'philip', 'rebecca', 'robert', 'robinson', 'rosa', 'ryan', 'sabrina',
                         'sam', 'serena', 'sergio', 'stan', 'steven', 'taylor', 'theodor',
                         'toby', 'tudor', 'ursula', 'victoria', 'vincent', 'watson', 'william',
                         'yuri'
                        ]
    INCLUDING_WORDS += SCIENTIFIC_WORDS
    INCLUDING_WORDS += HISTORICAL_WORDS
    INCLUDING_WORDS += GEOGRAPHIC_WORDS
    INCLUDING_WORDS += TECHNICAL_WORDS
    INCLUDING_WORDS += FANTASY_WORDS
    INCLUDING_WORDS += NON_ENGLISH_WORDS
    INCLUDING_WORDS += PERSON_NAME_WORDS

    MAPPING_WORDS = {'daysofoverwatch' : 'days of overwatch',
                     'bitchespls' : 'bitches pls',
                     'dressass' : 'dress ass',
                     'hippopod' : 'hippo pod',
                     'ihatevoltron' : 'i hate voltron',
                     'illumanaticonfirmed' : 'illumanati confirmed',
                     'iwanttogotothere' : 'i want to go to there',
                     'iameatingthenightsun' : 'i am eating the night sun',
                     'jagerbabieswanted' : 'jager babies wanted',
                     'muyimportante' : 'muy importante',
                     'prayforaashan' : 'pray for aashan',
                     'aashandidnothingwrong' : 'aashan did nothing wrong',
                     'selfiesunday' : 'selfie sunday',
                     'srsbusiness' : 'srs business',
                     'sunglassstyle' : 'sunglass style',
                     'teambadass' : 'team badass',
                     'teampopplio' : 'team popplio',
                     'thebigasstree' : 'the big ass tree',
                     'teamrowlet' : 'team rowlet',
                     'thatrelatablefeeling' : 'that relatable feeling',
                     'toomanyfreddys' : "too many freddy's",
                     'utahraptorweek' : 'utah raptor week',
                     'vidadecholo' : 'vida de cholo',
                     '1000thsubmission' : '1000th submission',
                     '100thepisode' : '100th episode',
                     '16thcentury' : '16th century',
                     '17thcentury' : '17th century',
                     '18thcentury' : '18thcentury',
                     '19thcentury' : '19thcentury',
                     '20thcentury' : '20thcentury',
                     '21thcentury' : '21thcentury',
                     '1kentry' : '1k entry',
                     '1pointperspective' : '1 point perspective',
                     '2pointperspective' : '2 point perspective',
                     '1stgen' : '1st gen',
                     '1stgenerationpokemon' : '1st generation pokemon',
                     '1stgenpokemon' : '1st gen pokemon',
                     'coolshit' : 'cool shit',
                     '2danimation' : '2d animation',
                     '2dart' : '2d art',
                     '3dart' : '3d art',
                     '30minchallenge' : '30 min challenge',
                     '3daircraft' : '3d aircraft',
                     '3dartwork' : '3d artwork',
                     '3dimensionalart' : '3 dimensional art',
                     '3dmodel' : '3d model',
                     '3dmodeling' : '3d modeling',
                     '3dmodels' : '3d models',
                     '3drender' : '3d render',
                     '3dtransport' : '3d transport',
                     '4thwall' : '4th wall',
                     '50svintage' : '50s vintage',
                     'nightsatfreddys' : "nights at freddy's",
                     '90sanimestyle' : '90s anime style',
                     'ps4pro' : 'ps4 pro',
                     'vegitoblue' : 'vegito blue',
                     'goldeneyes' : 'golden eyes',
                     'aboformation' : 'abo formation',
                     'accesories' : 'accessories',
                     'aelingalathynius' : 'aelin galathynius',
                     'aepyornismaximus' : 'aepyornis maximus',
                     'africanamerican' : 'african american',
                     'africanelephant' : 'african elephant',
                     'africanviolet' : 'african violet',
                     'africanwoman' : 'african woman',
                     'africanwarrior' : 'african warrior',
                     'airforce' : 'air force',
                     'airobot' : 'ai robot',
                     'alangrant' : 'alan grant',
                     'albatros' : 'albatross',
                     'aliceinwonderland' : 'alice in wonderland',
                     'alicemadness' : 'alice madness',
                     'alicewonderland' : 'alice wonderland',
                     'aloevera' : 'aloe vera',
                     'alternativebrexit' : 'alternative brexit',
                     'anewbeginning' : 'a new beginning',
                     'animeheadshot' : 'anime headshot',
                     'anthroart' : 'anthro art',
                     'anthrocharacter' : 'anthro character',
                     'anthrofemale' : 'anthro female',
                     'anthrofurry' : 'anthro furry',
                     'antilgbt' : 'anti lgbt',
                     'aprilfools' : 'april fools',
                     'auctionadoptable' : 'auction adoptable',
                     'bangtanboys' : 'bangtan boys',
                     'bangtanboysfanart' : 'bangtan boys fan art',
                     'bangtanfanart' : 'bangtan fan art',
                     'bestart' : 'best art',
                     'bigass' : 'big ass',
                     'blackhorse' : 'black horse',
                     'bluejacket' : 'blue jacket',
                     'bluestar' : 'blue star',
                     'brushesphotoshop' : 'brushes photoshop',
                     'bustyfemale' : 'busty female',
                     'cannotunsee' : 'cannot unsee',
                     'cinema4d' : 'cinema 4d',
                     'darkgothic' : 'dark gothic',
                     'dinoart' : 'dino art',
                     'dont' : "don't",
                     'easteregg' : 'easter egg',
                     'eastereggs' : 'easter eggs',
                     'ebook' : 'e-book',
                     'eddsworldfanart' : 'eddsworld fan art',
                     'esports' : 'e-sports',
                     'europeanunion' : 'european union',
                     'fairytale' : 'fairy tale',
                     'fanfiction' : 'fan fiction',
                     'fantasyscifi' : 'fantasy sci-fi',
                     'garrysmod' : "garry's mod",
                     'hentaigirl' : 'hentai girl',
                     'icecream' : 'ice cream',
                     'kpop' : 'k-pop',
                     'leftwing' : 'left-wing',
                     'lgbtcommunity' : 'lgbt community',
                     'lgbtqpositivity' : 'lgbtq positivity',
                     'lgbtsupport' : 'lgbt support',
                     'longhair' : 'long hair',
                     'lucasarts' : 'lucas arts',
                     'lucasfilm' : 'lucas film',
                     'microsoftwindows' : 'microsoft windows',
                     'nationstates' : 'nation states',
                     'overwatchfanart' : 'overwatch fan art',
                     'overwatchblizzard' : 'overwatch blizzard',
                     'overwatch game' : 'overwatch game',
                     'paleoart' : 'paleo art',
                     'patreonsupport' : 'patreon support',
                     'rightwing' : 'right-wing',
                     'royalairforce' : 'royal air force',
                     'scifi' : 'sci-fi',
                     'scififantasy' : 'sci-fi fantasy',
                     'shorthair' : 'short hair',
                     'squareenix' : 'square enix',
                     'thankyou' : 'thank you',
                     'tshirt' : 't-shirt',
                     'videogame' : 'video game',
                     'webcomic' : 'web comic',
                     'whitehorse' : 'white horse',
                     'worldwar' : 'world war',
                     'worldwar1' : 'world war 1',
                     'worldwar2' : 'world war 2',
                     'worldwar3' : 'world war 3',
                     'worldwarii' : 'world war i',
                     'worldwariii' : 'world war ii',
                     'worldwarone' : 'world war one',
                     'worldwarthree' : 'world war three',
                     'worldwartwo' : 'world war two',

                     ## Scientific
                     'acinonyxpardinensis' : 'acinonyx pardinensis',
                     'acrocanthosaurusatokensis' : 'acrocanthosaurusa tokensis',
                     'adamantinaformation' : 'adamantina formation',
                     'alanqasaharica' : 'alanqa saharica',
                     'alanqasaharicus' : 'alanqa saharicus',
                     'albertosaurussarcophagus' : 'albertosaurus sarcophagus',
                     'alioramusaltai' : 'alioramus altai',
                     'alioramusremotus' : 'alioramus remotus',
                     'allopleuronhofmanni' : 'allopleuron hofmanni',
                     'allosaurusjurassicworld' : 'allosaurus jurassic world',
                     'anatotitancopei' : 'anatotitan copei',
                     'ankylosaurusmagniventris' : 'ankylosaurus magniventris',
                     'apatosaurusajax' : 'apatosaurus ajax',
                     'aspergerssyndrome' : 'aspergers syndrome',
                     'auroraborealis' : 'aurora borealis',
                     'earlyjurassic' : 'early jurassic',
                     'maastrichtformation' : 'maastricht formation',
                     'santamariaformation' : 'santa maria formation',
                     'trex' : 't-rex',
                     'tyrannosaurusrex' : 'tyrannosaurus rex',
                     'ursaminor' : 'ursa minor',

                     ## Historic
                     'alandalus' : 'al-andalus',
                     'alexanderhamilton' : 'alexander hamilton',
                     'alexanderiii' : 'alexander iii',
                     'alexanderthegreat' : 'alexander the great',
                     'jesuschrist' : 'jesus christ',
                     'napoleonicwars' : 'napoleonic wars',
                     'norsemythology' : 'norse mythology',

                     ## Geographic
                     'alternatehistoryiberia' : 'alternate history iberia',
                     'austriahungary' : 'austria-hungary',
                     'austrianempire' : 'austrian empire',
                     'latinamerica' : 'latin america',
                     'losangeles' : 'los angeles',
                     'mediterranean' : 'mediterranean sea',
                     'mexicocity' : 'mexico city',
                     'mexicanempire' : 'mexican empire',
                     'newyork' : 'new york',
                     'newyorkcity' : 'new york',
                     'newzealand' : 'new zealand',
                     'northdakota' : 'north dakota',
                     'persianempire' : 'persian empire',
                     'romanempire' : 'roman empire',
                     'washingtonstate' : 'washington state',

                     ## Fantasy
                     'alexminecraft' : 'alex minecraft',
                     'angelaziegler' : 'angela ziegler',
                     'asgoreundertale' : 'asgore undertale',
                     'asunayuuki' : 'asuna yuuki',
                     'beerusthedestroyer' : 'beerus the destroyer',
                     'bobafett' : 'boba fett',
                     'bonniefnaf' : 'bonnie fnaf',
                     'captainfordo' : 'captain fordo',
                     'chicachicken' : 'chica chicken',
                     'chicathechicken' : 'chica the chicken',
                     'daenerystargaryen' : 'daenerys targaryen',
                     'darthvader' : 'darth vader',
                     'five nights at freddys' : "five nights at freddy's",
                     'fivenightsatfreddys' : "five nights at freddy's",
                     'harleyquinn' : 'harley quinn',
                     'illidanstormrage' : 'illidan stormrage',
                     'ironman' : 'iron man',
                     'jurassicpark' : 'jurassic park',
                     'jurassicworld' : 'jurassic world',
                     'laracroft' : 'lara croft',
                     'legendofzelda' : 'legend of zelda',
                     'majinbuu' : 'majin buu',
                     'mjolnirarmor' : 'mjolnir armor',
                     'mortalkombat' : 'mortal kombat',
                     'rinmatsuoka' : 'rin matsuoka',
                     'scoobydoo' : 'scooby-doo',
                     'spongebobsquarepants' : 'spongebob squarepants',
                     'starcraft' : 'star craft',
                     'thelegendofspyro' : 'the legend of spyro',
                     'thelegendofzelda' : 'the legend of zelda',
                     'warriorcats' : 'warrior cats',
                     'worldofwarcraft' : 'world of warcraft',

                     ## Non-English
                     'ancienregime' : 'ancien regime',
                     'schwartzeart' : 'schwartze art',

                     ## Person name
                     'alanwalker' : 'alan walker',
                     'alexandradaddario' : 'alexandra daddario',
                     'alexjones' : 'alex jones',
                     'allisonargent' : 'allison argent',
                     'amyrose' : 'amy rose',
                     'andrewgarfield' : 'andrew garfield',
                     'andygarcia' : 'andy garcia',
                     'arianagrande' : 'ariana grande',
                     'asamisato' : 'asami sato',
                     'benedictcumberbatch' : 'benedict cumberbatch',
                     'caradelevingne' : 'cara delevingne',
                     'charlizetheron' : 'charlize theron',
                     'chrisevans' : 'chris evans',
                     'donaldtrump' : 'donald trump',
                     'emmastone' : 'emma stone',
                     'emmawatson' : 'emma watson',
                     'freddys' : "freddy's",
                     'georgewashington' : 'george washington',
                     'hillaryclinton' : 'hillary clinton',
                     'peterparker' : 'peter parker',
                     'stanlee' : 'stan lee',
                     'taylorswift' : 'taylor swift'
                    }

    with open('pokemons.txt', 'r') as f:
        pokemons = f.readlines()
    pokemons = list(map(lambda s: s.strip().lower(), pokemons))
    pokemons += ['mimikyu', 'crocky', 'colombeau', 'baggaid', 'baggiguane',
                 'eggmove', 'elecsprint', 'pharamp', 'arcko', 'poussifeu',
                 'carchacrok', 'barloche', 'chenipotte', 'galifeu', 'relicanths',
                 'relicanth', 'batracne', 'cofagrigus', 'tutankafer', 'insecateur',
                 'caracosta', 'carapagos', 'megapagos', 'bargantua', 'tenefix',
                 'nanmeouie', 'gallame', 'panthster', 'robinroot', 'gaogaen',
                 'junaipa', 'clemont', 'zeraora']

    INCLUDING_WORDS += pokemons
    # EXCLUDING_WORDS += pokemons