#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
long long sum[maxn];
long long ksm(long long a, long long b) {
  long long ans = 1;
  while (b) {
    if (b & 1) ans *= a;
    a *= a;
    b >>= 1;
  }
  return ans;
}
int main() {
  long long k, b, n, t, m;
  cin >> k >> b >> n >> t;
  if (k == 1) {
    long long temp = (n * b - t + b) / (b);
    if (temp <= 0) {
      printf("0\n");
      return 0;
    } else
      printf("%lld\n", temp);
    return 0;
  }
  sum[0] = 0;
  for (int j = 1;; j++) {
    for (int i = 0; i < j; i++) {
      sum[j] += (ksm(k, i) * b);
    }
    sum[j] += ksm(k, j);
    m = j;
    if (sum[j] >= 1000000) break;
  }
  int ans = 0, flag = 0;
  for (int i = 1; i <= m; i++) {
    if (t >= sum[i]) {
      ans++;
      flag = 1;
      if (ans == n) {
        flag = 2;
        break;
      }
    } else
      break;
  }
  if (!flag) {
    printf("%lld\n", n);
  } else if (flag == 2) {
    printf("0\n");
  } else
    printf("%lld\n", n - ans);
  return 0;
}
