竹内関数/たらい関数
sub tarai { my ( x, y, z ) = @_; x > y or return y; return &tarai( &tarai(x-1, y, z), &tarai(y-1, z, x), &tarai(z-1, x, y) ) }
sub tarai { my ( x, y, z ) = @_; x > y or return y; return &tarai( &tarai(x-1, y, z), &tarai(y-1, z, x), &tarai(z-1, x, y) ) }