sub A { my ($m, $n) = @_; return 0 if $n == 0; return 2*$n if $n > 0 and $m == 0; return 2 if $n == 1 and $m > 0; A($m-1, A($m, $n-1)); } print A ($ARGV[0], $ARGV[1]), "\n";