#include #include #include #include #include #include #include #include #include #include #include #include #include #include // std::stringstream #include #include using namespace atcoder; using mint = modint998244353; //using mint = modint1000000007; using namespace std; using ll = long long; static const double pi = 3.141592653589793; const int INF = (1 << 29); const ll mod = 998244353; // ifstream ifs(""); ファイルはワークスペースのトップにおく map mp; ll h,a; ll search(ll h){ if(mp.find(h)!=mp.end()) return mp[h]; if(h == 1) return 1; else if(h==0) return 1; mp[h] = 1+search(h/a) + search(h/a); return mp[h]; } int main() { cin >> h >> a; mp[0] = 0; mp[1] = 1; ll ans = search(h); cout << ans << endl; }