func ack() { n = n+1 if($1 == 0) return ($2+1) if($2 == 0) return (ack($1 - 1, 1)) return (ack($1 - 1, ack($1, $2 - 1))) } n=0 while (read(x)) { read(y) print "x=", x, " y=", y, " ack(x,y)=", ack(x,y), "\n" print "number of calls to ack()=", n,"\n" n = 0 }