2 of 3 added 235 characters in body

# Build a Mass Spectrometer!

## Challenge

Given the high resolution molecular mass of an organic molecule, output the molecule's molecular formula.

## Explanation

The input will be a single number to three decimal places of precision, the relative molecular mass of the molecule.

Here, the molecular mass is defined as the sum of the masses of the atoms in the compound. Since you only are finding the molecular formulae of organic compounds, the atomic masses you need to know are:

• C, Carbon: 12.011
• H, Hydrogen: 1.008
• O, Oxygen: 15.999
• N, Nitrogen: 14.007

Your formula should only ever contain carbon, hydrogen, oxygen or nitrogen.

When writing the formula, it should take the form:

CaHbOcNd


Where the elements must be in that order (C -> H -> O -> N, so C2O8N4H6 should be C2H6O8N4) and a, b, c and d are numbers of the preceding element in the molecule (i.e. C2 means that there are two carbon atoms in the molecule).

If a, b, c or d are zero, that element should not be included in the formula (e.g. C2H6O2N0 should be C2H6O2). Finally, if a, b, c or d are one, you should not include the number in the formula (e.g. C1H4 should be CH4).

The input will always be valid (i.e. there will be a molecule with that mass). If the input is ambiguous (multiple molecules have the same mass), you must only output one of the molecules. How you choose this molecule is up to you.

## Worked Example

Suppose the input is 180.156, there is only one combination of the elements which can have this molecular mass:

12.011*6 + 1.008*12 + 15.999*6 + 14.007*0 = 180.156


So there are:

• 6 Carbons
• 12 Hydrogens
• 6 Oxygens
• 0 Nitrogens

C6H12O6


## More Examples

### Ethene

Input:

28.054


Output:

C2H4


### Propanoic Acid

Input:

74.079


Output:

C3H6O2


### Glycine

Input:

75.067


Output:

C2H5O2N


### Water

Input:

18.015


Output:

H2O


## Winning

Shortest code in bytes wins.