By @konfou
(AMKA validation available at
val-amka.konfou.repl.co)