# Sober Physicists Don't Find Giraffes Hiding In Kitchens
const shells = "SPDFGHIK"

# Electronic configurations of the elements, taken from
# https://math.nist.gov/DFTdata/atomdata/configuration.html
const atom = (
H  = c"1s1",
He = c"[He]",
Li = c"[He] 2s1",
Be = c"[He] 2s2",
B  = c"[He] 2s2 2p1",
C  = c"[He] 2s2 2p2",
N  = c"[He] 2s2 2p3",
O  = c"[He] 2s2 2p4",
F  = c"[He] 2s2 2p5",
Ne = c"[Ne]",
Na = c"[Ne] 3s1",
Mg = c"[Ne] 3s2",
Al = c"[Ne] 3s2 3p1",
Si = c"[Ne] 3s2 3p2",
P  = c"[Ne] 3s2 3p3",
S  = c"[Ne] 3s2 3p4",
Cl = c"[Ne] 3s2 3p5",
Ar = c"[Ar]",
K  = c"[Ar] 4s1",
Ca = c"[Ar] 4s2",
Sc = c"[Ar] 3d1 4s2",
Ti = c"[Ar] 3d2 4s2",
V  = c"[Ar] 3d3 4s2",
Cr = c"[Ar] 3d5 4s1",
Mn = c"[Ar] 3d5 4s2",
Fe = c"[Ar] 3d6 4s2",
Co = c"[Ar] 3d7 4s2",
Ni = c"[Ar] 3d8 4s2",
Cu = c"[Ar] 3d10 4s1",
Zn = c"[Ar] 3d10 4s2",
Ga = c"[Ar] 3d10 4s2 4p1",
Ge = c"[Ar] 3d10 4s2 4p2",
As = c"[Ar] 3d10 4s2 4p3",
Se = c"[Ar] 3d10 4s2 4p4",
Br = c"[Ar] 3d10 4s2 4p5",
Kr = c"[Kr]",
Rb = c"[Kr] 5s1",
Sr = c"[Kr] 5s2",
Y  = c"[Kr] 4d1 5s2",
Zr = c"[Kr] 4d2 5s2",
Nb = c"[Kr] 4d4 5s1",
Mo = c"[Kr] 4d5 5s1",
Tc = c"[Kr] 4d5 5s2",
Ru = c"[Kr] 4d7 5s1",
Rh = c"[Kr] 4d8 5s1",
Pd = c"[Kr] 4d10",
Ag = c"[Kr] 4d10 5s1",
Cd = c"[Kr] 4d10 5s2",
In = c"[Kr] 4d10 5s2 5p1",
Sn = c"[Kr] 4d10 5s2 5p2",
Sb = c"[Kr] 4d10 5s2 5p3",
Te = c"[Kr] 4d10 5s2 5p4",
I  = c"[Kr] 4d10 5s2 5p5",
Xe = c"[Xe]",
Cs = c"[Xe] 6s1",
Ba = c"[Xe] 6s2",
La = c"[Xe] 5d1 6s2",
Ce = c"[Xe] 4f1 5d1 6s2",
Pr = c"[Xe] 4f3 6s2",
Nd = c"[Xe] 4f4 6s2",
Pm = c"[Xe] 4f5 6s2",
Sm = c"[Xe] 4f6 6s2",
Eu = c"[Xe] 4f7 6s2",
Gd = c"[Xe] 4f7 5d1 6s2",
Tb = c"[Xe] 4f9 6s2",
Dy = c"[Xe] 4f10 6s2",
Ho = c"[Xe] 4f11 6s2",
Er = c"[Xe] 4f12 6s2",
Tm = c"[Xe] 4f13 6s2",
Yb = c"[Xe] 4f14 6s2",
Lu = c"[Xe] 4f14 5d1 6s2",
Hf = c"[Xe] 4f14 5d2 6s2",
Ta = c"[Xe] 4f14 5d3 6s2",
W  = c"[Xe] 4f14 5d4 6s2",
Re = c"[Xe] 4f14 5d5 6s2",
Os = c"[Xe] 4f14 5d6 6s2",
Ir = c"[Xe] 4f14 5d7 6s2",
Pt = c"[Xe] 4f14 5d9 6s1",
Au = c"[Xe] 4f14 5d10 6s1",
Hg = c"[Xe] 4f14 5d10 6s2",
Tl = c"[Xe] 4f14 5d10 6s2 6p1",
Pb = c"[Xe] 4f14 5d10 6s2 6p2",
Bi = c"[Xe] 4f14 5d10 6s2 6p3",
Po = c"[Xe] 4f14 5d10 6s2 6p4",
At = c"[Xe] 4f14 5d10 6s2 6p5",
Rn = c"[Rn]",
Fr = c"[Rn] 7s1",
Ra = c"[Rn] 7s2",
Ac = c"[Rn] 6d1 7s2",
Th = c"[Rn] 6d2 7s2",
Pa = c"[Rn] 5f2 6d1 7s2",
 U = c"[Rn] 5f3 6d1 7s2");
