#!/usr/bin/perl -wuse strict;use v5.10;my @pairs;sub addpairs { my ($m, $n) = @_; return if 0 == $m && 1 == $n; say "$m, $n"; push @pairs, [$m, $n];}addpairs 1, 2;while (@pairs) { my $pair = shift @pairs; my ($m, $n) = @$pair; addpairs 2 * $m - $n, $m; addpairs 2 * $m + $n, $m; addpairs $m + 2 * $n, $n;}