#include <algorithm>
#include <cmath>
#include <vector>
#include <functional>
#include <cstdlib>
#include <map>
#include <set>
#include <ctype.h>
#include <climits>
#include <queue>
#include <iostream>
#include <string>
#define rep(i,n) for (int i = 0; i < (int)(n); i++)
// #define rep(i, a, b) for(ll i = a; i < b; i++)
using namespace std;
typedef long long ll;
const long long INF = 1001001001;
const ll mod = 1e9 + 7; //10^9+7

// template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
// template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }

//using ll = long long;
//using P = pair<int,int>;
//const int INF = 1001001001;
//小数 printf("%.10f\n", ans);
//string s; int n = stoi(s); 
//int number; string s = to_string(number);
//string s; printf("%s\n", s.c_str);
//シフト演算子(190)  2^n : 1<<n
//sのi桁目を取る(190) : (s>>i)&1
//if文にint型を入れたとき,0のときfalse,それ以外はtrue
//set<ll> s; 重複しない、順番を昇順にしてくれる

// UnionFind
//子: 親の番号（非負）, 親: -(サイズ)（負）
struct UnionFind {
  vector<int> d; //配列
  UnionFind(int n=0): d(n,-1) {} //コンストラクタ,頂点数,最初は全て-1(根)であり、かつサイズは-1
  int find(int x) {
    if (d[x] < 0) return x; //頂点番号がマイナス、つまり根ならその頂点番号を返す
    return d[x] = find(d[x]); //マイナスでないなら、その親についてfindを投げる. メモ化して経路縮約
  }
  bool unite(int x, int y) { //2つ頂点を持ってくる
    x = find(x); y = find(y); //両方根に変換する. 根同士をくっつける.
    if (x == y) return false; //連結成分が一致しているとき,何もすることはない. 連結失敗のfalse
    if (d[x] > d[y]) swap(x,y); //d[]そのものの値はマイナスなので不等号の向きに注意.　本来はif(-d[x] < -d[y]). これにより,大きい方xに小さい方yをくっつけることができる. swapは入れ替え
    d[x] += d[y]; //連結成分のサイズも管理しているのでサイズを合算する
    d[y] = x; //両方根だったがyの親をxにはりかえる.
    return true;
  }
  bool same(int x, int y) { return find(x) == find(y);} //同じ集合に蔵しているかどうか。
  int size(int x) { return -d[find(x)];} //サイズ. 根のマイナスをとったものとなる.
};


int main () {
  ll n;
  ll x;
  cin >> n >> x;
  vector<ll> a(n);
  rep(i,n) cin >> a[i];
  int count = 0;
  vector<ll> b(n);
  rep(i,n) {
    if(a[i] == x) continue;
    b[count] = a[i];
    count++;
  }
  rep(i,n) {
    if(b[i] == 0) break;
    cout << b.at(i);
    cout << " ";
  }
  cout << "" << endl;
  return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,k;
	cin>>n>>k;
	for(int i=0;i<n;i++)
	{
		int tt;
		cin>>tt;
		if(tt!=k)
		{
			cout<<tt<<" ";
		}
	}
}
