#!/usr/bin/perl
use 5.016;
use warnings;

sub gcd { $_[1] ? gcd($_[1], $_[0] % $_[1]) : $_[0] }

sub step { map{ [$_[0] * $_ / $_[2], $_[1] * $_ / $_[2]] } (0 .. $_[2]) }

sub f { step($_[0], $_[1], gcd(abs $_[0], abs $_[1])) }

say join("\n", map{ "@{$_}" } f(54, 66));
