#include using namespace std; vector prime; bool isprime[31625]; void eratos(void) { memset(isprime,true,sizeof(isprime)); for(int i=2;i<31625;i++) { if(isprime[i]) { prime.push_back(i); for(int j=2*i;j<31625;j+=i) { isprime[j]=false; } } } } int main(void) { cin.tie(0); ios::sync_with_stdio(false); long long int n,k,m; set S; vector > v; cin >> n >> k >> m; eratos(); long long int x = n; for(int j=0;j1) { v.push_back(make_pair(x,k)); } S.insert(1); for(int i=0;i temp; for(auto it : S) { long long int val = it; for(long long int j=0;j m) break; temp.push_back(val); } } for(auto it : temp) S.insert(it); } cout << S.size() << '\n'; return 0; }