//#include <stdio.h>
//#define SIZE 100000
//int stack[SIZE]={};
//int top=-1;
//void push(int data)
//{
// if(top==SIZE-1) return;
// stack[++top]=data;
//}
//int pop()
//{
// if(top==-1) return;
// stack[top--];
//}
//
//int main()
//{
// int n,i;
// int str[100]={};
// scanf("%d",str);
// for(i=n-1;i>=0;i--)
// {
// push(str[i]);
// if(i==0)
// {
// str[i-1]=0;
// }
// if(i==0&&(i+1)==0)
// {
// str[i-1]=0;
// str[i-2]=0;
// }
// }
// while(top!=-1)
// {
// printf("%d",pop());
// }
//}
//
//
//
/*
#include<stdio.h>
int main() {
int stack[10000] = {0}, top=0, i, n, k, s=0;
scanf("%d", &n);
for(i=0; i<n; i++) {
scanf("%d", &k);
if(k!=0) {
stack[top++] = k;
}
else {
top--;
stack[top] = 0;
}
}
for(i=0; i<top; i++) {
s += stack[i];
}
printf("%d", s);
}
*/
/*
#include <stdio.h>
//int d[100000]={};
int stack[200] = {0}, top=0;
int n,i,sum=0;
void f(int k)
{
if(k!=0)
{
stack[top++]= k;
}
else
{
top--;
stack[top]= 0;
}
}
void result() {
for(i=0;i<top;i++)
{
sum+=stack[i];
}
printf("%d", sum);
}
int main()
{
int i, k;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&k);
f(k);
}
result();
//printf("%d",f());
return 0;
}
*/
#include <stdio.h>
void f(int k)
{
if(k!=0)
{
stack[top++]= k;
}
else
{
top--;
stack[top]= 0;
}
}
int main()
{
char str[50000]={};
int n,i;
scanf("%s",str);
f(aaa);
return 0;
}