MOD = 100003 dp = [[0 for i in range(MOD)]] for i in range(1, MOD): l = [] for j in range(1, i + 1): if j * j > i: break if i % j: continue l.append(j) l.append(i // j) dp[0][i] = sum(set(l)) % MOD for i in range(60): dp.append([0 for i in range(MOD)]) for j in range(MOD): dp[i + 1][j] = dp[i][dp[i][j]] N, K = map(int, input().split()) if K == 1: print(N) else: K -= 2 l = [] for j in range(1, N + 1): if j * j > N: break if N % j: continue l.append(j) l.append(N // j) N = sum(set(l)) % MOD for i in range(60): if K & 1: N = dp[i][N] K >>= 1 print(N)