sub gcd ($a, $b) { ($a, $b ... { $^x % $^y || () })[*-1] }