Updated with HashMap details.
Re-designed logic and implementation, relying on HashMap now.
Minified version.
New versions.