#include long long int dp[100005]; long long int f(long long int n) { long long int res = 0, i; for (i = 1; i * i < n; i++) if (n % i == 0) res += i + n / i; if (i * i == n) res += i; return res % 100003; } int main() { long long int n, k; scanf("%lld %lld", &n, &k); k--; if (k == 0) { printf("%lld\n", n); return 0; } long long int i, j; for (i = 0; i < 100003; i++) dp[i] = -1; n = f(n); k--; dp[n] = 0; for (i = n, j = f(i); dp[j] < 0; i = j, j = f(i)) dp[j] = dp[i] + 1; if (dp[j] > k) { for (; k > 0; k--, n = f(n)); printf("%lld\n", n); } else { k -= dp[j]; n = j; k %= dp[i] + 1 - dp[j]; for (; k > 0; k--, n = f(n)); printf("%lld\n", n); } return 0; }