Chemical Analysis

Chemical Analysis

As the input you'll get a chemical formula and a number limit. Your task is to create a sequence of chemical elements, which are in the amount of >= limit in the formula.

Pay attention, that in some formulas brackets (), [] will be used. They have different meaning in chemistry, but from the point of calculating number of atoms they both work the same way - as ordinary parenthesis in mathematical expression. This article will help you to open the brackets and don't make mistakes while counting.

example

Input: Chemical formula as string (str) and the limit number of atoms as integer (int).

Output: List of certain chemical elements, sorted in the alphabetical order.

Examples:

assert atoms("C2H5OH", 2) == ["C", "H"]
assert atoms("H2O", 2) == ["H"]
assert atoms("Mg(OH)2", 1) == ["H", "Mg", "O"]
assert atoms("K4[ON(SO3)2]2", 4) == ["K", "O", "S"]

How it is used:
For chemical analysis.

Precondition:
1 <= different elements <= 10.