Chemical formula parser
Your task
Given a chemical formula as a string, return the count of each atom. An atom name starts with an uppercase letter followed by zero or more lowercase letters. A name or a parenthesized group may be followed by a multiplicity (an integer >= 2; absent means 1), e.g. Mg(OH)2. Groups may nest. Return a list of [name, count] pairs sorted alphabetically by name.
Examples
count_atoms(formula: str) -> list[list]Example 1
Input
count_atoms("H2O")Output
[["H", 2], ["O", 1]]