#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  ;
  long long int p, k, i, M = 1000000007, nm, ans = 1, var = 1;
  cin >> p >> k;
  if (k == 0) {
    for (i = 1; i < p; i++) {
      ans *= p;
      ans %= M;
    }
    cout << ans;
  } else if (k == 1) {
    for (i = 1; i < p; i++) {
      ans *= p;
      ans %= M;
    }
    ans *= p;
    ans %= M;
    cout << ans;
  } else {
    for (i = 1;; i++) {
      var *= k;
      var %= p;
      if (var == 1) break;
    }
    nm = (p - 1) / i;
    for (i = 0; i < nm; i++) {
      ans *= p;
      ans %= M;
    }
    cout << ans;
  }
  return 0;
}
