#include <stdio.h>
#include<string.h>
struct Stack
{
char str[300000];
int top;
};
typedef struct Stack* Pstack;
Pstack inistack(void)
{
Pstack s = (struct Stack *)malloc(sizeof(struct Stack));
s->top = -1;
return s;
}
void push(Pstack s, char x)
{
s->str[s->top + 1] = x;
s->top++;
}
char pop(Pstack s)
{
char ans;
ans = s->str[s->top];
s->top--;
return ans;
}
int main(void)
{
int i, j, m;
Pstack S;
char str1[300000];
char out;
scanf("%s",str1);
S = inistack();
push(S,str1[0]);
m = 1;
for(i = m; i < strlen(str1);i++)
{
if(S->top == -1)
push(S,str1[i]);
else
{
if(str1[i] == S->str[S->top])
{
push(S,str1[i]);
out = pop(S);
out = pop(S);
m = i+1;
}
else
{
push(S,str1[i]);
}
}
}
if(S->top == -1)
printf("%d",0);
for(j = 0; j <= S->top;j++)
{
printf("%c",S->str[j]);
}
return 0;
}