#!/usr/bin/env python
# -*- coding: utf-8 -*-

day_names = (
    "Prometheus",
    "Hercules",
    "Orpheus",
    "Ulysses",
    "Lycurgus",
    "Romulus",
    "Numa",
    "Belus",
    "Sesostris",
    "Menu",
    "Cyrus",
    "Zoroaster",
    "The Druids",
    "Buddha",
    "Fuxi",
    "Laozi",
    "Mencius",
    "Theocrats of Tibet",
    "Theocrats of Japan",
    "Manco Cápac",
    "Confucius",
    "Abraham",
    "Samuel",
    "Solomon",
    "Isaiah",
    "St. John the Baptist",
    "Haroun-al-Raschid",
    "Muhammad",
    "Hesiod",
    "Tyrtéus",
    "Anacreon",
    "Pindar",
    "Sophocles",
    "Theocritus",
    "Aeschylus",
    "Scopas",
    "Zeuxis",
    "Ictinus",
    "Praxiteles",
    "Lysippus",
    "Apelles",
    "Phidias",
    "Aesop",
    "Plautus",
    "Terence",
    "Phaedrus",
    "Juvenal",
    "Lucian",
    "Aristophanes",
    "Ennius",
    "Lucretius",
    "Horace",
    "Tibullus",
    "Ovid",
    "Lucan",
    "Virgil",
    "Anaximander",
    "Anaximenes",
    "Heraclitus",
    "Anaxagoras",
    "Democritus",
    "Herodotus",
    "Thales",
    "Solon",
    "Xenophanes",
    "Empodocles",
    "Thucydides",
    "Archytas",
    "Apollonius of Tyana",
    "Pythagoras",
    "Aristippus",
    "Antisthenes",
    "Zeno",
    "Cicero",
    "Epictetus",
    "Tacitus",
    "Socrates",
    "Xenocrates",
    "Philo of Alexandria",
    "St. John the Evangelist",
    "St. Justin",
    "St. Clement of Alexandria",
    "Origen",
    "Plato",
    "Theophrastus",
    "Herophilus",
    "Erasistratus",
    "Celsus",
    "Galen",
    "Avicenna",
    "Hippocrates",
    "Euclid",
    "Aristéus",
    "Theodisius of Bithynia",
    "Hero",
    "Pappus",
    "Diophantus",
    "Apollonius",
    "Eudoxus",
    "Pytheas",
    "Aristarchus",
    "Eratos-thenes",
    "Ptolemy",
    "Albategnius",
    "Hipparchus",
    "Varro",
    "Columella",
    "Vitruvius",
    "Strabo",
    "Frontinus",
    "Plutarch",
    "Pliny the Elder",
    "Miltiades",
    "Leonidas",
    "Aristides",
    "Cimon",
    "Xenophon",
    "Phocion",
    "Themistocles",
    "Pericles",
    "Philip",
    "Demosthenes",
    "PtolemyLagus",
    "Philopoemen",
    "Polybius",
    "Alexander",
    "JuniusBrutus",
    "Camillus",
    "Fabricius",
    "Hannibal",
    "Paulus Aemilius",
    "Marius",
    "Scipio",
    "Augustus",
    "Vespasian",
    "Hadrian",
    "Antonius",
    "Papinian",
    "Alexander Severus",
    "Trajan",
    "St. Luke",
    "St. Cyprian",
    "St. Athanasius",
    "St. Jerome",
    "St. Ambrose",
    "St. Monica",
    "St. Augustine",
    "Constantine",
    "Theodosius",
    "St. Chrysostom",
    "St. Genevieve of Paris",
    "St. Pulcheria",
    "St. Gregory the Great",
    "Hildebrand",
    "St. Benedict",
    "St. Boniface",
    "St. Isidore of Seville",
    "Lanfranc",
    "Heloise",
    "the architects of the Middle Ages",
    "St. Bernard",
    "St. Francis Xavier",
    "St. Charles Borromeo",
    "St. Theresa",
    "St. Vincent de Paul",
    "Bourdaloue",
    "William Penn",
    "Bossuet",
    "Theodoric the Great",
    "Pelayo",
    "Otho the Great",
    "St. Henry",
    "Villers",
    "Don John of Austria",
    "Alfred",
    "Charles Martel",
    "El Cid",
    "Richard I",
    "Joan of Arc",
    "Albuquerque",
    "Bayard",
    "Godfrey",
    "St. Leo the Great",
    "Gerbert",
    "Peter the Hermit",
    "Suger",
    "Alexander III",
    "St. Francis of Assisi",
    "Innocent III",
    "St. Clotilde",
    "St. Bathilda",
    "St. Stephen of Hungary",
    "St. Elizabeth of Hungary",
    "Blanche of Castille",
    "St. Ferdinand III",
    "St. Louis",
    "the Troubadours",
    "Boccaccio",
    "Rabelais",
    "Cervantes",
    "La Fontain",
    "Defoe",
    "Aristo",
    "Leonardo da Vinci",
    "Michael Angelo",
    "Holbein",
    "Poussin",
    "Velásquez",
    "Teniers",
    "Raphael",
    "Froissart",
    "Camoens",
    "The Spanish Romancers",
    "Chateaubriand",
    "Walter Scott",
    "Manzoni",
    "Tasso",
    "Petrarca",
    "Thomas of Kempis",
    "Mademoiselle de Lafayette",
    "Fénélon",
    "Klopstock",
    "Byron",
    "Milton",
    "Marco Polo",
    "Jacques Coeur",
    "Vasco de Gama",
    "Napier",
    "Lacaille",
    "Cook",
    "Columbus",
    "Benvenuto Cellini",
    "Amontons",
    "Harrison",
    "Dollond",
    "Arkwright",
    "Conté",
    "Vaucanson",
    "Stevin",
    "Mariotte",
    "Papin",
    "Black",
    "Jouffroy",
    "Dalton",
    "Watt",
    "Bernard de Palissy",
    "Guglielmini",
    "Duhamel du Monceau",
    "Saussure",
    "Coulomb",
    "Carnot",
    "Montgolfier",
    "Lope de Vega",
    "Moreto",
    "Rojas",
    "Otway",
    "Lessing",
    "Goethe",
    "Calderon",
    "Tirso",
    "Vondel",
    "Racine",
    "Voltaire",
    "Metastasio",
    "Schiller",
    "Corneille",
    "Almarcon",
    "Mademoiselle de Motteville",
    "Mademoiselle de Sévigné",
    "Lesage",
    "Mademoiselle deStaal",
    "Fielding",
    "Moliere",
    "Pergolese",
    "Sacchini",
    "Gluck",
    "Beethoven",
    "Rossini",
    "Bellini",
    "Mozart",
    "Albertus Magnus",
    "Roger Bacon",
    "St. Bonaventura",
    "Ramus",
    "Montaigne",
    "Campanella",
    "St. Thomas Aquinas",
    "Hobbes",
    "Pascal",
    "Locke",
    "Vauvenargues",
    "Diderot",
    "Cabanis",
    "Lordbacon",
    "Grotius",
    "Fontenelle",
    "Vico",
    "Fréret",
    "Montesquieu",
    "Buffon",
    "Leibnitz",
    "Robertson",
    "Adam Smith",
    "Kant",
    "Condercet",
    "Joseph de Maistre",
    "Hegel",
    "Hume",
    "Marie de Molina",
    "Cosimo de Medici the Elder",
    "Philippe de Comines",
    "Isabella of Castille",
    "Charles V",
    "Henry Iv",
    "Louis Xi",
    "L'Hôpital",
    "Barneveldt",
    "Gustavus Adolphus",
    "De Witt",
    "Ruyter",
    "William III",
    "William the Silent",
    "Ximenes",
    "Sully",
    "Mazarin",
    "Colbert",
    "D'Aranda",
    "Turgot",
    "Richelieu",
    "Sidney",
    "Franklin",
    "Washington",
    "Jefferson",
    "Bolivar",
    "Francia",
    "Cromwell",
    "Copernicus",
    "Kepler",
    "Huyghens",
    "James Bernouilli",
    "Bradley",
    "Volta",
    "Galileo",
    "Vieta",
    "Wallis",
    "Clairaut",
    "Euler",
    "D'Alembert",
    "Lagrange",
    "Newton",
    "Bergmann",
    "Priestley",
    "Cavendish",
    "Guyton Morveau",
    "Berthollet",
    "Berzelius",
    "Lavoisier",
    "Harvey",
    "Boerhaave",
    "Linnaeus",
    "Haller",
    "Lamarck",
    "Broussais",
    "Gall",
    "the Dead",
    "Sainted Women"
)

leap_day_replacements = {
    0: "Cadmus",
    1: "Theseus",
    2: "Tiresias",
    7: "Semiramus",
    12: "Ossian",
    19: "Tamehameha",
    21: "Joseph",
    23: "David",
    26: "Abderrahman",
    29: "Sappho",
    32: "Euripides",
    33: "Longus",
    42: "Pilpay",
    44: "Menander",
    60: "Leucippus",
    67: "Philolaus",
    73: "Pliny the Younger",
    74: "Arrian",
    80: "St. Irenaeus",
    82: "Tertullian",
    89: "Averrhoes",
    94: "Ctesibius",
    98: "Aratus",
    99: "Nearchus",
    100: "Berosus",
    101: "Sosigenes",
    103: "Nasreddin",
    117: "Epaminondas",
    127: "Cincinnatus",
    128: "Regulus",
    131: "the Gracchi",
    133: "Maecenas",
    134: "Titus",
    135: "Nerva",
    136: "Marcus Aurelius",
    137: "Ulpian",
    138: "Aetius",
    140: "St. James",
    149: "St. Basil",
    151: "Marcian",
    154: "St. Anthony",
    155: "St. Austin",
    156: "St. Bruno",
    157: "St. Anselm",
    158: "Beatrice",
    159: "St. Benezet",
    161: "Ignatius Loyola",
    162: "Fredrick Borromeo",
    163: "St. Catharine of Siena",
    164: "Abbé de l'Epée",
    165: "Claude Fleury",
    166: "George Fox",
    170: "Henry the Fowler",
    172: "La Valette",
    173: "John Sobieski",
    176: "Tancred",
    177: "Saladin",
    178: "Marina",
    179: "Sir Walter Raleigh",
    182: "Leo IV",
    183: "Peter Damian",
    185: "St. Eligius",
    186: "Becket",
    187: "St. Dominic",
    190: "St. Mathilda of Tuscany",
    191: "Mathias Corvinus",
    194: "Alfonso X",
    197: "Chaucer",
    198: "Swift",
    200: "Burns",
    201: "Goldsmith",
    203: "Titian",
    204: "Paul Veronese",
    205: "Rembrandt",
    206: "Lesueuer",
    207: "Murillo",
    208: "Rubens",
    210: "Joinville",
    211: "Spenser",
    214: "James Fenimore Cooper",
    218: "Louis of Granada & Bunyan",
    219: "Mademoiselle de Staël",
    220: "St. Francis of Sales",
    221: "Gessner",
    222: "Élisa Mercœur & Shelly",
    224: "Chardin",
    225: "Gresham",
    226: "Magellan",
    227: "Briggs",
    228: "Delambre",
    229: "Tasman",
    232: "Wheatstone",
    233: "Pierre Leroy",
    234: "Graham",
    235: "Jacquard",
    238: "Torricelli",
    239: "Boyle",
    240: "Worcester",
    242: "Fulton",
    243: "Thilorier",
    246: "Riquet",
    247: "Bourgelat",
    248: "Bouguer",
    249: "Borda",
    250: "Vauban",
    252: "Montalvan",
    253: "Guillem de Castro",
    254: "Guevara",
    263: "Alfieri",
    267: "Mademoiselle Roland",
    268: "Lady Montagu",
    269: "Sterne",
    270: "Miss Edgeworth",
    271: "Richardson",
    273: "Palestrina",
    274: "Grétry",
    275: "Lully",
    276: "Handel",
    277: "Weber",
    278: "Donizeti",
    280: "John of Salisbury",
    281: "Raymond Lully",
    282: "Joachim",
    283: "Nicholas of Cusa",
    284: "Erasmus",
    285: "Sir Thomas More",
    287: "Spinoza",
    288: "Giordano Bruno",
    289: "Malebranche",
    290: "Mademoiselle de Lambert",
    291: "Duclos",
    292: "George Leroy",
    294: "Cujas",
    295: "Maupertuis",
    296: "Herder",
    297: "Wincklemann",
    298: "D'Aguesseau",
    299: "Oken",
    301: "Gibbon",
    302: "Dunoyer",
    303: "Fichte",
    304: "Ferguson",
    305: "Bonald",
    306: "Sophie Germain",
    310: "Guicciardini",
    312: "Sixtus V",
    323: "Oxenstiern",
    324: "Walpole",
    325: "Louis XIV",
    326: "Pombal",
    327: "Campomanes",
    329: "Lambert",
    330: "Hampden",
    331: "Kosciusko",
    332: "Madison",
    333: "Toussaint L'Ouverture",
    336: "Tycho Brahe",
    337: "Halley",
    338: "Varignon",
    339: "John Bernouilli",
    340: "Römer",
    341: "Sauveur",
    343: "Harriot",
    344: "Fermat",
    345: "Poinsot",
    346: "Monge",
    347: "Daniel Bernouilli",
    348: "Joseph Fourier",
    350: "Scheele",
    351: "Davy",
    353: "Geoffroy",
    355: "Ritter",
    357: "Charles Bell",
    358: "Stahl & Barthez",
    359: "Bernard de Jussieu",
    360: "Félix Vicq-d'Azyr",
    361: "Blainville",
    362: "Morgagni",
}

day_names_leap = [leap_day_replacements.get(i, x) for i, x in enumerate(day_names)]


festivals = {
    (1, 1): "the Great Being",
    (1, 7): "religion",
    (1, 14): "history",
    (1, 21): "nation",
    (1, 28): "community",
    (2, 7): "complete marriage",
    (2, 14): "chaste marriage",
    (2, 21): "unequal marriage",
    (2, 28): "subjective marriage",
    (3, 7): "natural fatherhood",
    (3, 14): "artificial fatherhood",
    (3, 21): "spiritual fatherhood",
    (3, 28): "temporal fatherhood",
    (4, 7): "natural filiation",
    (4, 14): "artificial filiation",
    (4, 21): "spiritual filiation",
    (4, 28): "temporal filiation",
    (5, 7): "natural brotherhood",
    (5, 14): "artificial brotherhood",
    (5, 21): "spiritual brotherhood",
    (5, 28): "temporal brotherhood",
    (6, 7): "complete permanent domesticity",
    (6, 14): "incomplete permanent domesticity",
    (6, 21): "complete passing domesticity",
    (6, 28): "incomplete passing domesticity",
    (7, 7): "animal gods",
    (7, 14): "fire gods",
    (7, 21): "sun gods",
    (7, 28): "war gods",
    (8, 7): "castes",
    (8, 14): "polytheistic arts",
    (8, 21): "polytheistic theory",
    (8, 28): "polytheistic society",
    (9, 7): "monotheistic theology",
    (9, 14): "Catholocism",
    (9, 21): "Islam",
    (9, 28): "metaphysics",
    (10, 7): "the mother",
    (10, 14): "the wife",
    (10, 21): "the daughter",
    (10, 28): "the sister",
    (11, 7): "artistic intellectuals",
    (11, 14): "scientific intellectuals",
    (11, 21): "secondary intellectual providence",
    (11, 28): "the elderly",
    (12, 7): "the bank",
    (12, 14): "commerce",
    (12, 21): "manufacturing",
    (12, 28): "agriculture",
    (13, 7): "inventors",
    (13, 14): "emotional labor",
    (13, 21): "meditation",
    (13, 28): "passive labor",
    (14, 1): "the Dead",
    (14, 2): "Sainted Women",
}
