# modexp ( base, exp, n ) = base**exp mod n sub modexp { my ($base, $exp, $n) = @_; die "Negative exponent" if $exp<0; my $res = 1; while ($exp>0) { $res = ( $res * $base ) % $n; $exp--; } return $res; }