Given a (decimal - e.g. 3.72) number that is passed in as a string, return the binary representation that is passed in as a string. If the fractional part of the number can not be represented accurately in binary with at most 32 characters, return ERROR.

Example

The Caveate

The problem itself is not difficult, but there are many corner cases to consider, such as 0.1, 1.0, 1 , etc., as well as the case where the fractal part cannot be represented by 32 bit integer.