[Question]
  [
## Introduction
Almost everyone is familiar with the [Travelling Salesman Problem](https://en.wikipedia.org/wiki/Travelling_salesman_problem) (TSP). The task is to, given a list of `N` cities, find the minimum [Hamiltonian cycle](https://en.wikipedia.org/wiki/Hamiltonian_path) which is to say the shortest path that visits each city and comes full-circle back to the start. That is not what this challenge is about. This challenge is to implement Chuck Norris' [solution](https://github.com/pyjokes/pyjokes/blob/master/pyjokes/jokes_en.py) to the TSP:
> 
> Chuck Norris solved the Travelling Salesman problem in `O(1)` time: break salesman into N pieces; kick each piece to a different city.
> 
> 
> 
## Challenge
In order to solve the TSP in this way, we need a sufficiently durable Salesman that won't shy away from frivolities like dismemberment; a number of cities to visit; a set of products to sell; a concrete method for dismemberment; and a calculation for scoring.
## Specification
* **Cities**
	+ `N` is the number of cites our Salesman will visit
* **Salesman**
	+ The main program or function
	+ Written in language `X`
	+ With length mod `N` equal to `0`
* **Products**
	+ The full names of the [elements](http://www.ptable.com) on the Periodic Table
	+ This includes the [newly](https://iupac.org/iupac-announces-the-names-of-the-elements-113-115-117-and-118/) accepted names of elements
* **Dismemberment**
	+ Slicing the Salesman into `N` continuous pieces of equal length
	+ Each piece is should be a valid function or program in language `X`
* **Output**
	+ When executed the Salesman should output `Chuck Norris` and the sliced pieces should each output a distinct product
	+ Only extra trailing white space is acceptable
* **Scoring**
	+ The length, `L`, of the Salesman in bytes divided by the number of cities, `N`, squared.
	+ `Score = L/(N*N)`
	+ Smallest score wins
	+ Please include 3 significant figures when posting your decimal score
## Examples
1. This Salesman visits 3 cities so `N=3` and and it has a length of 9 so `L=9`. Thus the score for this answer would be `S = 9 / (3 * 3) = 9/9 = 1`.
	* Note that the Salesman and each sliced piece (of which there are 3), should all be valid programs or functions in the same language.
```
Program      -> Output
-------         ------
aaaBBBccc    -> Chuck Norris
aaa          -> Helium
BBB          -> Iridium
ccc          -> Tennessine
```
2. `N=4` and `L=20` so `S=20/16=1.25`
```
Program                 -> Output
-------                    ------
aaaaaBBBBBcccccDDDDD    -> Chuck Norris
aaaaa                   -> Hydrogen
BBBBB                   -> Cadmium
ccccc                   -> Mercury
DDDDD                   -> Iron
```
  
[Answer]
## CJam, L = 1482, N = 114, score 0.114
```
'C:L"arbon"  L'h+:L;"Gold"L'u+:L;"Iron"L'c+:L;"Lead"L'k+:L;"Neon"LS+:L;"Argon"L'N+:L"ickel"L'o+:L;"Zinc""Coppe"L'r+:L"Silve"L'r+:LL'i+:L;"Tin" "Boron"      "Radon"      "Barium"     "Cerium"     "Cesium"     "Cobalt"     "Curium"     "Erbium"     "Helium"     "Indium"     "Iodine"     "Osmium"     "Oxygen"     "Radium"     "Sodium"     "Sulfur"     "Arsenic"    "Bismuth"    "Bohrium"    "Bromine"    "Cadmium"    "Calcium"    "Dubnium"    "Fermium"    "Gallium"    "Hafnium"    "Hassium"    "Holmium"    "Iridium"    "Krypton"    "Lithium"    "Mercury"    "Niobium"    "Rhenium"    "Rhodium"    "Silicon"    "Terbium"    "Thorium"    "Thulium"    "Uranium"    "Yttrium"    "Actinium"   "Aluminum"   "Antimony"   "Astatine"   "Chlorine"   "Chromium"   "Europium"   "Fluorine"   "Francium"   "Hydrogen"   "Lutetium"   "Nihonium"   "Nitrogen"   "Nobelium"   "Platinum"   "Polonium"   "Rubidium"   "Samarium"   "Scandium"   "Selenium"   "Tantalum"   "Thallium"   "Titanium"   "Tungsten"   "Vanadium"   "Americium"  "Berkelium"  "Beryllium"  "Flerovium"  "Germanium"  "Lanthanum"  "Magnesium"  "Manganese"  "Moscovium"  "Neodymium"  "Neptunium"  "Oganesson"  "Palladium"  "Plutonium"  "Potassium"  "Ruthenium"  "Strontium"  "Tellurium"  "Ytterbium"  "Zirconium"  "Dysprosium" "Gadolinium" "Lawrencium" "Meitnerium" "Molybdenum" "Phosphorus" "Promethium" "Seaborgium" "Technetium" "Tennessine" "Californium""Copernicium""Einsteinium""Livermorium""Mendelevium""Roentgenium"]L's+"Xenon"?
```
[Try it online!](http://cjam.tryitonline.net/#code=J0M6TCJhcmJvbiIgIEwnaCs6TDsiR29sZCJMJ3UrOkw7Iklyb24iTCdjKzpMOyJMZWFkIkwnays6TDsiTmVvbiJMUys6TDsiQXJnb24iTCdOKzpMImlja2VsIkwnbys6TDsiWmluYyIiQ29wcGUiTCdyKzpMIlNpbHZlIkwncis6TEwnaSs6TDsiVGluIiAiQm9yb24iICAgICAgIlJhZG9uIiAgICAgICJCYXJpdW0iICAgICAiQ2VyaXVtIiAgICAgIkNlc2l1bSIgICAgICJDb2JhbHQiICAgICAiQ3VyaXVtIiAgICAgIkVyYml1bSIgICAgICJIZWxpdW0iICAgICAiSW5kaXVtIiAgICAgIklvZGluZSIgICAgICJPc21pdW0iICAgICAiT3h5Z2VuIiAgICAgIlJhZGl1bSIgICAgICJTb2RpdW0iICAgICAiU3VsZnVyIiAgICAgIkFyc2VuaWMiICAgICJCaXNtdXRoIiAgICAiQm9ocml1bSIgICAgIkJyb21pbmUiICAgICJDYWRtaXVtIiAgICAiQ2FsY2l1bSIgICAgIkR1Ym5pdW0iICAgICJGZXJtaXVtIiAgICAiR2FsbGl1bSIgICAgIkhhZm5pdW0iICAgICJIYXNzaXVtIiAgICAiSG9sbWl1bSIgICAgIklyaWRpdW0iICAgICJLcnlwdG9uIiAgICAiTGl0aGl1bSIgICAgIk1lcmN1cnkiICAgICJOaW9iaXVtIiAgICAiUmhlbml1bSIgICAgIlJob2RpdW0iICAgICJTaWxpY29uIiAgICAiVGVyYml1bSIgICAgIlRob3JpdW0iICAgICJUaHVsaXVtIiAgICAiVXJhbml1bSIgICAgIll0dHJpdW0iICAgICJBY3Rpbml1bSIgICAiQWx1bWludW0iICAgIkFudGltb255IiAgICJBc3RhdGluZSIgICAiQ2hsb3JpbmUiICAgIkNocm9taXVtIiAgICJFdXJvcGl1bSIgICAiRmx1b3JpbmUiICAgIkZyYW5jaXVtIiAgICJIeWRyb2dlbiIgICAiTHV0ZXRpdW0iICAgIk5paG9uaXVtIiAgICJOaXRyb2dlbiIgICAiTm9iZWxpdW0iICAgIlBsYXRpbnVtIiAgICJQb2xvbml1bSIgICAiUnViaWRpdW0iICAgIlNhbWFyaXVtIiAgICJTY2FuZGl1bSIgICAiU2VsZW5pdW0iICAgIlRhbnRhbHVtIiAgICJUaGFsbGl1bSIgICAiVGl0YW5pdW0iICAgIlR1bmdzdGVuIiAgICJWYW5hZGl1bSIgICAiQW1lcmljaXVtIiAgIkJlcmtlbGl1bSIgICJCZXJ5bGxpdW0iICAiRmxlcm92aXVtIiAgIkdlcm1hbml1bSIgICJMYW50aGFudW0iICAiTWFnbmVzaXVtIiAgIk1hbmdhbmVzZSIgICJNb3Njb3ZpdW0iICAiTmVvZHltaXVtIiAgIk5lcHR1bml1bSIgICJPZ2FuZXNzb24iICAiUGFsbGFkaXVtIiAgIlBsdXRvbml1bSIgICJQb3Rhc3NpdW0iICAiUnV0aGVuaXVtIiAgIlN0cm9udGl1bSIgICJUZWxsdXJpdW0iICAiWXR0ZXJiaXVtIiAgIlppcmNvbml1bSIgICJEeXNwcm9zaXVtIiAiR2Fkb2xpbml1bSIgIkxhd3JlbmNpdW0iICJNZWl0bmVyaXVtIiAiTW9seWJkZW51bSIgIlBob3NwaG9ydXMiICJQcm9tZXRoaXVtIiAiU2VhYm9yZ2l1bSIgIlRlY2huZXRpdW0iICJUZW5uZXNzaW5lIiAiQ2FsaWZvcm5pdW0iIkNvcGVybmljaXVtIiJFaW5zdGVpbml1bSIiTGl2ZXJtb3JpdW0iIk1lbmRlbGV2aXVtIiJSb2VudGdlbml1bSJdTCdzKyJYZW5vbiI_&input=)
Each program is 13 bytes long. Here they are split up into individual lines:
```
'C:L"arbon"  
L'h+:L;"Gold"
L'u+:L;"Iron"
L'c+:L;"Lead"
L'k+:L;"Neon"
LS+:L;"Argon"
L'N+:L"ickel"
L'o+:L;"Zinc"
"Coppe"L'r+:L
"Silve"L'r+:L
L'i+:L;"Tin" 
"Boron"      
"Radon"      
"Barium"     
"Cerium"     
"Cesium"     
"Cobalt"     
"Curium"     
"Erbium"     
"Helium"     
"Indium"     
"Iodine"     
"Osmium"     
"Oxygen"     
"Radium"     
"Sodium"     
"Sulfur"     
"Arsenic"    
"Bismuth"    
"Bohrium"    
"Bromine"    
"Cadmium"    
"Calcium"    
"Dubnium"    
"Fermium"    
"Gallium"    
"Hafnium"    
"Hassium"    
"Holmium"    
"Iridium"    
"Krypton"    
"Lithium"    
"Mercury"    
"Niobium"    
"Rhenium"    
"Rhodium"    
"Silicon"    
"Terbium"    
"Thorium"    
"Thulium"    
"Uranium"    
"Yttrium"    
"Actinium"   
"Aluminum"   
"Antimony"   
"Astatine"   
"Chlorine"   
"Chromium"   
"Europium"   
"Fluorine"   
"Francium"   
"Hydrogen"   
"Lutetium"   
"Nihonium"   
"Nitrogen"   
"Nobelium"   
"Platinum"   
"Polonium"   
"Rubidium"   
"Samarium"   
"Scandium"   
"Selenium"   
"Tantalum"   
"Thallium"   
"Titanium"   
"Tungsten"   
"Vanadium"   
"Americium"  
"Berkelium"  
"Beryllium"  
"Flerovium"  
"Germanium"  
"Lanthanum"  
"Magnesium"  
"Manganese"  
"Moscovium"  
"Neodymium"  
"Neptunium"  
"Oganesson"  
"Palladium"  
"Plutonium"  
"Potassium"  
"Ruthenium"  
"Strontium"  
"Tellurium"  
"Ytterbium"  
"Zirconium"  
"Dysprosium" 
"Gadolinium" 
"Lawrencium" 
"Meitnerium" 
"Molybdenum" 
"Phosphorus" 
"Promethium" 
"Seaborgium" 
"Technetium" 
"Tennessine" 
"Californium"
"Copernicium"
"Einsteinium"
"Livermorium"
"Mendelevium"
"Roentgenium"
]L's+"Xenon"?
```
The missing elements are Darmstadtium, Praseodymium, Protactinium and Rutherfordium which are 12 or 13 characters long which means I can't print them in 13 characters each.
The idea is that the first few programs, which prints the elements with short names use their extraneous characters to build the string `Chuck Norri` in the variable `L`, which does not affect the output when used on their own. The final program then checks if anything is already on the stack, and uses it to choose between `L` (plus `s`) and `Xenon`.
A few additional bytes are saved by using the character we just added to `L` as part of the element name, specifically for `C`arbon, `N`ickel, Coppe`r` and Silve`r`.
[Answer]
# Python, L = 2596, N = 118, Score = 0.186
The length of each slice is **22** so that makes this pretty lengthy.
```
lambda:"Gold"; print"""";print "Carbon     "print   "Thorium     "print   "Curium      "print "Calcium       "print "Nickel        "print      "Zinc     "print    "Neon       "print "Boron         "print   "Iron        "print  "Cerium       "print "Barium        "print "Caesium       """[9::22];lambda:"Tin"[0];lambda:"Lead    "#print"Argon          "print"Radon          "print"Xenon          "print"Erbium         "print"Cobalt         "print"Copper         "print"Helium         "print"Indium         "print"Iodine         "print"Osmium         "print"Oxygen         "print"Radium         "print"Silver         "print"Sodium         "print"Sulfur         "print"Arsenic        "print"Bismuth        "print"Bohrium        "print"Bromine        "print"Cadmium        "print"Dubnium        "print"Fermium        "print"Gallium        "print"Hafnium        "print"Hassium        "print"Holmium        "print"Iridium        "print"Krypton        "print"Lithium        "print"Mercury        "print"Niobium        "print"Rhenium        "print"Rhodium        "print"Silicon        "print"Terbium        "print"Thulium        "print"Uranium        "print"Yttrium        "print"Actinium       "print"Antimony       "print"Astatine       "print"Chlorine       "print"Chromium       "print"Europium       "print"Fluorine       "print"Francium       "print"Hydrogen       "print"Lutetium       "print"Nitrogen       "print"Nobelium       "print"Platinum       "print"Polonium       "print"Rubidium       "print"Samarium       "print"Scandium       "print"Selenium       "print"Tantalum       "print"Thallium       "print"Titanium       "print"Tungsten       "print"Vanadium       "print"Nihonium       "print"Aluminium      "print"Americium      "print"Berkelium      "print"Beryllium      "print"Flerovium      "print"Germanium      "print"Lanthanum      "print"Magnesium      "print"Manganese      "print"Neodymium      "print"Neptunium      "print"Palladium      "print"Plutonium      "print"Potassium      "print"Ruthenium      "print"Strontium      "print"Tellurium      "print"Ytterbium      "print"Zirconium      "print"Moscovium      "print"Oganesson      "print"Dysprosium     "print"Gadolinium     "print"Lawrencium     "print"Meitnerium     "print"Molybdenum     "print"Phosphorus     "print"Promethium     "print"Seaborgium     "print"Technetium     "print"Tennessine     "print"Californium    "print"Copernicium    "print"Einsteinium    "print"Livermorium    "print"Mendelevium    "print"Roentgenium    "print"Darmstadtium   "print"Praseodymium   "print"Protactinium   "print"Rutherfordium  "
```
Here is the Salesman after the slicing and dicing:
```
lambda:"Gold"; print""  # <-- This is a function
"";print "Carbon     "
print   "Thorium     "
print   "Curium      "
print "Calcium       "
print "Nickel        "
print      "Zinc     "
print    "Neon       "
print "Boron         "
print   "Iron        "
print  "Cerium       "
print "Barium        "
print "Caesium       "
""[9::22];lambda:"Tin"  # <-- This is a function and the choke point
[0];lambda:"Lead    "#  # <-- This is a function
print"Argon          "
print"Radon          "
print"Xenon          "
print"Erbium         "
print"Cobalt         "
print"Copper         "
print"Helium         "
print"Indium         "
print"Iodine         "
print"Osmium         "
print"Oxygen         "
print"Radium         "
print"Silver         "
print"Sodium         "
print"Sulfur         "
print"Arsenic        "
print"Bismuth        "
print"Bohrium        "
print"Bromine        "
print"Cadmium        "
print"Dubnium        "
print"Fermium        "
print"Gallium        "
print"Hafnium        "
print"Hassium        "
print"Holmium        "
print"Iridium        "
print"Krypton        "
print"Lithium        "
print"Mercury        "
print"Niobium        "
print"Rhenium        "
print"Rhodium        "
print"Silicon        "
print"Terbium        "
print"Thulium        "
print"Uranium        "
print"Yttrium        "
print"Actinium       "
print"Antimony       "
print"Astatine       "
print"Chlorine       "
print"Chromium       "
print"Europium       "
print"Fluorine       "
print"Francium       "
print"Hydrogen       "
print"Lutetium       "
print"Nitrogen       "
print"Nobelium       "
print"Platinum       "
print"Polonium       "
print"Rubidium       "
print"Samarium       "
print"Scandium       "
print"Selenium       "
print"Tantalum       "
print"Thallium       "
print"Titanium       "
print"Tungsten       "
print"Vanadium       "
print"Nihonium       "
print"Aluminium      "
print"Americium      "
print"Berkelium      "
print"Beryllium      "
print"Flerovium      "
print"Germanium      "
print"Lanthanum      "
print"Magnesium      "
print"Manganese      "
print"Neodymium      "
print"Neptunium      "
print"Palladium      "
print"Plutonium      "
print"Potassium      "
print"Ruthenium      "
print"Strontium      "
print"Tellurium      "
print"Ytterbium      "
print"Zirconium      "
print"Moscovium      "
print"Oganesson      "
print"Dysprosium     "
print"Gadolinium     "
print"Lawrencium     "
print"Meitnerium     "
print"Molybdenum     "
print"Phosphorus     "
print"Promethium     "
print"Seaborgium     "
print"Technetium     "
print"Tennessine     "
print"Californium    "
print"Copernicium    "
print"Einsteinium    "
print"Livermorium    "
print"Mendelevium    "
print"Roentgenium    "
print"Darmstadtium   "
print"Praseodymium   "
print"Protactinium   "
print"Rutherfordium  "
```
---
[![enter image description here](https://i.stack.imgur.com/E73ik.gif)](https://i.stack.imgur.com/E73ik.gif)
---
**Update**
* [16-09-08] Sublime added an extra space when joining to a line that ends in a comment character
* [16-09-08] Made each slice **22** characters long and added gif
]