#include <cmath>
#include <iostream>
#include <map>
using namespace std;
int discrete_log (int a, int v, int m) {
    int phi_m = m - 1;
    int lim = int (sqrt (phi_m)) + 1;
    map <int, int> power;
    int a_lim = 1;
    for (int i = 0; i < lim; i++) {
        power[a_lim] = i;
        a_lim = (a_lim * 1LL * a) % m;
    }
    for (int i = 0; i < lim; i++) {
        if (power.count (v))
            return (power[v] - i * lim + phi_m) % phi_m;
        v = (v * 1LL * a_lim) % m;
    }
    return -1;
}
int main () {
    int a, v, m;
    while (cin >> a >> v >> m)
        cout << discrete_log (a, v, m) << endl;
    return 0;
}
