/*
#include <stdio.h>
int stack[500];
int top=-1; //top : 맨 위 데이터의 위치
void push(int data)
{
top++;
stack[top]=data;
}
int pop()
{
return stack[top--];
}
int main()
{
char a[1000];
scanf("%s",a);
for(int i=0;a[i]!=NULL;i++)
{
push(a[i]-'0');
}
while(top!=-1)
{
printf("%d", stack[top]);
top--;
}
return 0;
}
*
#include <stdio.h>
char stack[500];
int top=-1;
void push(char data)
{
top++;
stack[top]=data;
}
char pop()
{
return stack[top--];
}
int main()
{
int n;
char a[300];
scanf("%d", &n);
scanf("%s", a);
for(int i=n-1,cnt=0;i>=0;i--,cnt++)
{
push(a[i]);
if((cnt+1)%3==0&& i!=0)
{
push(',');
}
}
while(top!=-1)
{
printf("%c", stack[top]);
top--;
}
}
*/
#include <stdio.h>
int stack[1000001]= {};
int top=-1;
void push(int data)
{
top++;
stack[top]=data;
}
int pop()
{
if(top!=-1) return stack[top--];
}
int main()
{
int i, n, k, sum=0;
scanf("%d", &n);
for(i=0; i<n; i++)
{
scanf("%d", &k);
if(k==0)
{
pop();
}
else
{
push(k);
}
}
while(top!=-1)
{
sum+=stack[top--];
}
printf("%d", sum);
}



