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;
struct pa {
  int a, b;
} rem[100005];
long long n, m, k, tot, x, s, t;
long long ans;
int main() {
  cin >> n >> k >> m;
  ans = n * m;
  for (int i = 1; i <= n; i++) {
    cin >> x;
    if (x != rem[tot].a)
      rem[++tot].a = x, rem[tot].b = 1;
    else
      rem[tot].b++;
    if (rem[tot].b == k) tot--, ans -= k;
  }
  if (m == 1) {
    cout << ans;
    return 0;
  }
  s = 1, t = tot;
  while (s < t) {
    if (rem[s].a != rem[t].a) {
      cout << ans;
      return 0;
    }
    if (rem[s].b + rem[t].b < k) {
      cout << ans;
      return 0;
    }
    if (rem[s].b + rem[t].b >= k) ans -= (m - 1) * k;
    if (rem[s].b + rem[t].b > k) {
      cout << ans;
      return 0;
    }
    s++, t--;
  }
  if (s == t) {
    long long tmp = m * rem[t].b % k;
    cout << tmp;
    return 0;
  }
  cout << ans;
}
