You are on page 1of 8

import random

import codecs
# from http://www.geocities.com/anvrill/names/cc_goth.html
PLACES = ['Adara', 'Adena', 'Adrianne', 'Alarice', 'Alvita', 'Amara', 'Ambika',
'Antonia', 'Araceli', 'Balandria', 'Basha',
'Beryl', 'Bryn', 'Callia', 'Caryssa', 'Cassandra', 'Casondrah', 'Chatha', 'Ciara
', 'Cynara', 'Cytheria', 'Dabria', 'Darcei',
'Deandra', 'Deirdre', 'Delores', 'Desdomna', 'Devi', 'Dominique', 'Drucilla', 'D
uvessa', 'Ebony', 'Fantine', 'Fuscienne',
'Gabi', 'Gallia', 'Hanna', 'Hedda', 'Jerica', 'Jetta', 'Joby', 'Kacila', 'Kagami
', 'Kala', 'Kallie', 'Keelia', 'Kerry',
'Kerry-Ann', 'Kimberly', 'Killian', 'Kory', 'Lilith', 'Lucretia', 'Lysha', 'Merc
edes', 'Mia', 'Maura', 'Perdita', 'Quella',
'Riona', 'Safiya', 'Salina', 'Severin', 'Sidonia', 'Sirena', 'Solita', 'Tempest'
, 'Thea', 'Treva', 'Trista', 'Vala', 'Winta',
'Acwinus','Chaedal','Finnu','Liutu','Sabharick','Adela','Childorcha','Finnumine'
,'Lobodee','Salon','Aearn','Choman','Flant',
'Lothereth','Salvagobil','Aeldan','Chute','Flina','Lothhelech','Samannesh','Aelg
al','Ciabanquel','Florix','Loughasaid',
'Sammocunus','Afreaghane','Ciardhelm','Folchad','Lubulchube','Sammspran','Aglos'
,'Cintanicel','Fordwine','Luciost','Sandenem',
'Aigling','Claranne','Fortimon','Lugaladh','Saphanse','Ailioraur','Cnias','Freza
del','Lynnel','Sarah','Aillew','Codan','Galder',
'Magan','Saran','Aithere','Comgeritt','Gamgell','Mahonie','Sarellice','Albarra',
'Compstort','Gaquilo','Mahonw','Sarnon','Alber',
'Conach','Garann','Maldwulfi','Sautsfoic','Alberickar','Conbur','Garrol','Mallos
','Seaftire','Alberis','Conna','Gaudora','Malur',
'Sebergfin','Albey','Corandrogh','Geberett','Mamongille','Seidis','Alcho','Corbi
cci','Geirdydd','Mandus','Senger','Alenie',
'Coriannen','Gelyz','Marrich','Senterg','Alouven','Corloisfur','Genna','Martheke
re','Sesseduin','Alpeis','Coronk','Genne',
'Marvan','Sheehan','Alston','Corrien','Gitta','Mathamelda','Shiree','Altacia','C
owanes','Godmanu','Mausteinus','Sigengern',
'Amaby','Coyalnota','Gondie','Mazeo','Simpreber','Amach','Crawick','Gondolen','M
azer','Sisbury','Ambasar','Creboraly','Goroden',
'Mazorkaros','Skyleir','Amberth','Cromma','Gowelia','Mecharicia','Snarchorix','A
mlain','Cuadh','Graedelig','Medburgard','Soazilos',
'Amond','Cuilias','Grathla','Melissa','Sonen','Amorwanui','Cunovann','Guanowaine
','Merya','Soner','Andie','Cweald','Gundel','Meryn',
'Spaarny','Andis','Cynrim','Gwael','Mirite','Spaistam','Annan','Hen','Gweninife'
,'Mochlan','Stanien','Anneld','Daegentut',
'Gwilfred','Moiraaps','Steinn','Aourgenus','Dalund','Haforne','Molti','Storri','
Arandylah','Damar','Haudy','Monelstann',
'Sualaunus','Arcoren','Davin','Headha','Morennye','Sulfwina','Arink','Davius','H
eahmalad','Moriovax','Sunir','Arkwoode','Deheuds',
'Hegal','Morthard','Suzanduin','Arlita','Denand','Helcie','Moruigs','Svafalvin',
'Arman','Derdur','Hlindenock','Motere','Symos',
'Arnar','Deueris','Holskinn','Moyna','Tairwen','Arnezro','Diach','Huorn','Muadnu
s','Talotta','Arthink','Dolfrune','Ilmund','Naomi',
'Talus','Artrie','Druarell','Imhina','Nardon','Tarlon','Artuira','Dubnus','Imlot
','Nartney','Taryn','Aster','Dwyatte','Imloth',
'Neilger','Tauli','Astmar','Dymphorbet','Inperlyn','Neisensa','Tazara','Aurye','
Eashleen','Inters','Nevroulen','Teamar','Avell',
'Eberian','Invell','Nildebran','Tefigel','Baegenus','Ebias','Iorish','Niosansis'
,'Teinsleifu','Baine','Echlanien','Irmacuil',
'Nolwyden','Teret','Balda','Edmund','Jacquenda','Nualacus','Tesis','Balimonius',
'Edudoine','Jalin','Oalda','Tewanbeher','Balmoth',
'Eiberreyn','Janare','Odiepman','Thest','Banniewhet','Eilen','Janell','Odreksi',

'Thianory','Baresera','Eiriell','Jaquinhach',
'Odriun','Thildus','Barraidh','Eksen','Jarey','Oilburyn','Thond','Barrui','Elair
et','Jazleth','Okoth','Thorfaste','Beagh','Eldia',
'Jenifred','Onaleneour','Thorix','Berink','Eldil','Jerilo','Orpedredan','Thostus
','Berna','Elebrielly','Jerin','Orthword','Thrik',
'Berngriwen','Eleinwayne','Jestira','Oscharline','Thron','Berto','Eliaurh','Joce
leanne','Osgilraiel','Thruan','Blesyn','Elind',
'Jonaghan','Osmenui','Tianne','Boane','Eline','Jorgild','Owaneythe','Tighreann',
'Bodha','Elmot','Joseson','Paigernare','Tinges',
'Braymac','Elryn','Jozei','Pasktmoriz','Tirion','Breger','Elsalo','Juddi','Patro
s','Tisristiny','Brigedlui','Elyndelsus','Judobar',
'Pearda','Tissuin','Briten','Emlyn','Justanyas','Peler','Trelathlo','Briter','Em
meryl','Kallwedig','Peribus','Trevanet',
'Brithuric','Enessaman','Kannen','Piristor','Trulf','Britige','Engayn','Karradyn
','Pithel','Tuathron','Brittan','Ennata','Kavon',
'Poitnerna','Tuirithine','Bruce','Enther','Keevon','Poron','Tuirnach','Brudicho'
,'Entruinn','Kenda','Porop','Tujenach',
'Bryalaeran','Eppial','Kiell','Posselos','Twealde','Buichor','Eritan','Kiene','P
ypatrich','Twick','Burgisli','Ermundla',
'Konaomir','Quesnae','Ulmsleane','Cadeyng','Ernus','Koren','Raidach','Unpre','Ca
dock','Ersorlacus','Kristh','Raier','Vanus',
'Cadwgawynn','Eschor','Krystaris','Rannune','Vegillakez','Cafnhilas','Esylvyn','
Kwesley','Rases','Vellenna','Cagnifrez','Etron',
'Lairithm','Raver','Wacfeline','Calad','Etroy','Lalekorthe','Rayant','Wenna','Ca
las','Evanhuila','Lanck','Rella','Weplymon',
'Caldorus','Everaistin','Landufgan','Renda','Wermaiebor','Caleingdon','Exninothi
','Lariat','Renddox','Whith','Caliger','Fagaden',
'Launus','Repater','Whithin','Calverciol','Faiglad','Laval','Restradge','Wilwulf
','Camrote','Fallen','Leanorivor','Rhearyl',
'Xanak','Careward','Fallyghi','Leasaric','Rhian','Xanal','Carleifu','Falurim','L
ebdil','Rhilar','Xandranus','Caserach','Farah-Nu',
'Lefnise','Riannann','Xogana','Casti','Fauldyr','Leodocus','Riansleph','Ygelward
an','Catteresen','Feldavette','Lesyll','Riffiel',
'Ymarby','Celsus','Fermund','Liberharan','Risside','Ynyeved','Ceola','Fiaculf','
Lician','Roxburg','Zaravena','Cergurlee','Finna',
##'Linmanna','Rozenos','Zetta','Chaddy','Finne','Liobeuzeg','Rumost','Zymond','n
andori','hand','eir','gallraterui','eirperui','mor',
##'eirhelas','rimbrad','garavir','cir','lindrim','foroher','celiann','anachar','
nainedri','angochas','uihonuiavan','duing','bor',
##'elenn','beren','fortforloth','adhenelad','anniann','eirmothos','angohondoro',
'gwang','vedhaselad','foraith','rhor','phosiann',
##'eircirin','ivasmm','fortdor','uihovas','forindi','iath','ivasron','nan','wair
','nod','benuiad','cor','ivasdlui','arathot',
##'perethedri','hith','angon','ionin','gwaithr','angoforthos','agoro','goriliann
','narando','peredredri','belad','eroch','angovir',
##'carn','uihoeadwae','arn','tyrchursara','gel','mithron','ngbancerui','orogonde
dri','carn','ivasvalmor','uihobelryd','uihorandira',
##'medolar','uihoflan','uihodarth','perethsara','lhan','morgaurerui','eircargune
','uihoredri','berum','ivasroth','min','arophrsara',
##'ngallos','aith','celaselad','celarahiann','arcril','hassaredri','linhil','hin
gertsara','thiw','rim','galdore','galebrsara',
##'athelad','gaur','forttur','fortberamra','pal','dannari','samorwe','orgurog','
egobbreotho','orgugul','garri','orgusernere','mor',
##'thethe','sarvent','sonsrom','ael','farapsa','erhoth','porgothkrad','sasanoth'
,'senferrect','ins','themala','thsaart','dirothi',
##'esessephose','reotheroset','arthapsa','orgufre','sasapor','los','sonthoset','
lineth','int','kremenapsa','orguidh','linhksorre',
##'aberhose','senlinhaap','othet','cin','linhtorn','neisepr','ress','tothirr','f
ee','reth','linhsperpir','ansrote','nglaithkrad',
##'roth','sasaac','thian','inmallo','sasagobada','the','edrithapsa','calvasi','k

rakradkrad','goset','raglin','sasalor','abel',
##'sengwaini','onisons','poprhirr','sipthon','gil','egobmisiarm','calkrad','hian
k','linhfaraber','sench','senretin','othe',
##'senraitham','senpripien','chhirr','sri','egobsanorth','orgunancelw','senkrad'
,'posake','linhmathen','gorter','nelethhirr',
##'mochekw','ret','orisoset','inkapsa','ebisith','inthoskrad','ekwirrt','samhirr
','fithol','gos','samiril','enthhirr','ritewoset',
##'refar','ossirnhose','mardanhose','nathais','wahil','alousin','parataitas','za
hlunnark','mia','etikatlasa','buloulhai','meresana',
##'apudak','ziyizen','zahin','doshazdhai','adotas','mettana','pasana','horos','e
pthuka','pashai','trismdiy','etdiy','gindkon',
##'patos','appantasa','ihmanasa','bakkon','zahkan','bakdorgem','kaszana','huka',
'yamegem','munemakdiy','kayana','khosa','katangu',
##'diapoprdiy','tema','stikelhai','oldiy','paleto','cautanhai','muhaiosasa','kip
olik','atatore','deuttas','kayindr','denere',
##'karate','kakedub','manserk','karadikon','palasa','manlendiy','muldiy','pazhvo
r','zahryaman','aditindiy','spareto','mertas',
##'baklatiti','okrioli','sparsartas','phortsa','pasanta','chek','adindasar','sog
os','torgair','muharivasa','thu','masisia','len',
##'achukki','dorataskon','momortas','doustinkon','otumtas','nurdiy','zahmokkore'
,'wazhire','oltinis','bakhojana','wazhind',
##'baktani','vapudanana','ilarsabasa','ayda','basirkon','skentaseto','barempt','
olarismkon','ardemashai','zahlegeleg','vakasa',
##'nai','chazdig','enekhrasa','ankoli','keleten','phanttas','Prishat Epandra','E
shukey Gism','Yanim Referai','Phomawa Matren',
##'Raji Nararem','Umpatle Nirnwar','Uttanat Por','Apariko Kam','Phi Utara','Mith
Pravira','Thiparu Sunggen','Edepaz Shank',
##'Sumanch Nimithe','Parmawa Thset','Ken Ramaher','Sannat Imaksar','Dimir Herine
s','San Poroyan','Uyolpak Charter','Ankail Spibemb',
##'Erothe Pothse','Ami Subukal','Anavent Ruvank','Apan Ankaili','Dev Prirara','S
umpi Nakunim','Themire Vira','Gankaba Agen',
##'Apandak Gabul','Achulum Sinters','Sukundr Ashrida','Amukuva Arth','Asvekle He
me','Nizi Nesipal','Sun Ederose','Pharthi Amatsuk',
##'Tridvan Zirajid','Thovart Saterot','Misi Giwainr','Viki Siother','Agita Attan
','Iot Jivetha','Devarat Ash','Teshang Ismonil',
##'Uttavan Puya','Singgis Abengge','Chitant Atubul','Kemangk Sianu','Dez Akipanj
','Shavary Utaba','Farunis Met','Siddaki Pran',
##'Sijaya Devent','Kapuv Apanisi','Pamishi Kamit','Iks Erohize','Simmeti Pant','
Achnaya Gul','Reobeni Preyekt','Ans Izetsun',
##'Ote Ozendar','Apata Api','Sami Gutaber','Mirn Hirvure','Enem Uganja','Irentha
Persh','Dez Metulu','Emetior Pal','Labenis Samak',
##'Saravid Sunil','Reyekna Ink','Ashawal Brish','Adareya Kath','Intuldu Ema','Ra
j Thiraja','Ashmav Apamair','Ram Onishul',
##'Edepoth Shant','Kaparma Metsump','Rikspit Hithana','Pra Sanakam','Perthor Nis
ija','Pra Indepok','Keya Aganden','Utheman Dil',
##'Iyumank Inri','Ise Abekaba','Nomaksi Shrobuv','Int Ivupanu','Madar Ankayat','
Ojim Ruyober','Phik Edraili','Kura Maino',
##'Vivetam Sizengk','Jitert Nisija','Dit Raniorr','Ingirim','Hallfdi','Hlif','Ha
llger','Astrid','Helga','Katlaud','Gyda','Herd',
'Grimhil','Allveig','Thurid','Hlif','Allfdis','Gjaflau','Ingigun','Katlaud','Asl
eigr','Gjafla','Halla','Frima','Thyra','Thorbjo',
'Thora','Asta','Thora','Grid','Thorann','Thjodny','Ingunna','Unn','Hild','Berd',
'Grodny','Ingig','Grid','Vallfre','Herg','Thjotta',
'Arnord','Ingibjo','Bergljo','Ingirid','Ingigun','Asgerd','Thjorg','Ingun','Hall
fdi','Halfrey','Hallvei','Halaud','Grid','Asta',
'Asleif','Hallvei','Gunna','Dotta','Katlaug','Grid','Thurid','Gunn','Vallfdi','H
ild','Thorglj','Thorhil','Gyda','Gunna','Freyda',
'Helgerd','Berdis','Hrodny','Ingibjo','Inna','Grid','Hallvei','Hreyda','Hildigr'
,'Asgerd','Groa','Audrunn','Sigerd','Vigrimh',
'Saeunn','Berd','Thorfin','Thorunn','Jotta','Thurid','Thorger','Hallfdi','Ingigu

n','Berdis','Grid','Thorgun','Thordis','Grid',
'Thorhal','Thorg','Thorbjo','Gudrunn','Thord','Grid','Thorhil','Allveig','Groa',
'Asaeun','Heragna','Frid','Helgerg','Ingig',
'Astrid','Berdis','Grid','Vallger','Katla','Asgerd','Gyda','Asa','Gjafla','Dotta
','Thorann','Arnorun','Thorfin','Svallge','Asta',
'Gunna','Dot','Asta','Berd','Sigerdi','Hild','Inn','Sig','Gudrid','Ingibjo','Gro
a','Hallger','Gunnvei','Asaeunn','Hrefna','Gjafla',
'Thorbjo','Grid','Astrimh','Hrodny','Innhild','Thorbjo','Grimhil','Thorhal','Jor
bjor','Thorbjo','Hildis','Thorglj','Berdige','Hild',
'Thorbjo','Hreyda','Thorhil','Bergerg','Thorfin','Gunn','Vigrimh','Inn','Sigdis'
,'Herd','Hrodny','Ingirid','Sigera','Gjafla','Grid',
'Ingibjo','Audrid','Vigudri','Ingirid','Ingirid','Ingudri','Hallvei','Ingirim','
Dot','Allveif','Halld','Hallaug','Ingig','Grid',
'Thorhal','Gunnvei','Hildis','Thorunn','Thorbjo','Sigunn','Jorg','Grimhil','Thor
hil','Thorkat','Gunn','Jorbjod','Inn','Halfrey',
'Thorfin','Frefna','Ragna','Thjorhi','Thorhil','Halgera','Dot','Alfrefn','Dot','
Asta','Gudrid','Thjotta','Katla','Thorglj','Asta',
'Berd','Hild','Vala','Grid','Hild','Thorger','Gydis','Asta','Freyda','Frima','Hl
if','Halfrey','Dotta','Gunn','Hreyda','Katla','Katla',
'Thyra','Hreydis','Aug','Grid','Arnorfi','Asgerd','Ingibjo','Ragnhil','Thorg','H
allfdi','Thorfin','Thord','Thorfin','Thorunn','Thorger',
'Rann','Halgerd','Hreyda','Thyra','Arnorhi','Hala','Thorkat','Frimhil','Gydiger'
,'Ingibjo','Gjafla','Thoragn','Thorfin','Hrodny',
'Ingirid','Ingibjo','Hildis','Herdis','Hild','Thoragn','Thora','Astrid','Gun','H
lif','Asa','Hrodny','Ingibjo','Asleig','Svalfri',
'Berd','Gjafla','Hrodhil','Hroa','Thorunn','Jot','Aug','Halgerd','Ingibjo','Hall
ger','Thyra','Ragna','Dotta','Frid','Vigudri','Ingig',
'Thora','Thorkat','Gjafla','Astrid','Thorunn','Svala','Thora','Unn','Hild','Aug'
,'Ofeinke','Ofeirmo','Berjor','Gestolf','Sumarid',
'Otol','Kar','Araindi','Bein','Glug','Sigwulf','Aslein','Thorgri','Gestein','Haf
n','Thorket','Thorgi','Sigulfd','Ald','Geinard','Find',
'Thorhal','Thogn','Valgarm','Fin','Svermod','Snolmun','Eyjolvi','Thorval','Thorn
i','Eystein','Ljolf','Star','Gunnard','Ozurdi','Eldgri',
'Hari','Armund','Ein','Vir','Botolmu','Rut','Mornlau','Eigmund','Samund','Hakolf
','Aslaug','Hakonun','Sighvar','Bar','Amund','Vall',
'Kad','Bognard','Thor','Algar','Gestein','Sigfus','Thormun','Hrand','Varnfin','S
igwulf','Hjorgth','Thor','Bui','Islendr','Eir','Braing',
'Steinar','Eysti','Beirir','Onund','Sigudmu','Inn','Solf','Knut','Thor','Kolf','
Lodvat','Inkel','Eirim','Thor','Steir','Gunnar','Glug',
'Ljostei','Bui','Gulf','Thorgth','Steif','Sigfus','Yngolfr','Stein','Haldorm','F
innara','Graingv','Ozur','Rogi','Kolf','Thord','Ofeigfu',
'Yngizur','Vin','Hrari','Havaldo','Ariri','Aridi','Gudmunn','Thor','Geinkel','El
gar','Bodd','Randrid','Halld','Vard','Thjalti','Bjalld',
'Vein','Thor','Grik','Bogi','Ljordi','Thormor','Hrik','Bui','Ard','Isleif','Stur
lam','Halgil','Karnfin','Hjald','Thoragn','Gri','Hermunn',
'Half','Olf','Stolaug','Harnlam','Vat','Thork','Half','Berjolf','Islend','Hallf'
,'Stein','Thjolfr','Solf','Bjoridi','Gein','Berstei',
'Kad','Hrafgei','Mod','Vallfri','Egi','Akol','Skard','Stost','Sigunnb','Eind','S
teirsi','Bermodi','Odolber','Stostol','Kad','Vesti',
'Lodvat','Glugi','Knuni','Arad','Rogn','Fin','Morgtry','Halfrim','Eystein','Kari
m','Skalgar','Arir','Hor','Glum','Skaredi','Aridi','Haf',
'Svestei','Ljotket','Eiri','Bragnar','Hall','Eirmund','Ofein','Thorhar','Eif','U
nn','Gein','Hel','Thor','Gurlsef','Bjolmun','Fin','Gunnbot',
'Helgi','Kolfgri','Thorgra','Vermund','Hall','Kar','Garidi','Barinn','Hauk','Hak
','Egi','Sighvar','Rafni','Geind','Mod','Vallugi','Hakolf',
'Hall','Karn','Hralf','Hallf','Lodd','Rarlidi','Akonut','Snorgth','Leinn','Solvi
','Steif','Hafni','Bui','Karkel','Tolvir','Gein','Thoraf',
'Amund','Styrkad','Haslauk','Bui','Horvat','Ivard','Sigwulf','Ognarla','Sti','Si
g','Hroallu','Fred','Thord','Hjaridg','Gulfdan','Steinth',
'Fin','Halfdan','Snolvig','Yngjalf','Knut','Geir','Bein','Lod','Thor','Olvigun',

'Thormun','Thorrim','Frir','Steinth','Otol','Knunolv',
'Gunnbja','Thorara','Eyjot','Kapti','Arni','Sturlid','Astein','Sigfus','Thorbra'
,'Eigudmu','Bjolber','Vigur','Kel','Hrain','Thorfin',
'Thornfi','Thorm','Sigund','Hafn','Thorste','Gar','Ottarn','Thor','Ulf','Gunnla'
,'Sig','Olvigwu','Sigund','Thjosti','Knut','Glugils',
'Bjostyr','Veirsig','Thjald','Davnec','Sin','Damthni','Aissarb','Fodhna','Ethnia
n','Bodna','Fina','Faomaln','Daminet','Blaisea','Aim',
'Nessbua','Eimerna','Cunat','Mat','Gra','Aedna','Sait','Gorinn','Keartia','Muir'
,'Tema','Finat','Murigse','Unnovil','Blathna','Bede',
'Narinn','Doric','Affe','Bar','Talgail','Kea','Orleenn','Sada','Bodia','Gobinne'
,'Neathna','Gruforo','Aoderch','Fiobna','Tlainni',
'Tathna','Aoillti','Alain','Moeb','Uaithan','Nesse','Anna','bine','Derbanc','Moy
nasa','Voachna','Cia','Daala','Beann','Aidlia','Uainnab',
'Dirdine','Neanla','Grait','Coll','Teitham','Fininna','Elan','Duna','Uaideli','N
ola','Finnait','Gareene','Maithna','Clina','Tuis','Finn',
'Lifrisr','Gla','Huca','Briaran','Bevne','Daala','Caomthi','Meelime','Eiringi','
Dervalb','Tuir','Tait','Donait','Orfhid','Damthna','Orlen',
'Dairind','Ochull','Bridiei','Anguadh','Sadhmai','Cean','Neachtg','Bonathl','Mel
trog','Stannch','Tur','Nathg','Ardenus','Rineide','Murtaho',
'Auibria','Mear','Molusea','Ilasus','Bergann','Cerealo','Ard','Erctrum','Eachamh
','Cuinean','Mag','Crochla','Don','Conn','Maencen','Lethma',
'Iarn','Mur','Criste','Riachan','Smenan','Con','Caois','Ambican','Bloy','Cas','T
alva','Mui','Mocomna','Nua','Marthan','Damnodh','Blor',
'Conibnu','Tas','Bremgan','Finnait','Virbhan','Heban','Godhan','Alchtar','Caedun
o','Aile','Corn','Comarca','Follan','Fian','Eithill','Crona',
'Iarecar','Cus','Eunstic','Lugomga','Maeitha','Dertacu','Beagus','Esugnac','Boar
a','Fil','Ioghdh','Mhinen','Beodvog','Urgcroc','Eaccil',
'Cogal','Bodomga','Invelau','Druilus','Nemidha','Domart','Drecama','Fliomga','Fi
nus','Cathern','Turova','Bric','Cris','Brear','Murix','Muin',
'Guathri','Made','Mundubr','Caolaoi','Evallac','Math','Sindlai','Cunabha','Oisea
l','Airi','Rioth','Teil','Medecme','Pene','Polytem','Polye',
'Deia','Polyxen','Orippe','Sibyl','Erithyl','Eurynop','Nacheme','Clyxena','Limno
me','Polymel','Danacip','Chippei','Nemelen','Meda','Actanar',
'Medamen','Peraeri','Penope','Oribyll','Amphino','Medece','Deidyia','Caliale','O
ribyll','Anticle','Prote','Aero','Panomei','Helia','Chloe',
'Cane','Cymera','The','Periphe','Aglaia','Chionia','Nacippe','Perotol','Daphe','
Nemerot','Meliant','Polyme','Polyxen','Xanassa','Actolym',
'Spe','Danthra','Halia','Arne','Astynop','Nesilia','Astynom','Astra','Xanomes','
Astyocl','Actanop','Chinope','Mele','Anthion','Aerusa',
'Heleiop','Actoris','Panaert','Anthyle','Naciphe','Creucip','Naciphn','Aglate','
Pante','Creucip','Dyna','Ianiane','Deia','Maea','Polymed',
'Daphyl','Erione','Eurynop','Astyoch','Chinoch','Phippe','Chlome','Eurynom','Act
aia','Tecmeir','Hie','Lime','Clytiop','Neme','Galea','Tho',
'Peris','Polyte','Actaia','Helia','Anthyl','Eurynor','Mele','Polytie','Nache','O
ria','Hele','Manomei','Deia','Deione','Astra','Actaia',
'Aganipp','Galana','Pera','Helatea','Arneida','Ianorim','Leusa','Iara','Maea','S
cara','Aetho','Peribyl','Lede','Protea','Otierte','Daphert',
'Aganass','Canomel','Polyxen','Ledamed','Halia','Sibyl','Euryno','Thalite','Erip
pe','Deirce','Peris','Autogor','Deia','Deira','Leda','Cymode',
'Astyoch','Hallaia','Hessa','Cantemn','Pro','Methra','Arne','Clye','Limelen','Ar
ne','Oritea','Hiero','Tece','Perimno','Thoe','Peria','Perte',
'Nacimel','Autolym','Phea','Antio','Methipp','Chlomel','Thalano','Manae','Clymod
e','Polytea','Mana','Xane','Mela','Astra','Siboe','Cira',
'Meleia','Ianaea','Mae','Calla','Xentesi','Prote','Cymode','Manacip','Penache','
Nachean','Phe','Polymed','Ciraea','Iara','Polyxen','Chionei',
'Astynae','Deialla','Nessa','Aganipp','Galite','Periphi','Eria','Oticlei','Xanae
ro','Clypher','Tho','Polytem','Nacippe','Perusa','Hesioni',
'Polymei','Canassa','Oticle','Eris','Nacippe','Actogor','Aetho','Tece','Eritesi'
,'Mela','Hesiloe','Daname','Nestyno','Polye','Anthyll','Xanarim',
'Clymode','Dira','Caneia','Hes','Nacippe','Chlomed','Pro','Phe','Actora','Xenope

','Phes','Autoria','Manthyl','Autolym','Nessa','Spe','Chione',
'Spe','Cira','Theanae','Scarphe','Polyxen','Xenamel','Canache','Limeda','Perteme
','Oribyll','Pena','Cira','Tho','Thalla','Iana','Meleia','Cane',
'Deidyia','Tece','Lede','Limneid','Eribyll','Hierimn','Clyxeno','Clyphyl','Ante'
,'Deialen','Eida','Xanthes','Aglatea','Otiope','Aglaia','Ianae',
'Leusa','Nache','Leda','Ledece','Cira','Ianoche','Iarphne','Eriale','Actaia','Ha
lia','Daphe','Autogor','Oticlei','Clyphes','Cyme','Lime',
'Peritem','Cira','Hesio','Thertem','Polymod','Galia','Manassa','Autolyt','Clyxen
','Xen','Pitus','Chrastu','Phalion','Hermasg','Aesiade','Hypsiam',
'Thylemn','Idaroph','Chaimen','Dide','Peratyl','Iphos','Argeus','Iales','Acales'
,'Alcalit','Andes','Penoos','Aias','Aeeteoe','Adras','Orsipho',
'Oenelem','Phepola','Thous','Phymene','Phylau','Chropho','Epis','Clydipi','Acalc
es','Pylus','Hices','Ipheus','Euriboe','Anius','Menes','Telocos',
'Chromen','Oenongi','Eurypyl','Idon','Theginu','Arcomed','Megeneu','Tyndrat','So
chitt','Oenos','Deiroph','Podotus','Mideloc','Manes','Laos','Laos',
'Andaras','Mideuce','Diomede','Alcmeth','Theolyt','Euristu','Anton','Euris','Tho
us','Theus','Eumelas','Telopel','Diderod','Ergialm','Laedert',
'Hicus','Ias','Aeethan','Chaleus','Telaus','Argesth','Eunor','Lycos','Nes','Eune
sto','Plato','Oedideu','Orsiphe','Alcisto','Iphanth','Iphande',
'Eurypse','Cras','Clytus','Admelom','Gor','Phyles','Schices','Alam','Megarco','L
aodaim','Antilos','Midomet','Admedic','Odysthe','Euriboe','Telemno',
'Eurypse','Arcomed','Hypses','Dionela','Pristro','Megamed','Aiastin','Adrocoo','
Eumedip','Thyleus','Deidon','Dido','Alcipe','Heristh','Euriseu',
'Euneuce','Eurypyl','Plaus','Hipius','Mynes','Eretus','Demnone','Areus','Ialegar
','Peides','Dios','Polas','Aias','Meginus','Perte','Ucalmem',
'Thucalc','Philoph','Peidert','Python','Ergus','Mynes','Lamongi','Alcipe','Eumed
ip','Telus','Gorgus','Mecas','Chagor','Acasteu','Plos','Aschemn',
'Thepheg','Peneus','Meneus','Merte','Pelus','Oenora','Acas','Schemon','Lon','Sth
oast','Oeneus','Gor','Lon','Peles','Polaus','Thucale','Alcibia',
'Sthosti','Tecloca','Dion','Theder','Polydim','Echegin','Tecabe','Admeneu','Phal
ces','Mecalep','Anthoon','Echisth','Iphalem','Euripus','Heciboe',
'Theus','Poleus','Archyla','Lamenoo','Deires','Alces','Tectes','Aeon','Thos','Ip
hos','Ergiamo','Pelocra','Telatel','Plais','Tiretho','Menesil',
'Creoene','Iolytin','Iolus','Epius','Iolus','Prior','Eurymed','Alcmemi','Zeneus'
,'Dios','Pristin','Casymel','Oenes','Meropis','Phylus','Plaion',
'Herope','Ucabe','Pitthai','Areteus','Iphitth','Clytius','Lon','Daerte','Thylus'
,'Deideus','Dion','Hecineu','Theus','Tirotiu','Iasgon','Xanthos',
'Eurysti','Herasto','Iasgorg','Oenor','Aes','Laos','Thon','Daedimo','Plasyme','E
pios','Anthemo','Erges','Philos','Coclitt','Admedo','Orsippo',
'Anius','Hipyles','Pylasym','Alcmede','Thrathe','Eurypse','Tireus','Laedes','Cra
topo','Eunes','Ninus','Ninus','Anthane','Ucaleus','Laos','Plos',
'Iphegar','Acas','Deites','Iphous','Oeneus','Lycoon','Thras','Plas','Ninus','Hip
yleu','Phagon','Admedeu','Demus','Penes','Ialcesc','Thos','Hecte',
'Ascalme','Crasto','Adras','Pelegon','Stheneu','Aripus','Thros','Peneus','Phemio
s','Pytinus','Idareth','Iolopho','Thropel','Peidide','Schegon',
'Dios','Menon','Eurysth','Odyssen','Nes','Phalesi','Chagon','Euryali']
###############################################################################
# Markov Name model
# A random name generator, by Peter Corbett
# http://www.pick.ucam.org/~ptc24/mchain.html
# This script is hereby entered into the public domain
###############################################################################
class Mdict:
def __init__(self):
self.d = {}
def __getitem__(self, key):
if key in self.d:
return self.d[key]
else:

raise KeyError(key)
def add_key(self, prefix, suffix):
if prefix in self.d:
self.d[prefix].append(suffix)
else:
self.d[prefix] = [suffix]
def get_suffix(self,prefix):
l = self[prefix]
return random.choice(l)
class MName:
"""
A name from a Markov chain
"""
def __init__(self, chainlen = 2):
"""
Building the dictionary
"""
if chainlen > 10 or chainlen < 1:
print "Chain length must be between 1 and 10, inclusive"
sys.exit(0)
self.mcd = Mdict()
oldnames = []
self.chainlen = chainlen
for l in PLACES:
l = l.strip()
oldnames.append(l)
s = " " * chainlen + l
for n in range(0,len(l)):
self.mcd.add_key(s[n:n+chainlen], s[n+chainlen])
self.mcd.add_key(s[len(l):len(l)+chainlen], "\n")
def New(self):
"""
New name from the Markov chain
"""
prefix = " " * self.chainlen
name = ""
suffix = ""
while True:
suffix = self.mcd.get_suffix(prefix)
if suffix == "\n" or len(name) > 9:
break
else:
name = name + suffix
prefix = prefix[1:] + suffix
return name.capitalize()

class NameGenerator:
def __init__(self):
self.markov_name = MName()
def generate_name(self):
return self.markov_name.New()

##for i in range(100):
##
print MName().New()

You might also like