#include<stdlib.h>
#include<stdio.h>
typedef struct Stack {
char date;
struct Stack* next;
}Stack;
void push(Stack* stacktop, char e) {
Stack* s = (Stack*)malloc(sizeof(Stack));
s->date = e;
s->next = stacktop->next;
stacktop->next = s;
}
void pop(Stack* stacktop) {
Stack* p = stacktop->next;
stacktop->next = p->next;
free(p);
}
int main() {
Stack stacktop;
stacktop.date = ' ';
stacktop.next = NULL;
char c = ' ';
scanf("%c", &c);
while ('\n' != c) {
push(&stacktop, c);
scanf("%c", &c);
}
Stack out;
out.next = NULL;
while (stacktop.next != NULL) {
if (out.next == NULL) {
push(&out, stacktop.next->date);
pop(&stacktop);
}
if (stacktop.next == NULL) {
break;
}
char date = stacktop.next->date;
if (date != out.next->date) {
push(&out, date);
pop(&stacktop);
}
else {
pop(&stacktop);
pop(&out);
}
}
if (out.next == NULL) {
printf("0");
}
else {
while (out.next != NULL) {
printf("%c", out.next->date);
pop(&out);
}
}
return 0;
}