#include <bits/stdc++.h>
using namespace std;
const int N = 203600;
map<int, int> mp;
int k, b, n;
int a[N];
long long T(long long first) { return first * (first + 1) / 2; }
int main() {
  while (cin >> k >> b >> n) {
    for (int i = (0); i < (int)(n); i++) cin >> a[i];
    long long ans = 0LL;
    long long zero = 0LL;
    for (int i = (0); i < (int)(n); i++) {
      if (a[i] == 0) {
        int c = 0;
        while (i + c < n && a[i + c] == 0) ++c;
        zero += T(c);
        i += c - 1;
      }
    }
    if (b == 0) {
      ans = zero;
    } else {
      if (b == k - 1) ans = -zero;
      mp.clear();
      mp[0] = 1;
      int s = 0;
      for (int i = (0); i < (int)(n); i++) {
        s = (s + a[i]) % (k - 1);
        int t = (s - b + k - 1) % (k - 1);
        if (mp.find(t) != mp.end()) {
          ans += mp[t];
        }
        mp[s]++;
      }
    }
    cout << ans << endl;
  }
  return 0;
}
