#include <bits/stdc++.h>
using namespace std;
long long INF = 998244353;
long long MOD = 998244353;
long long power(long long a, long long b) {
  if (b == 0) {
    return 1;
  }
  if (b == 1) {
    return a;
  }
  long long ans = power(a, b / 2);
  ans *= ans;
  ans %= INF;
  if (b % 2) {
    ans *= a;
  }
  ans %= INF;
  return ans;
}
struct Num {
  long long val;
  long long mod = 998244353;
  long long power(long long b) {
    if (b == 0) {
      return 1;
    }
    if (b == 1) {
      return val;
    }
    long long ans = power(b / 2);
    ans *= ans;
    ans %= mod;
    if (b % 2) {
      ans *= val;
      ans %= mod;
    }
    return ans;
  }
  long long inverse(void) {
    val %= mod;
    return power(mod - 2);
  }
};
struct Binomial {
  long long N, mod = 998244353;
  vector<long long> fact, rfact;
  void build(int n) {
    N = n + 5;
    fact.push_back(1);
    fact.push_back(1);
    rfact.push_back(1);
    rfact.push_back(1);
    for (long long i = 2; i < N; i++) {
      fact.push_back((fact[i - 1] * 1LL * i) % mod);
      Num a;
      a.mod = mod;
      a.val = fact[i];
      rfact.push_back(a.inverse());
    }
  }
  long long ana(long long n, long long k) {
    if (k > n) {
      return 0;
    }
    long long ans = fact[n];
    ans *= rfact[k];
    ans %= mod;
    ans *= rfact[n - k];
    return ans % mod;
  }
};
int main(void) {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  long long n, k;
  cin >> n >> k;
  long long posoi = 0;
  Binomial b;
  b.build(2005);
  vector<long long> arr;
  for (long long i = 0; i < n; i++) {
    long long a;
    cin >> a;
    arr.push_back(a);
  }
  vector<long long> neo;
  neo.push_back(arr[0]);
  for (long long i = 1; i < n; i++) {
    if (neo.back() != arr[i]) {
      neo.push_back(arr[i]);
    }
  }
  while (!neo.empty() && neo[0] == neo.back()) {
    neo.pop_back();
  }
  posoi = n - neo.size();
  arr = neo;
  long long num = power(k, posoi);
  long long ans = 0;
  n = arr.size();
  for (long long i = 0; i < n + 1; i++) {
    for (long long j = i + 1; j < n + 1; j++) {
      ans += (((num * b.ana(n, i)) % MOD) *
              ((b.ana(n - i, j) * power(k - 2, n - i - j)) % MOD)) %
             MOD;
      ans %= MOD;
    }
  }
  cout << ans << "\n";
}
