#include <bits/stdc++.h>
using namespace std;
long long res, d, e, k;
int N;
int h[2020];
long long dp[2020][2020];
long long pw(long long a, long long n) {
  long long ret = 1;
  while (n) {
    if (n % 2) ret *= a, ret %= 998244353;
    a *= a, a %= 998244353;
    n >>= 1;
  }
  return ret;
}
long long C(long long n, long long r) {
  if (r == 0 || r == n) return 1;
  if (dp[n][r]) return dp[n][r];
  return dp[n][r] = (C(n - 1, r - 1) + C(n - 1, r)) % 998244353;
}
int main() {
  scanf("%d %d", &N, &k);
  if (k == 1) return !printf("0");
  for (int i = 0; i < N; i++) scanf("%d", &h[i]);
  for (int i = 0; i < N; i++) {
    if (h[i] == h[(i + 1) % N])
      e++;
    else
      d++;
  }
  for (long long s = 0; s < d; s++) {
    long long mul = 1;
    mul *= pw(k - 2, s);
    mul %= 998244353;
    mul *= C(d, s);
    mul %= 998244353;
    long long sum = 0;
    for (long long m = 0; m <= (d - s - 1) / 2; m++) {
      sum += C(d - s, m);
      sum %= 998244353;
    }
    mul *= sum;
    mul %= 998244353;
    res += mul;
    res %= 998244353;
  }
  res *= pw(k, e);
  res %= 998244353;
  printf("%lld", res);
  return 0;
}
