#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
long long n, k;
long long getphi(long long n) {
  long long res = n;
  for (long long i = 2; i * i <= n; i++)
    if (n % i == 0) {
      while (n % i == 0) n /= i;
      res = res / i * (i - 1);
    }
  if (n > 1) {
    res = res / n * (n - 1);
  }
  return res;
}
int main() {
  scanf("%lld %lld", &n, &k);
  k = (k + 1) / 2;
  while (n > 1 && k) {
    n = getphi(n);
    k--;
  }
  printf("%lld", n % mod);
  return 0;
}
