5 3
 1000 3
 777 17
 4 3
 2 2
 100 4
 10 4
 999 2
 6 4
 1 2
 17 3
 1 4
 26 8
 91 5
 1 3
 1000 2
 20 3
 9 4
 123 5
 1000 1000
 3 2
 3 3
 80 970
 1000 4
 1 1000

7
 1499
 825
 5
 3
 133
 13
 1997
 7
 1
 25
 1
 29
 113
 1
 1999
 29
 11
 153
 1001
 5
 4
 80
 1333
 1

#include <bits/stdc++.h>
using namespace std;
int naiveSoln(int nCandles, int combineCandles) {
  int result = 0;
  int burning = nCandles, waste = 0;
  while (burning) {
    result += burning;
    int totalWaste = burning + waste;
    burning = totalWaste / combineCandles;
    waste = totalWaste % combineCandles;
  }
  return result;
}
void test() {
  int nCandles[] = {4, 6, 1000, 123};
  int combineCandles[] = {2, 3, 1000, 5};
  int rightAns[] = {7, 8, 1001, 153};
  for (int i = 0; i < 4; i++) {
    int ourAns = naiveSoln(nCandles[i], combineCandles[i]);
    cout << ourAns << endl;
    cout << (ourAns == rightAns[i]) << endl;
  }
}
int main() {
  int nCandles, combineCandles;
  cin >> nCandles >> combineCandles;
  cout << naiveSoln(nCandles, combineCandles) << endl;
  return 0;
}
