#include <bits/stdc++.h>
const double EPS = 1e-6;
using namespace std;
long long a[1000000];
int k, b, n;
int p[1000000];
long long ans;
map<int, int> num;
map<int, int> num2;
long long sum[1000000];
int f(long long i, int k) {
  return (i) % (k - 1);
  if (i < k) return i;
  int sum = 0;
  while (i) {
    sum += (i % k);
    i /= k;
  }
  return f(sum, k);
}
int main() {
  cin >> k >> b >> n;
  for (int i = 0; i < n; i++) {
    scanf("%d ", &a[i]);
  }
  sum[0] = a[0];
  for (int i = 1; i < n; i++) {
    sum[i] = sum[i - 1] + a[i];
  }
  for (int i = 0; i < n; i++) {
    p[i] = f(sum[i], k);
  }
  num[0]++;
  num2[0]++;
  for (int i = 0; i < n; i++) {
    if (b == 0) {
      ans += num[sum[i]];
      num[sum[i]]++;
      continue;
    }
    if (b == k - 1) {
      ans -= num2[sum[i]];
      num2[sum[i]]++;
    }
    int x = p[i] - b;
    if (x < 0) x += k - 1;
    ans += num[x];
    num[p[i]]++;
  }
  cout << ans;
  return 0;
}
