#include <bits/stdc++.h>
using namespace std;
const int MOD = 998244353;
const long long INF = 1e18;
const int OFF = (1 << 20);
int n, k;
int a[2002];
long long dp[2002][4002];
long long rek(int x, int y) {
  if (x == n) {
    if (y > n) return 1;
    return 0;
  }
  long long &ret = dp[x][y];
  if (ret != -1) return ret;
  ret = 0;
  if (x == n - 1) {
    if (a[x] == a[0])
      ret = k * rek(x + 1, y);
    else {
      ret += rek(x + 1, y - 1);
      ret %= MOD;
      ret += rek(x + 1, y + 1);
      ret %= MOD;
      ret += (k - 2) * rek(x + 1, y);
    }
  } else {
    if (a[x] == a[x + 1])
      ret = k * rek(x + 1, y);
    else {
      ret += rek(x + 1, y - 1);
      ret %= MOD;
      ret += rek(x + 1, y + 1);
      ret %= MOD;
      ret += (k - 2) * rek(x + 1, y);
    }
  }
  ret %= MOD;
  return ret;
}
int main() {
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> a[i];
  memset(dp, -1, sizeof dp);
  cout << rek(0, n);
  return 0;
}
