10 5 1000000000
1 1 1 2 2 1 2 2 2 2
 5 3 3
1 2 2 1 1
 2 4 1
1 1
 1 1000000000 1000000000
100000
 5 3 2
1 1 2 1 1
 5 2 4
1 2 3 2 1
 1 10 10
1

10000000000
 0
 2
 0
 7
 0
 0

#include <bits/stdc++.h>
using namespace std;
int n, K, m, i, j, k, l;
int a[100001];
int b[100001][2], t;
long long ans;
void work(int x, int y) {
  long long s = b[x][1] + b[y][1];
  if (x == y) {
    s = 1ll * b[x][1] * m;
    if (!(s % K))
      ans = 0;
    else
      ans -= s - s % K;
    return;
  }
  if (x > y) return;
  if (b[x][0] != b[y][0]) return;
  ans -= 1ll * (s - s % K) * (m - 1);
  if (!(s % K)) work(x + 1, y - 1);
}
int main() {
  scanf("%d%d%d", &n, &K, &m);
  for (i = 1; i <= n; i++) scanf("%d", &a[i]);
  t = 0;
  for (i = 1; i <= n; i++) {
    if (!t || a[i] != b[t][0])
      ++t, b[t][0] = a[i], b[t][1] = 1;
    else
      ++b[t][1];
    if (b[t][1] == K) --t;
  }
  ans = 0;
  if (t) {
    for (i = 1; i <= t; i++) ans += b[i][1];
    ans *= m;
    work(1, t);
  }
  cout << ans << endl;
  fclose(stdin);
  fclose(stdout);
  return 0;
}
