#include <bits/stdc++.h>
using namespace std;
int arr[111];
int aux[111];
int main() {
  int n, k, x;
  scanf("%d %d", &n, &k);
  scanf("%d", &x);
  for (int i = (0), __ = (n); i < __; ++i) scanf("%d", &arr[i]);
  int mx = 0;
  for (int i = (1), __ = (n - 1); i < __; ++i) {
    for (int j = (0), __ = (i); j < __; ++j) aux[j] = arr[j];
    aux[i] = x;
    for (int j = (i + 1), __ = (n + 1); j < __; ++j) aux[j] = arr[j - 1];
    stack<pair<int, int> > s;
    int ans = 0;
    for (int j = (0), __ = (n + 1); j < __; ++j) {
      int at = j;
      int cnt = 0;
      while (at < n + 1 && aux[j] == aux[at]) {
        at++;
        cnt++;
      }
      if (cnt >= 3) {
        while (!s.empty() && s.top().first == aux[j]) {
          ans += s.top().second;
          s.pop();
        };
        ans += cnt;
      } else if (cnt == 2) {
        if (!s.empty() && s.top().first == aux[j]) {
          ans += s.top().second;
          s.pop();
          ans += cnt;
        } else
          s.push(pair<int, int>(aux[j], cnt));
      } else {
        if (!s.empty() && s.top().first == aux[j]) {
          if (s.top().second == 2) {
            ans += s.top().second;
            s.pop();
            ans += cnt;
          } else {
            s.pop();
            s.push(pair<int, int>(aux[j], 2));
          }
        } else
          s.push(pair<int, int>(aux[j], 1));
      }
      j = at - 1;
    }
    mx = max(ans, mx);
  }
  printf("%d\n", max(mx - 1, 0));
  return 0;
}
