#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;
}