// Sigue la potencia rápida, y cuenta productos contra el método de multiplicar e veces.
#include <iostream>

#include "power.h"

int main() {
    const long long b = 3;
    const long long m = 1000;
    std::cout << "e  3^e mod 1000  productos\n";
    for (long long e : {0, 1, 3, 6, 13}) {
        long long multiplications = 0;
        long long result = power_mod(b, e, m, &multiplications);
        std::cout << e << "  " << result << "  " << multiplications << '\n';
    }
    long long multiplications = 0;
    long long big = power_mod(2, 1000000000, 1000000007, &multiplications);
    std::cout << "2^1000000000 mod 1000000007 = " << big << " con " << multiplications << " productos\n";
}
