#include <bits/stdc++.h>
using namespace std;
queue<int> q;
map<int, long long> M;
int main() {
  long long n, k, a, b;
  cin >> n >> k >> a >> b;
  if (k == 1) {
    cout << 1ll * (n - 1) * a << endl;
    return 0;
  }
  long long ans = 0;
  while (n > 1) {
    if (n % k) {
      if (n < k) {
        ans += a * (n % k - 1);
        n -= n % k - 1;
      } else {
        ans += a * (n % k);
        n -= n % k;
      }
    } else if (n >= k) {
      long long temp = (n - n / k) * a;
      ans += min(temp, b);
      n /= k;
    }
  }
  cout << ans << endl;
}
