#ifndef ONLINE_JUDGE #define _GLIBCXX_DEBUG #endif #include #include using namespace std; using ll=long long; using ld=long double; using st=string; using P=pair; typedef atcoder::modint mint; ll inf=9e18; template constexpr auto max(T... a){return max(initializer_list>{a...});} template constexpr auto min(T... a){return min(initializer_list>{a...});} template auto vec(const ll (&sizes)[s], const T& init = T()){ if constexpr(i < s) return vector(sizes[i], vec(sizes, init)); else return init; } ll fsqrt(ll x){ ll i=sqrt(x); while (i*i>x) i--; while ((i+1)*(i+1)<=x) i++; return i; } ll sum_divisor(ll n){ ll ans=0; for(ll i=1;i<=fsqrt(n);i++){ if(n%i==0){ ans+=i; if(i*i!=n) ans+=n/i; ans%=100003; } } return ans; } int main(){ ll n,k; cin>>n>>k; k--; auto memo=vec({100003},0); deque v; while(v.size()!=k){ if(n<100003&&memo[n]!=0){ // cout<