#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
typedef struct node
{
	int nval;
	struct node* next;
}node;
node* creat(int x)
{
	node* head = (node*)malloc(sizeof(node));
	assert(head);
	head->next = NULL;
	head->nval = 0;
	node* p = head;
	for (int i = 0; i < x; i++)
	{
		int n;
		scanf("%d", &n);
		node* newNode = (node*)malloc(sizeof(node));
		assert(newNode);
		newNode->nval = n;
		newNode->next = NULL;
		p->next = newNode;
		p = p->next;
	}
	return head->next;
}
void deletenode(node* p, int val)
{
	node* p1 = p;
	node* p2 = p;
	p2 = p2->next;
	while (p2 != NULL)
	{
		if (p2->nval == val)
		{
			p1->next = p2->next;
			p2->next = NULL;
			p2 = p1->next;
		}
		else
		{
			p1 = p1->next;
			p2 = p1->next;
		}
	}
}
int main()
{
	int m, n;
	scanf("%d %d", &m, &n);
	node* head1 = creat(m);
	deletenode(head1, n);
	node* head2 = head1;
	while (head2 != NULL)
	{
		printf("%d ", head2->nval);
		head2 = head2->next;
	}
	return 0;
}