Read strings from a text file and output new random strings based on them using a character-level Markov chain.
Table of contents:
Text files to be read by the program have one string per line.
england-cities,towns.txt
: cities and towns in England (source 1, source 2)finland-places.txt
: municipalities and other places in Finland (source 1, source 2)finnish-kotus.txt
: Finnish words (source)germany-cities,towns.txt
: cities and towns in Germany (source)sweden-urbanareas.txt
: urban areas in Sweden (source 1, source 2)usa-cities,towns.txt
: cities and towns in the United States (source)
Amb Molseatforoggley, Ambe, Arlbury, Barshburbor Main-th, Beccleren, Blanlow-on-on, Bleringwad, Bride, Carkham, Carmsagfornes, Chity Waln, Chop's, Clesdalifnastry South, Courgh, Cretelle, Elymingdon, Emsey, Fille-on-unborth, Filsenst Croughton, Greedenburth, Grew Abbecking, Henton, Hithforton-wicklay, Hunter, Ilmerleanage, Leoburgay St Bouth, Lyn Citnagbrover, Maington-Tham, Majorloss, Newton-Lyd, Noross, Nortochury, Norwornburnham, Ormoughby, Padcombe, Plymingatch, Purnbury, Redle, Romerom, Sher-Lingh, Shiptocheland, Ston, Ston-ladebrood, Tornbury, Totley, Wal Spalvill-on-Asket Cospon, Winton, Wobury, Wookenheadston, Yorland
Alsterham, Amereford, Bolswort, Cheston, Crampton Hull, Glasender-Sands, Great Drayton, Greet, Harpe and North Moorside, Hatford, Heatone, Here, Hexhill, Highley, Highouse, Kirket Drayton, Leicesthorley, Liskeard Cavenoaks, Liskere, Macclesen, Middersh, Nailsham, Nort, Orping, Paignmouth, Redruth Gardenham, Ross-on-Sea, Salifax, Sand Harrogates, Sheppendon, Sleach, Some, South Well, Staintry, Stock, Stoke, Stor, Sundle, Tamwood, Thirs and, Totting, Trow-in-Furn Sands, Wainton, Wall, Wattleham Major, Well, West Brentry, Wimblet, Windown, Wobury
Bampton-Linslow, Bradford Forum, Brighton, Broadston, Bromborne, Bromboroughton-on-Tees, Burton St Petherston-le-Stree, Caiston, Camborne Minster, Castle, Chesterham, Chipping, City, Durslemere, Earlestoft, Elstree, Exeterleigh, Farington, Featherston, Finchester, Fleetworth, Folkeston-under-Edge, Framlingford, Grange-over, Haleworth, Hednes, Hendover, Hingham Crosby, Houghton, Immington, Ingleton, Kempstead, Market, Newcastle, Newton and Loscoe, North Waltham, Northam Abbey, Oakengateshead, Oakhamsted, Poynton, South, St John's, Staple, Stockton-under-Lyme Regis, Stow-on-Trent, Verworth, Willericay, Wimbleside, Wincanton Keynes, Winchinham-on-Severley
Eskinta, Forainevonmäkamäkipalanhajärä, Hiravi, Huhalkälä-Petä-Kiiro, Hyröm, Iiri, Juurua, Koivalaa, Korantokkarja, Koskylmi, Kotonkylä-Puus, Kuurvesmaala, Lamaja, Laukaksaaraisti, Lohkansi, Luosi, Majoki, Marju, Mista, Moskona, Muti, Naangasalonnala, Neurttylluormäki, Niikkoskiö, Paarvi, Pettilahti, Pirvi, Pohaa, Pornävaihikkauha, Porttarainrivanhanlaivi, Poskumpio, Puhijärvijasikkaa, Riitti, Salahna, Saloppilä, Savi, Sela-Ahoikalen, Sila, Stramanra, Sula, Suomankajärvi, Sykälilpula, Vahtoki, Valinnakoskakoniemi, Vara, Vensala, Vieminen, Vuollioki, Yli-Luhmoinnajärvi, Ylia
Ahvensuo, Hanni, Hieto, Horma, Huuta, Hämeensuu, Jarheniemi, Joensaho, Jäälia, Kaipale, Kantakylä, Kasko, Kaus, Keitkäjärvi, Kirkkala, Kitto, Kivesi, Kokkala, Koski, Kuonetruma, Kurtti, Lappee, Lemlankylä, Lentakarivehmerharjovaarajärvi, Luosta, Matkama, Melkolahti, Moisjärvi, Norilankalampele, Nurmuna, Paasepohjasalahti, Palta, Pappohja, Punta, Pörsäkkiralahti, Rantakala, Rauta, Ruoto, Saara, Sarkkälänkylä, Siikanta, Sisälä, Tanniemisjärvi, Tepaa, Tuorkuma, Tuovero, Uusikaristolannula, Viitilahti, Vuokkala, Äkäslomaa
Aholanniva, Anttio, Hirvenko, Hoikangas, Honkarainen, Iittilampi, Kangas, Karkkuu, Kausta, Kelonteenlahti, Keminmaja, Kierinmaa, Kirjalaidun, Kosta, Kuusila, Latovainen, Lauhalahti, Leppävirtasala, Liikkiö, Lohiluoto, Lohtavuorinkomaanpää, Luopanjoki, Mankilahti, Mannilä, Myrkkä, Naantala, Nakkilä, Niemi, Oravisalmi, Paatti, Parhala, Parolanvaara, Pellosenmäki, Pihlankylä, Pomarkkila, Pukarla, Puolahti, Puukasjärvi, Ryhältö, Sairaala, Salmeniemi, Sampula, Sappeenranta, Sarvinkää, Saukkoski, Someenko, Sulkavanpää, Terttula, Torvoo, Veikkala
aalijaneno, aattaapet, baanaidineta, flaaroparvalke, hakoopitynpa, heinen, hyppipuffia, hyvanatku, ihmi, irjeläpsekti, juhtavarmehu, kirkaulkka, kittäjäytys, käsielmäisövasinsalitti, lansalobiisyketostappia, lautieliikettikarylisti, litti, melä, miehostuommisuuheäs, modysi, muipuokajatoa, musulu, nauhaini, nuplotkäyttaksimaisetoavaittisjo, oistiksi, paila, palki, pangiaa, perakuupaus, perida, poisitturivinen, puhalvämäinengaa, rastöntatekantoti, riailividoimiteinispuomaineen, ryhdektrus, sapehapuvillysuistukulinovakestetsiymbolli, sasisohitoito, skentaannypääkye, spolet, sumpuimaen, sänteliniistakkanahtainen, talis, topuntaviehemetti, valapsuunaltummerisutus, vesäväkällaääestous, vietousestikko, vilpaistus, virvi, voikalinsansisnäläkaattaja, yhja
aini, arkkyyhyppilaskuna, floribuukka, hiomenkelitalvollismi, hoperimainen, houtuimmunanjuoroero, irturvasynkymmellishakelainen, kakasialtahtailitus, kaupuneisataja, kaurasjärjelmä, kiinilmiruoputappa, kiintahrajavali, konsulfiilla, koriumsulkolhonkirjanvilainen, korkeatetasasu, kunamuti, kuntoantti, kympäri, latumate, lipumaltaa, luone, luovuosi, muodottolaus, mutetsälmyssi, mäsättöinen, nunnistotyyli-ilmannelma, nuorottaa, pausmu, pienia, pneaset, präsruoh, pyökunakki, päivipumihernepale, raite, raksoolista, rusallo, sananlähtävä, sava, sikku, talottella, tunen, tuottellyttää, uisto, uunnosito, vaaje, varsisuus, velu, vilijauha, visapaistiikkö, yriaali
ajatusmenopuolustaa, aliha, arkkinosastotar, arvivamuotospalvelumennus, autoklippimisluokkailta, calmenttävälli, diskaasti, emble, galakunnappi, genergisesti, hieronhoito, hotellisat, hypnootti, ilmanhimo, istus, kalifilee, karttaisesti, kauppaus, kellä, keltaköyhäiltakas, kivääreilulupsykologia, konserttumistö, koronaaliitto, lemmal, maansanpesijätkähtää, matkutus, mehulantti, mielteinen, myötäaallandkastusainen, naisuusristuinen, niisittaja, omanisti, onninpistäytymismi, paapäiväpertaa, palloittaa, pehmiten, pitkähtämitys, raappi, rautaja, samankuoristin, silmi, synkiste, sähköpyöräiliö, tainen, tupoltti, turika, tyhmettihotaitopöytäasteerina, voittajaisesti, xeroksityönjohdistellisuojaus, änkymmetä
aikaa, aivokaatti, apulasit, arvostelevisiosto, avaruudunlukija, edetähkäinen, flegmaatti, hentoukka, hikipäiväinen, hitsauskonen, hukkaprosento, hälistö, innoksiin, jaotteinen, kaasubetonipäinen, kaksostuttaja, ketunnaisuus, kiekonlyöntitilateliton, kielenosoitto, korkeaviritysmuotoinen, kotiteoria, kunniattomuus, kuparisäilmanenttirekisteri, kurinalle, leipomohiivaolut, lujenhuone, maidonerityisajo, mailakkavaihoinen, monioida, oikeusmittaus, omahoitellä, pallaan, pitsiröyhelöinti, pyristelykykyinen, päihdekäyttää, pääpiirtäjä, railatalikka, sanakirjekurssi, soljankous, sorkkaanteisesti, sotaratsumaton, suometsästys, sveitsi, sähäkkikasvu, timotauti, tinakauhaistelutoveri, turkisto, varapäällikkö, viuhahdellä, yhteistötuki
akkamaa, akkutoimitusten, avosilminnäkijä, elinvoimala, hammaspaimennin, hapanta, hopealämpö, ilmaisosakeasuntola, imartelutehtävä, julmiste, kolikkoammunta, konkreetti, korvausvelka, koulukaskasvi, koulukiusata, krenatöörit, kurkkulaukaus, kylmäjärkisyy, kyyristella, liiketapahtuma-ala, liikuntaesittää, liukuestematiitti, lujahermosärky, lähimmäismääräraha, maalarinteikäs, maitotumainen, manchegojuustoutua, masariiniöljy, monilahjakirjoitusaines, mukavuustutkintonimike, nykymusiikkitelainen, ommelkangastella, ompelusilkkitiili, paineilmasto, poroporvarissään, postivilja, puupökkelökääpä, pyörätuolikenkäin, rajavartaalitaista, rallieläin, ratsastushaluisesti, sarjatalous, sikarotuisuus, skeittiökoisa, teatterilasi, tutkavalmistelu, uittotemppuilija, vajaavalta, verensyöksylaskuri, ylösalaisyhteisnimi
Allgäuselen, Bad Brabrüeld, Buxtensten, Bürz, Daseelinger Oldbachinge, Degk, Ehirg, Emmerg, Erkardholzdorf, Eutrolk, Freusensenhen, Gand, Haingenmünchwanders, Harterstalenburg, Herstaldsberg am Musta, Hohberg, Hombera, Horf, Ilstrüchroder, Innaustenbachhorne, Jückasbachieberg, Kretburgenkacheim, Lauf amünderberg, Linigsma, Maing, Neus, Neußenhagenbachhorf, Nienseld, Nürn, Oberg imer-Schr, Pockendorf, Rock, Rottisigssenburgwetadt, Sangenberg, Scharsdorf, Schingerg, Schlanow, Schnenderbachörligteim, Schtwarschweden, Sprickausenheim, Stad Ber Dürtschwenderl, Staldermar, Steim, Straffenhütz, Velohnaulgteischau, Vierg, Wilin am Mühlassen-Bettenaung, Willen d. Inn, Wunsterdheim Ibburg, Wündorf
Abenau, Alter, Bad Saulgastromberviechtenden, Bad Sulzbach, Barburg, Blanden, Boxberriedentha, Brauenbach Liebensen, Brauschneverkow, Bruchstädt an der Stein, Bürenalberg, Donau, Ehin, Eislinghausen, Erlebenau, Escheberg, Gold, Helmshofsheim, Hildberg, Kalkau, Kelsteinachengen, Korndorf, Kyllberg, Lauchlüsselegen, Lauen, Leut, Lollfeldern, Ludwitz, Markrankelen, Meingen, Neustenburg, Nossel, Offenheim in der-Olm, Olfeldbecklenber-Beiligenau, Parsewinklagen, Plausetal, Puchauselbronack, Renner, Richenburg, Schlis, Schramburg, Schwelmsheim, Simburg, Teuburg am Triberg, Thal-Heilngriedersbach, Torgen, Walde, Wolkau, Zeilngriedstadt, Zossing
Alten, Bad Breisingen, Bad Neustavsburg-Loccum, Bad Schwarzwalk, Bad Wildau, Bad Wildesheim, Baesweiler am Harz, Bartha, Baumholdegk, Bergenthal, Berlinghausen, Bernach, Beven, Biesenthal-Zelle, Blausterhofen, Bramschengladbeck, Butzbach an der Nordheim, Cochern, Eggendorf, Erken, Geiselhöringen, Gröning, Heilsbiburg an der Unstrut, Herden, Hilpoltsteft, Immenstedt, Kaiserstadt, Lambrechenberg im Tauberg, Laucha an der Teck, Lauterndorf, Meinbach, Metzin, Mittweiler, Mühlheim, Orten, Rhein, Rotten, Schwartau, Seligenhausen, St. Blankenau, Strausberga, Tengermünden, Tirschein, Trossin, Töging am Harz, Waltenkirchen, Weismar, Westerow, Widderne, Zweibrück
Ankaresungi, Aska, Berhusmo, Bolvhedalers, Boxholmunnebrosta, Bull, Emmarla, Fallinge, Fjälla Åstvi, Fund, Glan, Gras, Gränga, Hjora, Hoksvikerdma, Horrödervi kyretorp, Hällen, Härna Ånästerödingen, Hålakulling, Höörk, Karlunge, Kirsla, Koppanda, Koppviksnäsvigerr-Hedentornaryd, Krinn, Källanstad, Kärnö, Ljunforp, Molforsenästra glaga, Mosslöv, Rotforjärskhytholle, Sifflebollacka, Sjus, Sking, Skrana, Skällabrumla, Sommenugungsjön, Staded, Storrs, Stubbleryd, Sätind, Trun, Valmhult, Vilde, Virundöås, Åserstoret, Åteby, Öborva, Östad, Öxaber
Alftaskog, Alstorn, Arenarsta, Billa, Björnäs, Degersberga, Färgårde, Gene, Graveltorp, Grim, Gubborgsjö, Gävlingsby, Hassered, Hjortkvar, Hjärnforsele, Holsingeby, Ilsby, Johanneby, Jädersviken, Jätt, Jätti, Kinnskarberg, Kurlanda, Kvillattjärna, Limmen, Ljusnäs, Lungbyholmen, Lövsjö sommark, Merlöv, Mollsta, Munkek, Neda, Norda, Norr och Snugga, Nylandnor, Oden, Simrå, Sjöding, Snövesjö, Sollö, Solsviken, Stickle, Storp, Strånga, Sund och Klacka, Trellösa, Vared, Västeråkra, Ödeby, Östorp
Alsterhagen, Ballinge, Benar, Bergshammarby, Bjärsås, Björsätt, Boholm, Bäckaskogen, Ekeda udde, Ekängenäs, Eskilsby, Fridlevshult, Gnestad, Gunneryd, Hammen, Hamrångsjö, Haradsbygd, Haverdalen, Höga, Johannestad, Kille, Klågeröd, Kurlandsbro, Linköpingstorp, Marmora, Mellby, Myrvik, Ornäsvall, Orrvik, Oskar-Fredriksmon, Partillebrunnarslöv, Rånna, Sibble kyrkby, Skanör med Falstad, Sollen, Solvarsgård, Stora Husby, Torbjörn, Valbohed, Vetlandskrona, Vimmerstorp, Vissefors, Vreta, Vänersby, Väster, Västerhamn, Västranda, Älmstad, Ängelstorp, Öster
Aikestie, Arto, Aubbstertauk Fal, Belbarlizabyle, Beld Ric Glo, Bideld, Calmax, Chatter, Chippard, Collestiontsmon, Culladvilb, Decons Fainbeva, Durg, Elkhan Dem, Fallebu, Flistaury, Fortinch, Gran, Jand, Keen, Lacklymon, Larly, Lebst Newportington, Lislotood, Mido Bervillo Bent City, Mille, Newa Myrna, Nort Packine, Oxforrinei, Peomi, Pett, Port Lehiams, Pothesburns, Rock, Sach, Sandwersenna, Sangfielle, Sarles, Tuck, Walanton, Weigh, Wenvillejo, Westown, Wesvillynno, Whic, Willin, Winable, Winsforestocottsfie, Woombisterlonfierghtowne, Woorawton Amet
Anah, Beau, Bonneland, Bryandwick, Carles Laurel, Cedar Rator, Centrop, Colly Chula, Collyn, Coupeloit, De Long Granford, Des Montclairbano Beach, Duranta Bay, Elkhantark, Elkings, Emmith Kington, Goldez, Grancorse, Greesport, Hyde Point City, Keno, Kensas, Kille, La Groton, Lake, Lake Gene, Lake Washine, Laredon, Lock, Lubenville, Mankton, Mant, Mobiles, Needsporthanute, New Kent, New Madridge, Norwood Ridge, Oceanset, Orancord, Orove, Ponta City, Porth Chicagosa, Praibi, Sainton, Simi Valla Wayne, Steubenver, Welluridge, Westeamberton, Windleton, Winneapolinster
Alexandro, Alhambridgetown, Amherstown, Anada, Atland, Barbara, Bellinsville, Bethesda-Chevy Charlem, Bowlingboro, Cape Coral Gable, College, Corpus Christown, Crook, Cuyahoga Springs, Fort Angeles, Gallade, Gallahoma City, Glen, Golia, Graylingen, Greeneva, Hot Spring, Hyattsboro, Johnson, Kennebunkport Huron, La Grandersonville, Lake, Lake Haute, Maconderson, McPherstow, Medicine, Milbans, New Bernardiner, New Rockfoot, New York, Park, Paul, Port Morganton, Port Worth, Portlanton, Redonia, Rhineland, San Lea, Sand Juntain, South Chicagoula, Talla Walland, Truth Bend, West Morganton, Wilkes-Barristol, Winster