#include <bits/stdc++.h>
using namespace std;
long long totient(long long n) {
  long long ans = n;
  for (long long i = 2; i * i <= n; i++) {
    if (n % i) continue;
    ans /= i;
    ans *= (i - 1);
    while (n % i == 0) {
      n /= i;
    }
  }
  if (n > 1) {
    ans /= n;
    ans *= (n - 1);
  }
  return ans;
}
int main() {
  long long n, k, i, j;
  cin >> n >> k;
  long long ans;
  for (i = 1; i <= (k + 1) / 2; i++) {
    n = totient(n);
    if (n == 1) break;
  }
  cout << n % 1000000007 << endl;
}
